# Private keys
*.pem

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
.*
!.gitignore
!.env.example
!.github
!.claude
!.claudeignore
!.mcp.json
!.cursorignore
!.graph8/
!.graph8/rules/
!.graph8/rules/*.md
!.codex/
!.codex/*.md
!/AGENTS.md
!frontend/.*
!voice/.*
!website/.*

# Build / dist artifacts
UI/
# But DO track Playwright e2e UI tests (frontend/e2e/ui is the project
# testDir for the `ui` Playwright project, NOT a build artifact).
!frontend/e2e/ui/
!frontend/e2e/ui/**
dist/
*.egg-info/

# Node.js and worker directories
searchapi-node/
cloudflare-worker/
searchapi/

# Documentation files (except README.md files and campaign_builder docs)
# Only ignore .md files at backend root, not in frontend/ or voice/
/*.md
!/README.md
!/CLAUDE.md
!/AGENTS.md
!/docs/*.md
!/campaign_builder/**/*.md
!frontend/**/*.md
!voice/**/*.md
!website/**/*.md

# Node.js dependencies
*node_modules*

# OS generated files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# local testing files

*2025-08*.sql
setup_waterfall_table.py
test.py
sample.html
docker-compose*.yml
init-db.sh
auto_create_sequence.py
sequencer/routers/scripts/*
sequencer/scripts/*
!sequencer/scripts/remove_contact_from_sequence.py

/crm-integration-clone/
# /integrations_v4/
/venv/
/*scripts
!/scripts/
scripts/*
!/scripts/validate.sh
!/scripts/prd_workflow.py
!/scripts/backfill_roam_transcripts.py
!/scripts/seed_team_command_center.py
!/scripts/backfill_inbox_thread_split.py
!/scripts/configure_role_leaderboards.py
!/scripts/seed_org_agents.py
!/scripts/materialize_jobs_indexes.py
!/scripts/verify_inbox_tracing.py
!/scripts/verify_quote_dto_prod.sh
!/scripts/agent_runtime/
!/scripts/agent_runtime/*.py
!/scripts/backfill_appointments_to_calendar_events.py
!/scripts/backfill_entity_task_meeting_refs.py
!/scripts/backfill_action_items_to_tasks.py
!/scripts/backfill_marketplace_contact_mirror.py
!/scripts/cleanup_meeting_task_descriptions.py
!/scripts/test_roam_import.py
!/scripts/test_roam_webhook.py
!/scripts/hard_copy_sequence.py
!/scripts/sequence_projection.py
!/scripts/backfill_join_link_contacts.py
!/scripts/generate_archetypes.py
!/scripts/marketplace_setup_project39.sh
!/scripts/setup_layouts.sh
!/scripts/backfill_archetype_slots.py
!/scripts/backfill_sdr_payout_accounts.py
!/scripts/cleanup_marketplace_operator_role.py
!/scripts/local_cdp/
!/scripts/local_cdp/**
scripts/local_cdp/dumps/
scripts/local_cdp/__pycache__/
!/scripts/audit_stale_issues.py
!/scripts/seed_time_objection_tag.py
!/scripts/set_warmup_ai_can_apply.py
!/scripts/wise_sandbox_smoke.py
!/scripts/backfill_visitor_audiences.py
!/scripts/backfill_cb_deal_stage_history.py
!/scripts/backfill_cb_activities_owner_id.py
!/scripts/backfill_agency_client_mashup_companies.py
/sequencer/*scripts
!sequencer/scripts/remove_contact_from_sequence.py
# Log files
logs/*

# Celery
celerybeat-schedule
celerybeat-schedule.*

# Local memory system (Claude Code's per-machine memory store).
# `agent_runtime/memory/` is the Python module for agent runtime memory
# and IS tracked -- the negation re-includes it.
memory/
!agent_runtime/memory/
CLAUDE.local.md
.claude/agent-memory-local/
.claude/current-work.json
.claude/MEMORY.md
.claude/*.md
!.claude/commands/*.md
!.claude/skills/**/*.md

# Debug screenshots and temp files
/*.png
/*.txt
!README.txt

# Frontend local agent memory
frontend/.claude/

# Claude Flow generated files
.claude/helpers/
.claude/commands/claude-flow-*.md
.claude/commands/analysis/
.claude/commands/automation/
.claude/commands/github/
.claude/commands/hooks/
.claude/commands/monitoring/
.claude/commands/optimization/
.claude/commands/sparc/
.claude/skills/agentdb-*/
.claude/skills/browser/
.claude/skills/github-*/
.claude/skills/hooks-*/
.claude/skills/pair-programming/
.claude/skills/reasoningbank-*/
.claude/skills/skill-builder/
.claude/skills/sparc-methodology/
.claude/skills/stream-chain/
.claude/skills/swarm-*/
.claude/skills/v3-*/
.claude/skills/verification-quality/

# Runtime logs and artifacts (auto-generated)
.codex/logs/
frontend/logs/
output/
website/.playwright-cli/


# playwright-cli scratch (created per-cwd)
**/.playwright-cli/

# Octa cockpit hook state — counter for the heartbeat-tick hook
.claude/state/
