# Rust
/target/
**/*.rs.bk
*.pdb

# Python
__pycache__/
*.py[cod]
*$py.class
*.so
*.egg-info/
dist/
build/
.eggs/
*.egg
.venv/
venv/
env/

# Hermes / dev artifacts - re-include against a machine-global excludesFile
# that ignores `.hermes` (verified via `git check-ignore -v`: the repo's
# .gitignore is checked AFTER core.excludesFile, so a repo-level negation can
# override it - but a leading `./` is not valid gitignore syntax and never
# matched anything; a prior "restore" of this line kept the same dead
# pattern under a mistaken diagnosis (see git log for the corrected version).
!.hermes/
!.hermes/**

.headroom/
*.log
*.lock
*.tar.gz

# Profiles - keep local, ship only examples.
# `dir/` + `!dir/sub/` never re-includes anything below an excluded
# directory (report 12 F7) - the correct shape is `dir/*` plus explicit
# re-includes for both the subdirectory entry and its contents.
profiles/*
!profiles/example/
!profiles/example/**

# Test artifacts
plugins/aphrodite/.test-results.json

# Aphrodite proxy binary (copied to profile/plugin dirs at build)
plugins/aphrodite/aphrodite

# Local config (not committed)
aphrodite.toml

# IDE
.idea/
.vscode/
!.vscode/settings.json
*.swp
*.swo
*~

# OS
.DS_Store
Thumbs.db

# Build
target/

# JS / pnpm
node_modules/
pnpm-lock.yaml

# Secrets (never commit)
.env
.env.sh
aphrodite.local.toml
*.pem
*.key
id_rsa*

# Catch-all leaks
**/state.db*
**/auth.json
**/auth.lock
**/.hermes_*
**/.skills_*
**/.update_check
**/__pycache__/
**/.DS_Sccp_*.txt
.cargo_check_output.txt

placeholder/
.plans
.bench

bench/conversational/results/
bench/conversational/__pycache__/
