CalvinCalvin
Guides

.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 layer

Each layer has its own .calvinignore. Patterns only apply to files within that layer.

Pattern Syntax

The syntax follows gitignore conventions:

PatternMatches
*.bakAll .bak files
drafts/The entire drafts directory
!important.mdNegation - don't ignore important.md
skills/wip/A specific skill directory
**/temp.mdtemp.md in any directory
#commentComment (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 .md assets
  • 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-ignored

Output:

.calvinignore Patterns
======================

  user (2 patterns)
    • drafts/
    • *.bak

  project (0 patterns)

Debug Ignore Matching

# More detailed output
calvin check --debug-ignore

Limits

For security and performance:

LimitValue
Max file size64 KB
Max patterns1,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.md

Layer 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

On this page