# Local working docs (not for repo)
.claude/*.local.md
.claude/*.local.json
.claude/extension-stats/

# Internal planning/review artifacts (keep local)
docs/plans/reviews/

# Local bd export state
.beads/export-state.json
/.beads/issues.jsonl
# The bd pre-commit hook occasionally drops a copy of .beads/issues.jsonl
# at the repo root; keep that out of every commit too. Recent main history
# shows recurring "chore: remove exported issues artifact" cleanups for
# exactly this case.
/issues.jsonl

# Tombstone: the plugin/ directory was deleted in v0.8.0 after the marketplace
# was switched to .claude/plugins/minutes/ in commit 270839d (Mar 24). The
# canonical Claude Code plugin tree is at .claude/plugins/minutes/. If a future
# session re-creates plugin/, that's a regression — block it here.
plugin/

# Python bytecode from bundled skill helper scripts (mirror_metrics.py, etc.)
.claude/plugins/minutes/skills/*/scripts/__pycache__/
__pycache__/
*.pyc
docs/marketing/
docs/demo/node_modules/
# Also as a bare name: a symlink named node_modules is not a directory, so the
# trailing-slash pattern above does not ignore it, and `git add -A` in a
# worktree using linked deps once committed two machine-absolute symlinks.
node_modules
docs/demo/.remotion/

# Build artifacts
target/
node_modules/
dist/

# Environment
.env
.env.*
.env.local

# OS
.DS_Store

# Audio temp files
*.wav
*.mp3
*.m4a

# Exception: bundled demo asset (include_bytes! at compile time)
!crates/assets/demo.wav
!tests/eval/fixtures/audio/apple-speech-dictation.wav
# Exception: committed AAC fixture for the bounded decode worker. Encoding it on
# demand would let the test skip on exactly the machines it exists to cover.
!crates/core/resources/decode-fixture-tone.m4a
!crates/core/resources/decode-fixture-chained.ogg
!tests/eval/fixtures/audio/apple-speech-meeting.wav
# Exception: parity-test fixtures (deterministic WAVs derived from
# demo.wav by examples/build_parity_fixtures.rs; committed so
# reviewers can listen and confirm they match the test descriptions)
!crates/assets/parity_brief_spike.wav
!crates/assets/parity_three_utterances.wav
!crates/assets/parity_low_volume.wav
!crates/assets/parity_trailing_partial.wav

# Whisper models (large, downloaded locally)
models/

# Dolt database files (added by bd init)
.dolt/
*.db
/.beads/.beads-credential-key
Minutes.app
minutes.mcpb
.gstack/
tauri/src-tauri/bin/mic_check
tauri/src-tauri/bin/mic_check-*
tauri/src-tauri/bin/system_audio_record
tauri/src-tauri/bin/system_audio_record-*
tauri/src-tauri/bin/calendar-events
tauri/src-tauri/bin/calendar-events-*
tauri/src-tauri/bin/minutes
tauri/src-tauri/bin/minutes-*
.vercel

# Next.js incremental build cache (regenerated by `next build`)
site/tsconfig.tsbuildinfo

# Tauri build-time staged resources (built by tauri/src-tauri/build.rs)
tauri/src-tauri/resources/
archive/src-tauri/gen/

# Release note drafts (local working docs; release body is copied into GitHub)
notes-release-v*.md

# Resumable local release orchestration state
/.minutes-release-state.json

# Local scratch
tmp/
docs/assets/demo*
.agents/napkin.md
# Local dev tooling, installed per-machine via `npx impeccable install`.
# Not product surface — must not ship in the assistant skill bundle.
.agents/skills/impeccable/
# Internal maintainer workflow. Keep private installs outside this repository.
tooling/skills/sources/minutes-seo-wave/
.agents/skills/minutes/minutes-seo-wave/
.claude/plugins/minutes/skills/minutes-seo-wave/
.opencode/skills/minutes-seo-wave/
.opencode/commands/minutes-seo-wave.md
tooling/skills/goldens/*/minutes-seo-wave/
tooling/skills/goldens/commands/minutes-seo-wave.md
.claude/scheduled_tasks.lock

# Local maintainer scratch (never commit)
.logs/
ISSUE_*.md
PLAN.ia-*.md
