Skip to content

GitHub fetching and caching #4

Description

@jimmytacks

Part of #1

Description

Fetch LAMBDA libraries from GitHub repos at runtime and cache locally.

Deliverables

  • GitHubSource.cs — Fetch library contents from raw.githubusercontent.com. Discover libraries via GitHub API (GET /repos/{owner}/{repo}/contents/lambdas), fetch files via raw URLs
  • SourceCache.cs — Cache to %LOCALAPPDATA%\LambdaBoss\cache\{repo-hash}\. Serve from cache when available, invalidate on explicit refresh
  • RepoConfig.cs — Model for configured repo source (URL, enabled/disabled, last-fetched timestamp)

Fetching strategy

  1. Directory listing: GitHub API (/repos/{owner}/{repo}/contents/lambdas) — 1 request per repo
  2. Library metadata + LAMBDA files: raw.githubusercontent.com (no rate limit)

Tests

  • Unit tests for GitHubSource with mocked HTTP responses
  • Unit tests for SourceCache (write/read/invalidate)
  • AddIn test: configure this repo as a source, fetch and load a test library

Depends on

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions