# Audit / scratch artifacts — must never appear in the GitHub repo
audit_*/
mimosa_html_*.json
*.bak.*
config.yml.bak*

# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Virtual environments
.venv/
env/
venv/
ENV/
env.bak/
venv.bak/

# Environment variables
.env
.env.local

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

# ChromaDB data
chroma_data/
chroma_db/

# Logs
*.log
logs/
logs/*

# OS
.DS_Store
Thumbs.db

# Papers directory (downloaded PDFs)
Papers/

# Local-instance data (runtime caches, provenance, sessions). Only
# code lives in the repo; per-machine runtime state stays out.
data/papers/
data/capsules/
data/provenance/
data/contextual_cache/
data/kb_logs/
data/*.db
data/*.db-shm
data/*.db-wal

# Test outputs
test_output.txt
*_output.txt

# External packages (large dependencies)
packages_to_use/

# Database files
*.db
*.sqlite
*.sqlite3

# Claude AI sessions — ignore everything except the project-scoped slash
# commands + skills that make `/setup` etc. work for any agent in this repo.
.claude/*
!.claude/commands/
!.claude/commands/**
!.claude/skills/
!.claude/skills/**

# Ruff cache
.ruff_cache/

# Documentation files (keep only main docs)
*.md
!README.md
!CHANGELOG.md
!CONTRIBUTING.md
!INSTALL_AGENT.md
!.claude/commands/*.md
!.claude/skills/**/*.md
!LICENSE
!NOTICE
!perspicacite_skills.md
!docs/superpowers/**/*.md
!docs/agent-cli-caveats.md
!docs/roadmap-*.md
!docs/test-status-*.md
!docs/provider-matrix-status-*.md
!docs/mcp-smoke-status-*.md
!docs/config-audit-status-*.md
!docs/ci-setup-*.md
!docs/llm-cache-*.md
!docs/embedding-cache-*.md
!docs/budget-caps-*.md
!docs/rate-limit-*.md
!docs/fallback-chain-*.md
!docs/checkpoint-resume-*.md
!docs/error-modes-*.md
!docs/multimodal-extraction-*.md
!docs/time-bounded-queries-*.md
!docs/export-formats-*.md
!docs/versioned-kbs-*.md
!docs/orcid-disambiguation-*.md
!docs/mcp-resources-prompts-*.md
!docs/e2e-validation-*.md
!docs/github-skill-bundle-*.md
!docs/google-scholar-abstract-only-*.md
!docs/handoff-*.md
!docs/recipe-book-*.md
!docs/architecture-*.md
!docs/upstream-prompts/**/*.md
!MANUAL_QA.md
# GitHub community health files
!.github/*.md
!.github/ISSUE_TEMPLATE/*.md
# User-facing docs tree
!docs/*.md
!docs/concepts/*.md
!docs/guides/*.md
!docs/reference/*.md
!docs/development/*.md
!docs/handoffs/*.md
agenticRAG_improvement_plan.txt

# Image files (except logo/screenshots)
Untitled.png
*.draft.png
*.tmp.png

# Local/dev files (keep locally, not in repo)
PROBLEMS.md
Perspicacite_v2_Planning.md
IMPLEMENTATION_GUIDE.md
QUICKSTART.md
todo.md
config.minimax.yml
config.yml

# Cookies (browser exports for institutional/paywall access). Never commit.
cookies.txt
*cookies.txt
.cookies/
cookies/

# Local inspection artifacts (live-test outputs at repo root)
mimosa_unattached.json
mimosa_resolver_results*.json

test_lotus.py
uv.lock
Untitled
OA_metabolomics_library.bib
OA_metabolomics_library_test.bib
paper1_europepmc.txt
paper2_europepmc.txt
paper2_europepmc_sections.txt
chat_no_answer.png

#project related files
exposomics/
create_exposomics_kb.py
enrich_kb_metadata.py

# Vendored / scratch tooling staged for future porting.
# Tracked files under old_tools/ (e.g. the library-expansion-with-abstract
# vendored scripts) remain tracked; this rule only affects new untracked
# scratch artifacts (per-paper experiment dirs, hack scripts, intermediate
# .bib files, downloaded PDFs).
old_tools/

# Local Claude Code MCP config (server must be running; not for CI)
.mcp.json
coverage.xml
!tests/audit/**/*.py
!tests/audit/**/*.json
!tests/audit/**/*.md
# Sample-bundle fixtures (skill-bundle ingest e2e tests) — keep all
# nested .md files. The top-level *.md rule above would otherwise drop
# docs/*.md, the intro doc that exercises the docs/**/*.md walker path.
!tests/data/sample_bundle/**/*.md
# Audit harnesses write transient KB sidecars (symbols.jsonl etc) under
# tests/audit/results/audit_kb/. These are run-specific and shouldn't be
# tracked (the symbol_index gets re-derived from live code on every run).
tests/audit/results/audit_kb/

# Audit results migrated to ~/git/research-tools-audit going forward.
# Files already tracked here remain tracked; new runs land in the audit
# repo so they can sync across machines.
tests/audit/results/*.json
tests/audit/results/*.md
.worktrees/
