Problem
When installing packages from private repositories, the shorthand syntax fails even when SSH is properly configured:
# ❌ fails for private repos — APM tries HTTPS even with SSH configured
apm install Azos-Seguros/my-private-repo/skills/my-skill
# Error: not accessible or doesn't exist
The only workaround today is to use the verbose object format in apm.yml:
dependencies:
apm:
- git: git@github.com:Azos-Seguros/my-private-repo.git
path: skills/my-skill
This works, but it's a much worse developer experience compared to the simple shorthand.
Expected behavior
APM should detect that the user has SSH configured for GitHub (via ~/.ssh/config or ssh-agent) and fall back to SSH when HTTPS authentication fails for the shorthand format:
# ✅ should work when SSH is configured
apm install Azos-Seguros/my-private-repo/skills/my-skill
Alternatively, a flag could help:
apm install Azos-Seguros/my-private-repo/skills/my-skill --ssh
Why it matters
Many teams and organizations use SSH exclusively for GitHub authentication (no PAT tokens). Requiring the object format in apm.yml for every private package defeats the simplicity that makes APM compelling — especially when onboarding teams that already have SSH set up.
Environment
- APM version: 0.8.0
- OS: macOS
- Auth: SSH via keyring (
git operations protocol: ssh), no GITHUB_CLI_PAT / GITHUB_TOKEN set
ssh -T git@github.com authenticates successfully
Problem
When installing packages from private repositories, the shorthand syntax fails even when SSH is properly configured:
The only workaround today is to use the verbose object format in
apm.yml:This works, but it's a much worse developer experience compared to the simple shorthand.
Expected behavior
APM should detect that the user has SSH configured for GitHub (via
~/.ssh/configor ssh-agent) and fall back to SSH when HTTPS authentication fails for the shorthand format:# ✅ should work when SSH is configured apm install Azos-Seguros/my-private-repo/skills/my-skillAlternatively, a flag could help:
Why it matters
Many teams and organizations use SSH exclusively for GitHub authentication (no PAT tokens). Requiring the object format in
apm.ymlfor every private package defeats the simplicity that makes APM compelling — especially when onboarding teams that already have SSH set up.Environment
git operations protocol: ssh), noGITHUB_CLI_PAT/GITHUB_TOKENsetssh -T git@github.comauthenticates successfully