# Dependencies
node_modules/

# Build artifacts (npm pack / vsce package output — never commit)
*.tgz
*.vsix

# Internal research (not part of the public package)
Research/

# Environment files
.env
.env.local
.env.development
.env.production

# OS files
.DS_Store
Thumbs.db

# IDE
.vscode/
.idea/
*.swp
*.swo

# Build artifacts
dist/
build/
coverage/

# DocGuard generated docs (for THIS project testing)
# Note: In real projects, docs-canonical/ SHOULD be committed.
# These are excluded here because they're template-generated test files.
docguard_cli/__pycache__/
.venv/
dist/
*.egg-info/
__pycache__/
.venv
.docguard/

# Local security-scan artifacts (websec-validator) — contains fixture findings, machine-local
websec-out/

# OpenWolf private session memory (machine-local, not shared)
.claude/openwolf-memory/
.wolf/
# Local agent tooling: .codex/hooks.json points at .wolf/hooks/*.js, which this
# repository ignores, so shipping it hands contributors a config referencing
# scripts they do not have. Committed by mistake in f1fef7a; ignored here so a
# future `git add -A` cannot repeat it.
.codex/
.testguard/

# safeWrite leaves a `.bak` beside any file it overwrites. Those are local
# recovery artifacts, never source. `cli/precision-evidence-data.mjs.bak` was
# swept into ee3fc88 by a `git add -A` and shipped a frozen copy of a GENERATED
# module — a near-duplicate that drifts further from the real numbers with every
# regeneration, and that a grep for a precision value will happily find first.
*.bak
