Skip to content

source-repo-gitignore

Never gitignore pack skill directories in the armadillo source repo — they are source files tracked in git, not build artifacts.

NEVER add .claude/skills/<pack-dir>/ entries to .gitignore in this repo.
This IS the source. All skill files must be tracked here.

The .gitignore pack skill entries belong in user project repos (installed via armadillo-sync), not in the armadillo source repo itself.

When pack skill directories are gitignored here:

  1. A fresh clone won’t have those skill files on disk
  2. build-marketplace.js cannot build plugins — no source files to copy
  3. Changes to pack skills cannot be committed — they silently disappear after sync
  4. Contributor PRs for pack skills become impossible

During the plugin marketplace migration (feat/plugin-marketplace, late 2025), individual .gitignore entries were added for each pack skill directory. This was correct for the INSTALLED pattern (user projects should not commit plugin-managed files), but was incorrectly applied to the source repo as well.

Fixed in fix/gitignore-pack-skills — all 242 entries removed. All pack skill files are now tracked in git as they always should have been.

.claude/worktrees/ — local worktree directories (machine-local)
marketplace/ — build output generated by build-marketplace.js
node_modules/
*.log
.claude/skills/<anything>/ — NEVER. These are source files, not build artifacts.
  1. Create skill files in .claude/skills/<skill-name>/
  2. Register in armadillo.json
  3. git add .claude/skills/<skill-name>/ and commit normally
  4. Do NOT add the directory to .gitignore
  5. Run node sync-all.js to regenerate CLAUDE.md, README, and marketplace build

The build-marketplace.js script copies tracked skill files into plugin packages under marketplace/ (which IS correctly gitignored — it is build output, not source).

User projects have their own .gitignore entries for plugin-managed skill dirs, generated by armadillo-sync at install time. That is the correct place for those entries.

This repo does not need them — it owns the source.