# Built binaries (root only)
/mavend
/mavenclient
/mavsttd
/mavttsd
/mavweb
/mavpoll
/mavcaldav
/mavwaked
/mavmaild
/mavupdate
/mavgpud

# Certs (private keys, don't commit)
certs/

# Dependencies (fetch/build, not vendored).
# Both forms on purpose: 'deps/' misses a symlink named deps, and agents working
# in a git worktree symlink these in from the main checkout.
deps/
deps

# ML models (large, downloaded separately) — specific dirs, not blanket,
# because models/seeds/*.txt are small, tracked files the classifier needs.
/models/embedder/
/models/stt/
/models/tts/
/models/llm/
# Symlink forms, same reason as deps above.
/models/embedder
/models/llm

# Runtime data
*.db

# Deploy secret (the at-rest db key) — never commit
deploy/db_key.env
# Deploy secret (telegram bot token + chat id) — never commit
deploy/telegram.env
# zenmoney API token, read by mavpoll (never in argv, never committed)
deploy/zenmoney.token
# IMAP password, read by mavmaild (never in argv, never committed)
deploy/imap.password
# Compose interpolation secrets — MAVEN_AMBIENT_TOKEN today. docker compose
# reads this file itself; it is not an env_file on any service.
/.env

# Temp files
/tmp/

# opencode config (per-project, not for sharing)
opencode.json

# Test coverage output
coverage.out

# Python service/test bytecode.
__pycache__/
*.py[cod]

# Agent worktrees and local agent state. The workflow itself is tracked: the
# hooks, the skills and the prose dictionary are how a session behaves, so they
# get reviewed like code. Everything else under .claude/ is scratch.
/.claude/*
!/.claude/settings.json
!/.claude/prose-dictionary.yaml
!/.claude/skills/

# The disposable handoff. One session, then deleted. Never committed:
# anything worth keeping belongs in Vikunja, CLAUDE.md or docs/.
/HANDOFF.md
/models/stt
/models/tts

# root .env — MAVEN_AMBIENT_TOKEN and friends, same class as deploy/telegram.env
.env
# silero-vad, downloaded (see AGENTS.md)
/models/vad/
