# Node.js
node_modules/
dist/
build/
*.tgz
source/cli/coverage/
/coverage/
*.log

# Playwright (Chromium) portal-e2e — runner artifacts + downloaded browser binaries
# (rebuildable: `npx playwright install chromium`; never committed)
source/cli/.playwright/
**/.playwright/
test-results/
playwright-report/
ms-playwright/

# Environment
.env*

# Yggdrasil test artifacts
.yggdrasil-test/
.yggdrasil/_build/

# Hermetic temp projects a unit test builds beside the COMMITTED fixture
# projects (it must live inside the source/cli package so a copied check.mjs
# resolves the package's own `exports` self-reference). Swept at run start and
# end; gitignored so a crashed run cannot leave a synthetic tree that looks like
# a real fixture in `git status`.
source/cli/tests/fixtures/.tmp-*/

# VitePress build output
docs/.vitepress/dist/
docs/.vitepress/cache/

# OS
.DS_Store
Thumbs.db

# Editors / temp
.vscode/
.idea/
*.tmp
*.swp

# Agent working dir — design docs and plans (local only, not committed)
.plans/

# Researcher lab — experiment data (local only, not committed)
.lab/

# Git worktrees
.worktrees/

# Temporary files
.temp/

# Subagent-driven-development scratch (ledger, briefs, reports — local only)
.superpowers/

# Yggdrasil local symbol-index cache (speed-only; rebuildable, never committed)
.yggdrasil/.symbols-cache/
# Yggdrasil content-addressed per-file AST fact cache (speed-only; rebuildable, never committed)
.yggdrasil/.ast-cache/
# …including under example/fixture graphs that run the real binary in tests
**/.yggdrasil/.ast-cache/
# Yggdrasil type-classification cache (speed-only; rebuildable, never committed)
.yggdrasil/.type-class-cache/
# …including under example/fixture graphs that run the real binary in tests
**/.yggdrasil/.type-class-cache/

# Per-machine agent settings. These accumulate whatever a local session happened to
# approve, so a shared copy would hand every future clone permissions nobody reviewed.
.claude/settings.local.json
