# ToolHarbor .gitignore
#
# Canonical AI instructions are intentionally versioned:
#   AGENTS.md
#   .ai/
#   .cursor/
#   .claude/
#   CLAUDE.md
#
# Do not add those paths to this file.

# ---------------------------------------------------------------------------
# Python bytecode and interpreter artifacts
# ---------------------------------------------------------------------------

__pycache__/
*.py[cod]
*$py.class
*.pyd
*.so

# ---------------------------------------------------------------------------
# Python environments
# ---------------------------------------------------------------------------

.venv/
venv/
env/
ENV/
.python-version.local

# ---------------------------------------------------------------------------
# Python packaging and build outputs
# ---------------------------------------------------------------------------

build/
dist/
downloads/
.eggs/
*.egg
*.egg-info/
pip-wheel-metadata/
*.whl
MANIFEST

# Keep dependency lockfiles versioned:
#   uv.lock
#   poetry.lock
#   Pipfile.lock

# ---------------------------------------------------------------------------
# Python tooling caches
# ---------------------------------------------------------------------------

.pytest_cache/
.mypy_cache/
.pyright/
.ruff_cache/
.hypothesis/
.tox/
.nox/
.dmypy.json
dmypy.json
.pytype/
.pyre/
.coverage
.coverage.*
coverage.xml
coverage.json
htmlcov/
.coverage-cache/
.benchmarks/

# ---------------------------------------------------------------------------
# Test and quality reports
# ---------------------------------------------------------------------------

test-results/
reports/
junit.xml
pytest-report.xml
*.lcov
lcov.info

# ---------------------------------------------------------------------------
# Jupyter
# ---------------------------------------------------------------------------

.ipynb_checkpoints/

# ---------------------------------------------------------------------------
# Node.js / TypeScript — future UI and tooling
# ---------------------------------------------------------------------------

node_modules/
.pnpm-store/
.npm/
.yarn/cache/
.yarn/unplugged/
.yarn/build-state.yml
.yarn/install-state.gz
.turbo/
.next/
.nuxt/
.svelte-kit/
.vite/
.parcel-cache/
*.tsbuildinfo
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*

# Keep JavaScript lockfiles versioned:
#   package-lock.json
#   pnpm-lock.yaml
#   yarn.lock

# ---------------------------------------------------------------------------
# Documentation build outputs
# ---------------------------------------------------------------------------

site/
docs/_build/
.mkdocs-cache/

# ---------------------------------------------------------------------------
# Environment variables, secrets, and local credentials
# ---------------------------------------------------------------------------

.env
.env.*
!.env.example
!.env.sample
!.env.template

.secrets/
secrets.local.*
credentials.local.*
*.local.env

# Private key material must never be committed.
*.pem
*.key
*.p12
*.pfx

# Public keys may be committed intentionally when needed.
!*.pub

# ---------------------------------------------------------------------------
# ToolHarbor local development state
# ---------------------------------------------------------------------------

.toolharbor-local/
.toolharbor-cache/
.toolharbor-tmp/

# The AI context builder writes inside .git/toolharbor-ai/, which Git already
# excludes. These patterns protect against accidental alternate local output.
.toolharbor-ai/
*.ai-context.local.md
*.handoff.local.md

# ---------------------------------------------------------------------------
# AI-tool local overrides
# ---------------------------------------------------------------------------

# Shared Cursor rules and commands remain versioned.
.cursor/rules/local/
.cursor/*.local.*

# Shared Claude configuration remains versioned.
.claude/settings.local.json
CLAUDE.local.md

# ---------------------------------------------------------------------------
# Local caches, logs, temporary files, and runtime artifacts
# ---------------------------------------------------------------------------

.cache/
.tmp/
tmp/
temp/
logs/
*.log
*.tmp
*.temp
*.bak
*.orig
*.rej
*.pid

# Local database sidecar files.
*.db-journal
*.db-shm
*.db-wal
*.sqlite-journal
*.sqlite-shm
*.sqlite-wal

# ---------------------------------------------------------------------------
# IDEs and editors
# ---------------------------------------------------------------------------

.idea/
*.iml

.vscode/*
!.vscode/extensions.json
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json

*.code-workspace
*.swp
*.swo
*~
.#*
\#*#

# ---------------------------------------------------------------------------
# Operating-system files
# ---------------------------------------------------------------------------

.DS_Store
.AppleDouble
.LSOverride
Icon?
._*
.Spotlight-V100
.Trashes

Thumbs.db
Thumbs.db:encryptable
Desktop.ini
$RECYCLE.BIN/

# ---------------------------------------------------------------------------
# Local developer tools
# ---------------------------------------------------------------------------

.direnv/
.mise.local.toml

# ---------------------------------------------------------------------------
# Patch, profiling, and diagnostic artifacts
# ---------------------------------------------------------------------------

*.patch.local
*.prof
*.profraw
*.trace
*.dump
