.calvinignore
Exclude files and directories from PromptPack processing using gitignore-style patterns
.calvinignore
Calvin supports a .calvinignore file for excluding specific files or directories from PromptPack processing. The syntax follows gitignore conventions.
Quick Start
Create a .calvinignore file in your .promptpack/ directory:
# Ignore draft policies
drafts/
# Ignore backup files
*.bak
*.tmp
# Ignore work-in-progress skills
skills/experimental/Location
Place .calvinignore at the root of each layer:
~/.calvin/.promptpack/.calvinignore # User layer
/path/to/team/.promptpack/.calvinignore # Custom layers
./promptpack/.calvinignore # Project layerEach layer has its own .calvinignore. Patterns only apply to files within that layer.
Pattern Syntax
The syntax follows gitignore conventions:
| Pattern | Matches |
|---|---|
*.bak | All .bak files |
drafts/ | The entire drafts directory |
!important.md | Negation - don't ignore important.md |
skills/wip/ | A specific skill directory |
**/temp.md | temp.md in any directory |
#comment | Comment (ignored) |
Directory patterns require a trailing slash. To ignore a directory like skills/_template, use skills/_template/ (with /). Without the trailing slash, the pattern only matches files, not directories.
What Gets Ignored
- Regular
.mdassets - Entire skill directories (e.g.,
skills/experimental/) - Skill supplemental files (e.g.,
skills/my-skill/notes.txt)
CLI Commands
View Ignore Patterns
# Show patterns for each layer
calvin check --show-ignoredOutput:
.calvinignore Patterns
======================
user (2 patterns)
• drafts/
• *.bak
project (0 patterns)Debug Ignore Matching
# More detailed output
calvin check --debug-ignoreLimits
For security and performance:
| Limit | Value |
|---|---|
| Max file size | 64 KB |
| Max patterns | 1,000 |
Files exceeding these limits will produce a warning during deploy/check.
Common Use Cases
Exclude WIP Content
# Ignore unfinished policies
wip-*.md
drafts/
# Keep stable skills only
skills/experimental/
skills/beta/Team Templates
# Ignore personal notes
*.notes.md
personal/
# Ignore generated files
generated/CI/CD Workflows
# Ignore test fixtures
test-fixtures/
*.test.mdLayer Precedence
Remember that .calvinignore is per-layer:
- User layer patterns only affect user-layer files
- Project layer patterns only affect project-layer files
- Patterns do not cascade across layers
See Also
- Multi-Layer Guide - Understanding layer hierarchy
- Skills Guide - Directory-based assets
- Configuration - Global Calvin settings