# Built binaries (root only) /mavend /mavenclient /mavsttd /mavttsd /mavweb /mavpoll /mavcaldav /mavwaked /mavmaild /mavupdate # 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 # Temp files /tmp/ # opencode config (per-project, not for sharing) opencode.json # Test coverage output coverage.out # 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