Manifest reference

[package] — what gets shared

Include/exclude globs that control which files go into the .rig.tgz artifact.

[package]
include = ["data/templates/**", "examples/**"]
exclude = ["data/templates/private.md"]

Controls which files rig pack writes into the artifact.

Fields

include

Glob list. Files matching any pattern are included.

Patterns are gitignore-style globs. ** matches across directories.

If omitted, rig uses default includes (see below). If present, your list replaces the default — you'd need to re-add README.md, rig.toml, etc. explicitly. In practice you should use rig add to add patterns alongside the defaults rather than overwriting.

exclude

Glob list. Files matching any pattern are excluded, even if they match include. exclude always wins.

If omitted, rig uses default excludes.

Defaults

Default include:

include = [
  "README.md",
  "CLAUDE.md",
  "rig.toml",
  ".mcp.json",
  ".claude/**",
  "skills/**",
  "agents/**",
  "commands/**",
  "examples/**",
  "data/templates/**",
  "data/reference/**",
  "scripts/**",
  ".env.example"
]

Default exclude:

exclude = [
  ".env",
  ".env.*",
  "*.key",
  "*.pem",
  "node_modules/**",
  ".venv/**",
  "__pycache__/**",
  ".DS_Store",
  "outputs/**",
  "private/**",
  "research/**",
  ".claude/sessions/**",
  ".claude/memory/**",
  ".claude/settings.local.json",
  ".git/**",
  "dist/**"
]

.rigignore

An additional file at the root, gitignore-style syntax, that adds excludes beyond [package].exclude. Useful for one-off exclusions you don't want to encode in the manifest.

# .rigignore
data/scratch/
*.bak
TODO.private.md

Interaction with [local]

[local].dirs lists folders that should exist in an install but whose contents should not ship. Rig writes a .rigkeep placeholder for each so the empty folder survives.

A folder in [local].dirs is never packaged regardless of include patterns. The [local] declaration is the strongest signal of intent.

Common patterns

Ship templates and examples, not the data itself:

[package]
include = ["data/templates/**", "examples/**"]
# default excludes still apply

[local]
dirs = ["data/portfolios", "data/transcripts"]

Ship a curated reference dataset:

rig add data/reference/companies.json
rig add data/reference/sectors.csv

(Each rig add appends to [package].include.)

Verifying

rig pack --preview          # show what would be included, don't write
rig pack
rig inspect ./dist/<...>.rig.tgz   # see the actual file list

See also