Skip to content

Resolve skill repository versions over Git transport - #21

Closed
git-hulk wants to merge 1 commit into
skills-repo-identityfrom
skills-git-transport
Closed

Resolve skill repository versions over Git transport#21
git-hulk wants to merge 1 commit into
skills-repo-identityfrom
skills-git-transport

Conversation

@git-hulk

@git-hulk git-hulk commented Aug 31, 2026

Copy link
Copy Markdown
Owner

Add the Git transport layer of repository-versioned skill management:
querying refs and fetching snapshots through git instead of the GitHub
Releases, Tags, or Commits REST APIs, so the same code path supports
GitHub, GitHub Enterprise, and other Git hosts without REST quotas.

  • ResolveVersion locks a user-supplied spec to an immutable version:
    "latest" (or an omitted version) selects the highest stable SemVer
    tag via ls-remote, falling back to the default branch's full HEAD
    SHA when the repository has no stable SemVer tags; a branch or
    short commit resolves to the full commit SHA; a prerelease tag is
    selected only when named explicitly.

  • fetchSnapshot shallow-fetches one tag or commit into a directory
    and strips Git metadata, with a full-history fallback for hosts
    that refuse fetching by SHA.

  • Private repositories reuse whatever authentication Git already
    has (SSH agent, credential helpers, .netrc, insteadOf rules);
    prompts are disabled and stderr is credential-sanitized before it
    is attached to errors.

Integration tests run against local fixture repositories routed
through Git insteadOf rules, which also exercises the design's claim
that local Git configuration chooses the transport. Adds
golang.org/x/mod for SemVer comparison.

🤖 Generated with Claude Code

Add the Git transport layer of repository-versioned skill management:
querying refs and fetching snapshots through git instead of the GitHub
Releases, Tags, or Commits REST APIs, so the same code path supports
GitHub, GitHub Enterprise, and other Git hosts without REST quotas.

  - ResolveVersion locks a user-supplied spec to an immutable version:
    "latest" (or an omitted version) selects the highest stable SemVer
    tag via ls-remote, falling back to the default branch's full HEAD
    SHA when the repository has no stable SemVer tags; a branch or
    short commit resolves to the full commit SHA; a prerelease tag is
    selected only when named explicitly.

  - fetchSnapshot shallow-fetches one tag or commit into a directory
    and strips Git metadata, with a full-history fallback for hosts
    that refuse fetching by SHA.

  - Private repositories reuse whatever authentication Git already
    has (SSH agent, credential helpers, .netrc, insteadOf rules);
    prompts are disabled and stderr is credential-sanitized before it
    is attached to errors.

Integration tests run against local fixture repositories routed
through Git insteadOf rules, which also exercises the design's claim
that local Git configuration chooses the transport. Adds
golang.org/x/mod for SemVer comparison.

Assistant By Fable 5
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@git-hulk
git-hulk force-pushed the skills-git-transport branch from 5063e6f to 5c7618d Compare September 1, 2026 02:18
@git-hulk git-hulk closed this Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant