Private registries
Use a private registry over SSH or HTTPS with the Git credentials developers already have.
GuidesOn this page
Skillcrew runs the system git and never stores credentials. Anything that works for git clone works for Skillcrew.
SSH
skillcrew init git@github.com:acme/skills.gitGit uses your SSH agent and keys.
HTTPS
Configure a credential helper once, then use an HTTPS URL or the host/owner/repo shorthand:
gh auth setup-git # GitHub
glab auth setup-git # GitLab
skillcrew init github.com/acme/skillsAny other credential helper works the same way, including on self-hosted Git servers and Azure DevOps.
Security
URLs with an embedded password (https://user:token@…) are refused, because the URL is stored in plain text in ~/.skillcrew/config.yaml. Use a credential helper instead.
When init cannot authenticate
If skillcrew init fails with could not read Username or Permission denied (publickey), Git has no credentials for the registry:
- Set up the SSH key or credential helper above.
- Check that
git clone <registry>works in a terminal. - Run
skillcrew initagain.
Background syncs never prompt
Hooks and the timer run non-interactively: Git never prompts for a password. A failed fetch keeps the last fetched registry, so skills keep working:
$ skillcrew sync
Using the last fetched registry (offline), at 7f396e1a9c2d:
! offline: using the last fetched registry (git ls-remote origin -- refs/heads/main: fatal: Could not read from remote repository. …)skillcrew doctor reports it under the fetch check. Run git -C ~/.skillcrew/registry.git fetch to see the full error, then fix your credentials or network.
Hooks never wait for the network: they start the sync in the background. After a failed fetch, background syncs skip the network for 10 minutes and use the last fetched registry, so session starts on a dead network do not pile up fetches.