@tank/tank-project-setup
1.1.0Description
Auto-detect project stack and integrate Tank skills with CI/CD. Scans for framework indicators, recommends skills, creates skills.json, runs tank install, sets up GitHub Actions/GitLab CI.
Triggered by
tank install @tank/tank-project-setupTank Project Setup
Detect project stack, install relevant Tank skills, and wire up CI/CD so every
clone gets skills automatically via tank install.
Core Workflow
Execute steps in order. Do not skip.
Step 1: Detect Project Stack
Run scripts/detect-project.sh in the project root, or manually scan for:
| File | Stack Signal |
|---|---|
package.json | Node.js (inspect dependencies for framework) |
tsconfig.json | TypeScript |
next.config.* | Next.js |
angular.json | Angular |
tailwind.config.* | Tailwind CSS |
pyproject.toml / requirements.txt | Python |
.github/ | GitHub-hosted (CI target) |
docker-compose.yml | Docker/infrastructure |
prisma/ / drizzle.config.* | Database ORM |
playwright.config.* / cypress.config.* | E2E testing |
figma-plugin/manifest.json | Figma plugin |
Present detected stack to user for confirmation before proceeding.
Step 2: Map Stack to Skills
Use the mapping table in references/SKILL_CATALOG.md to select skills.
Always include @tank/clean-code unless user opts out.
Step 3: Create or Update skills.json
If skills.json exists at project root, merge new skills into the skills
field. If not, create one:
{
"skills": {
"@tank/clean-code": "^3.0.0",
"@tank/react": "^2.0.0"
}
}
Project-level skills.json only needs the skills field — it is NOT a
skill manifest (no name, version, or permissions required).
Step 4: Install Skills
tank install
This reads skills.json, resolves versions, downloads packages to the local
.tank/ cache, and creates skills.lock with SHA-512 integrity hashes.
After install, verify:
tank doctor
tank permissions
Step 5: Set Up CI/CD
Detect CI platform and add tank install step:
- GitHub Actions: See
assets/github-action-tank-install.yml - GitLab CI: See
references/CICD_INTEGRATION.md
Key requirements for CI:
- Install Tank CLI:
npm install -g @tankpkg/cli - Run
tank install(reads lockfile for deterministic installs) - Run
tank verifyto confirm integrity
No authentication needed for tank install — only tank publish requires auth.
Step 6: Update .gitignore
Add Tank artifacts that should not be committed:
# Tank skills (installed via tank install)
.tank/
Ensure skills.json and skills.lock ARE committed (like package.json and
package-lock.json).
Decision Tree: When to Use Global vs Local
| Scenario | Install Type | Command |
|---|---|---|
| Skills shared across all projects | Global | tank install -g @org/skill |
| Skills specific to this project | Local | tank install @org/skill |
| CI/CD pipeline | Local (from lockfile) | tank install |
| Developer onboarding | Local (from lockfile) | tank install |
Quick Reference: Tank Consumer Commands
tank install # Install all from lockfile
tank install @org/skill # Add specific skill
tank install -g @org/skill # Install globally
tank update # Update all within ranges
tank update @org/skill # Update specific skill
tank remove @org/skill # Remove skill
tank verify # Verify lockfile integrity
tank permissions # Show permission summary
tank doctor # Health check
tank search "query" # Find skills in registry
tank info @org/skill # Show skill metadata
Failure Map
| Problem | Fix |
|---|---|
tank: command not found | npm install -g @tankpkg/cli |
No skills.json found | Create one with skills field or run tank init |
Version not found | Check available versions: tank info @org/skill |
Integrity check failed | Delete skills.lock and .tank/, re-run tank install |
Permission denied in CI | No auth needed for install; check file permissions |
Resources
References
- references/PROJECT_DETECTION.md — Detection signals, priority order, confidence scoring
- references/CICD_INTEGRATION.md — CI/CD templates for GitHub Actions, GitLab CI, CircleCI
- references/SKILL_CATALOG.md — Complete project-type to Tank skill mapping
Scripts
scripts/detect-project.sh <dir>— Scan project directory and output detected stack as JSON
Assets
- assets/github-action-tank-install.yml — Drop-in GitHub Actions workflow
- assets/project-skills.json.template — Starter project-level skills.json