# Secrets
*.env
*.env.*
.env.local
.env.production
*.pem
*.key
*.p12
*.pfx
*private-key*
credentials.json
token.json
docs/*.pem
docs/*private-key*

# OS
.DS_Store
Thumbs.db

# Vet-repo staging zips — never under docs/ (live Cloudflare Worker assets dir, 25 MiB limit)
.vet-staging/

# Node
node_modules/

# Vite build output for the desktop frontend (source lives in
# tools/yana-web/desktop-src/, builds directly to tools/yana-web/desktop/ —
# run `npm run build:desktop` before `npm start` or before packaging).
# Anchored to this exact path — tools/yana-desktop/build/ holds tracked
# electron-builder icon assets and must stay tracked.
tools/yana-web/desktop/

# Memory pipeline
memory/L0_raw/
memory/L1_atomic/private/
# L2 session facts are provisional — not persisted across sessions
memory/L2_session/*.md
!memory/L2_session/SCHEMA.md
# L2 runtime state files (circuit breaker, token budget)
core/memory/L2_session/*.json
# Claude Code runtime lock file
.claude/scheduled_tasks.lock

# Build
dist/
electron/node_modules/
.next/
.claude/state/
# Same rule, but matched at any depth: a bare ".claude/state/" pattern is
# anchored to this file's own directory (root) per git's gitignore
# semantics for patterns containing a mid-string slash, so it never
# caught tools/*/.claude/state/ or a feature dir's own .claude/state/ —
# all of which the per-tool-circuit-breaker hook creates wherever it runs.
**/.claude/state/
releases/logs/
.mcp.json
.codegraph/

# Generated cross-engine adapter outputs — regenerate with switch-engine.sh
.agents/skills/
.codex/environments/

# Local runtime audit logs
core/memory/audit/*
!core/memory/audit/.gitkeep

# Local backup files generated by adapter switching
*.bak
*.bak.*

# Local artifacts
__pycache__/
*.pyc
reports/audit-local.*
artifacts/release-gate/


# Added by cargo

/target

# Yana AI — only ignore runtime/generated dirs, NOT source dirs
# .yana-ai/schemas, context-packs, policies, templates are source — do not ignore
.yana-ai/graph/
.yana-ai/cache/
.yana-ai/tmp/
.yana-ai/snapshots/
.yana-ai/history.json
.yana-ai/tasks.json
.yana-ai/skill_quality.json
.yana-ai/chat-history/
.yana-ai/chat-settings.json
.yana-ai/exports/
.yana-ai/os/
yana-ai-*.html
yana-ai-*.sarif
releases/*.zip
releases/*.bundle
releases/*.bundle.sha256
yana-ai-transfer*.zip
yana-ai-patch-files*.zip
# assistant brain — lives in the private yana-ai-private repo, never here
.claude/assistant/
come_my_way.mp3
.aider*

# wrangler files
.wrangler
.dev.vars*
!.dev.vars.example
!.env.example

# Antigravity — full Electron app (reassemble from release archive)
tools/Antigravity-x64/

# Yana web — local auth/session/mission data (never commit)
tools/yana-web/.yana/
.yamtam/

# Generated build output (Astro) — regenerate via docs build script
docs-dist/

# Zed editor — personal config, not project config
.zed/
/pkg

# macOS Spotlight exclusion marker (local-machine only, not project content)
.metadata_never_index

# Downloaded reference-repo zips kept locally for research — never commit
# (avoids an accidental `git add -A` pulling in ~200MB of third-party source)
docs/*.zip
!docs/files.zip
src/*.zip
