Encodes what CLAUDE.md already requires — root-cause not symptom, whole class not one instance, fail-before/pass-after tests, cross-platform parity, keep main green — as a reviewer that attacks a change before it lands. Deliberately a critic, not an approver: it can judge that work meets the bar, it cannot authorise publishing, and it is told to say so when the remaining decision is the owner's. A reviewer that agrees with the author is worth nothing — two bugs this week were caught only because a reviewer went looking for a blind spot, including a Linux fix that turned out to be completely inert. Tracked rather than left in local state so the standards travel with the code.
153 lines
7.8 KiB
Plaintext
153 lines
7.8 KiB
Plaintext
# ─────────────────────────────────────────────────────────────────────────
|
|
# Python
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
__pycache__/
|
|
*.pyc
|
|
*.pyo
|
|
*.so
|
|
*.egg
|
|
*.egg-info/
|
|
.venv/
|
|
.pytest_cache/
|
|
.mypy_cache/
|
|
.ruff_cache/
|
|
dist/
|
|
build/
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
# Node / Turborepo / Tauri
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
node_modules/
|
|
node_modules
|
|
.turbo/
|
|
bun.lockb
|
|
frontend/src-tauri/target/
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
# Secrets & env
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
.env
|
|
.env.local
|
|
.env.*.local
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
# OS junk
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# Local agent-memory DB (memxt) — per-machine state, never committed
|
|
memxt.db
|
|
memxt.db-shm
|
|
memxt.db-wal
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
# Editor / tool caches
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
# Ignore ad-hoc Claude Code state, but allow project-bundled skills
|
|
# (CLAUDE.md invites `.claude/skills/<name>/SKILL.md`) and project-bundled
|
|
# review agents — the owner's review standards belong with the code they
|
|
# govern, not in one machine's local state.
|
|
.claude/*
|
|
!.claude/skills/
|
|
!.claude/skills/**
|
|
!.claude/agents/
|
|
!.claude/agents/**
|
|
/.cache*
|
|
/.tmp/
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
# Research clones — upstream repos used as reference, not shipped
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
research/
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
# Runtime data & artifacts
|
|
# (app-local state — safe to regenerate)
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
omnivoice_data/
|
|
/data/
|
|
/local/
|
|
/results/
|
|
/download
|
|
/run*
|
|
*.db
|
|
*.db-shm
|
|
*.db-wal
|
|
*.log
|
|
*.wav
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
# Frozen regression fixture (GATE-01) — explicit allow-list.
|
|
# The patterns above (omnivoice_data/, *.db, *.wav) would otherwise hide
|
|
# tests/fixtures/omnivoice_data/ from git. Phase 0 requires this fixture
|
|
# to be checked in (no LFS) so every PR's smoke matrix loads it.
|
|
#
|
|
# We only un-ignore the EXACT files the seed script produces. The backend
|
|
# creates runtime subdirs (dub_jobs/, outputs/, preview/, etc.) when the
|
|
# smoke test boots — those stay ignored.
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
!tests/fixtures/omnivoice_data/
|
|
!tests/fixtures/omnivoice_data/README.md
|
|
!tests/fixtures/omnivoice_data/omnivoice.db
|
|
!tests/fixtures/omnivoice_data/voices/
|
|
!tests/fixtures/omnivoice_data/voices/test-voice/
|
|
!tests/fixtures/omnivoice_data/voices/test-voice/profile.json
|
|
!tests/fixtures/omnivoice_data/voices/test-voice/sample.wav
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
# Bundled demo assets (synthetic, rendered by scripts/build_demos.sh).
|
|
# Ship with the installer so first-run users have working demos before any
|
|
# model weights download. *.wav above would hide these.
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
!backend/assets/samples/**/*.wav
|
|
!backend/assets/samples/*.wav
|
|
*.jsonl
|
|
demo_recording.webp
|
|
cloudflared
|
|
cloudflared.tgz
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
# Reference / experiment scratch
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
/exp*/
|
|
example.py
|
|
examples/data*
|
|
examples/download*
|
|
examples/exp*/
|
|
omnivoice.zip
|
|
frontend/src-tauri/binaries/ffmpeg
|
|
|
|
# cuDNN 8 compat libs (auto-installed by scripts/setup_cudnn.py)
|
|
cudnn8_compat/
|
|
test-results/
|
|
|
|
# Research repos (local only)
|
|
research/
|
|
!.planning/research/
|
|
!.planning/research/**
|
|
marketing.md
|
|
.coverage
|
|
/engines/
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
# Local planning tooling (Spec Kit / GSD) — not part of OmniVoice.
|
|
# NOTE: .claude/skills/omnivoice/ (the MCP skill) IS tracked — only the
|
|
# speckit-* helper skills + .specify config are ignored.
|
|
# ─────────────────────────────────────────────────────────────────────────
|
|
.specify/
|
|
.claude/skills/speckit-*/
|
|
.antigravitycli/
|
|
|
|
# Locally-installed third-party skill packs (marketingskills, hallmark,
|
|
# mattpocock/skills, …) — ignore every skill dir by default; a skill that
|
|
# SHOULD ship with the repo must be re-negated here (like omnivoice below).
|
|
.claude/skills/*/
|
|
!.claude/skills/omnivoice/
|
|
|
|
playwright-report/
|
|
.last-run.json
|
|
|
|
# probe — generated HTML reports
|
|
tests/probe/reports/
|