Get started in four steps
This guide gets you from zero to a working Tank setup with your first skill installed.Authenticate with GitHub
Tank uses GitHub OAuth for authentication. Run:What happens:Verify your session:
- Opens your browser to GitHub OAuth
- You authorize Tank
- CLI polls for completion
- API key stored in
~/.tank/config.json
Your API key (prefix
tank_) is stored locally. Tank never stores your GitHub credentials.Create a skills.json manifest
Navigate to your project directory and initialize:Interactive prompts:Generated
skills.json:skills.json
Install your first skill
Install a skill from the Tank registry:What happens:Generated
- Resolves latest version matching semver range
- Fetches skill metadata and download URL
- Downloads tarball to temp directory
- Verifies SHA-512 integrity hash
- Extracts with security filters (no symlinks, path traversal, etc.)
- Writes to
~/.tank/skills/@vercel/[email protected]/ - Updates
skills.jsonand generatesskills.lock
skills.lock:skills.lock
Next Steps
Now that you have Tank working, explore these workflows:View Installed Skills
Security Audit
Update Skills
skills.json.Search Registry
Common Workflows
Installing from lockfile (CI/CD)
When your team clones the repo or in CI, install exact versions from lockfile:npm ci — installs exactly what’s in skills.lock, no version resolution.
Updating all skills
Update all skills within their semver ranges:Removing a skill
Remove from lockfile and delete files:Verify lockfile integrity
Check that installed skills match lockfile hashes:Understanding Output
Audit Score
Tank displays audit scores (0-10) during install:- 9-10: Excellent — low risk
- 7-8: Good — minor issues
- 5-6: Needs review — moderate risk
- 0-4: High risk — review carefully
skills.json:
Permission Budget Failures
If a skill exceeds your permission budget:Troubleshooting
Command not found: tank
Command not found: tank
The CLI wasn’t added to your PATH. Try:
- Restart your terminal
- Check install location:
npm list -g @tankpkg/cli - Use
npx @tankpkg/cliinstead
Login timeout
Login timeout
GitHub OAuth took too long. Common fixes:
- Check your network connection
- Disable VPN temporarily
- Try again:
tank logout && tank login
Integrity verification failed
Integrity verification failed
The downloaded tarball doesn’t match the expected hash. This could indicate:
- Network corruption (retry)
- Registry issue (check status)
- Supply chain attack (report immediately)
Permission denied errors
Permission denied errors
Check file permissions:The CLI needs write access to
~/.tank/ for config and skills.Need more help? Run
tank doctor to diagnose configuration, authentication, and network issues.What’s Next?
Installation Guide
Detailed installation for all platforms, package managers, and binary releases.
Core Concepts
Deep dive into skills, manifests, lockfiles, and permissions.
CLI Commands
Complete reference for all 16 Tank CLI commands.
Security Pipeline
Learn how Tank’s 6-stage security scanning works.