# ==============================================================================
# MemorySync — Git Ignore Rules (Transparency-First Philosophy)
# ==============================================================================

# -------------------------
# Category 1: Secrets & Credentials (NEVER COMMIT)
# -------------------------
.env
.env.*
!memorysync-benchmark/longmemeval/.env.example
*.pem
*.key
*.crt
secrets/

# -------------------------
# Category 2: User / Customer / Private Data (NEVER COMMIT)
# -------------------------
uploads/
backups/
/storage/
chroma/
chroma_data/
*.db
*.sqlite
*.sqlite3
*.dump
*.bak

# -------------------------
# Category 3: Massive Dependency / Build / Cache Artifacts (BLOAT)
# -------------------------
node_modules/
venv/
.venv/
__pycache__/
.pytest_cache/
.next/
dist/
build/
htmlcov/
.coverage
*.cover
out/
/dashboard/tsconfig.tsbuildinfo

# Responsive audit output (regenerated by npm run audit:responsive)
dashboard/responsive-audit-report.json

# -------------------------
# Category 4: Local worktrees and deploy clones (NEVER COMMIT)
# -------------------------
# Each of these holds its own .git directory. Staging one would record a
# gitlink with no matching .gitmodules entry, which reads as a broken
# submodule for everyone who clones afterwards, and it would drag several
# thousand unrelated files in with it.
#
# They are also why `git add .` stalls here rather than finishing: the walk
# has to touch roughly two thousand extra files, and because this repo lives
# under OneDrive, each one can trigger a hydration download before git is
# allowed to read it.
/.kiro/worktrees/
/.production-deploy/
/.baseline-int/
/.baseline-plan/
/.baseline-s3/
