VoiceStudio Agent Rules

A local desktop application for voice cloning, dubbing, transcription, and audio production.

Overview

VoiceStudio uses AGENTS.md as a quick checklist; CLAUDE.md wins when they conflict. The rules cover consistent behavior across platforms, honest offline tests, review follow-up, and local-first operation. Tracker and domain details live elsewhere.

Documents

├── 
├── 
├── .agents
│   └── skills
│       └── Pinned development skills
├── docs
│   ├── adr
│   │   └── Architecture decision records
│   └── agents
│       ├── 
│       ├── 
│       └── 
└── CONTEXT.md · unavailable at this commit

Techniques in this file

01

State the relationship between instruction files

The opening sentence identifies the audience of AGENTS.md and the role of CLAUDE.md. It also makes the project's intended precedence explicit instead of leaving the two files to appear interchangeable.

Source excerpt starting at line 3.
Binding for every AI agent (Claude, Codex, Cursor, review bots, …). CLAUDE.md is the full constitution; this is the operating contract. When they conflict, CLAUDE.md wins.

02 / House vocabulary

Define parity in terms of what users can do

Hardware acceleration is allowed to vary by host. The guide distinguishes that from a missing user-visible feature and rejects disabling a working optimization everywhere as a way to satisfy parity.

Source excerpt starting at line 15.
- The parity rule covers user-visible BEHAVIOUR. Hardware acceleration varies by host by design (CUDA/MPS/DirectML, Triton availability, `torch.compile`); skipping an optimization where it physically cannot work is not a parity violation.- Do not "fix" a parity finding by disabling a working optimization everywhere. That trades a real regression for a semantic one.- A feature the user can see and use on one OS but not another IS a violation. Judge by what the user can do, not by how fast it runs.

03 / Verification by change type

Test offline behavior without a warm cache

The offline-test rule requires both an offline flag and an empty model cache. It names the reason: a populated development cache can hide the failure that CI will encounter.

Source excerpt starting at line 12.
- Tests and CI simulate CI honestly: `HF_HUB_OFFLINE=1` + empty `HF_HUB_CACHE` — a populated dev cache masks real failures.

04 / Pointing at the source of truth

Give mechanical rules to deterministic checks

The file points at existing tests for changelog style, locale parity, version consistency, and CJK text. It directs the agent to read computed results before repeating their work.

Source excerpt starting at line 10.
- Mechanical rules live in deterministic tests, never in agent effort: changelog style (`tests/test_changelog_style.py`), locale parity (`tests/test_locale_parity.py`), version lockstep (`tests/test_app_version.py`), CJK (`tests/test_no_hardcoded_cjk.py`).

05 / Contribution etiquette

Re-evaluate stale branches under current checks

The merge protocol warns that a green result from an older workflow is not evidence that current main will pass. It requires updating stale branches before evaluating their CI and watching the post-merge runs.

Source excerpt starting at line 22.
3. Merge current `main` into stale branches before judging their CI — PR-green under an old workflow ≠ main-green.4. Gate: "Tests (backend + frontend)" green + MERGEABLE.5. After EVERY merge: watch `main`'s own post-merge runs to green (`gh run list --branch main`). Red main = drop everything and fix.

06 / Hard prohibitions

Route synthetic audio through one boundary

The local-first rule bans new required network calls, gates model downloads, and names the shared synthetic-audio function. These are specific implementation boundaries for preserving the product promise.

Source excerpt starting at line 29.
- Local-first: no new required network calls; any HF download gated on installed-ness or explicit user action; all synthetic audio through the `mark_synthetic` chokepoint.

Ideas for your repo

  1. Describe how multiple instruction files relate and resolve conflicts.
  2. Define cross-platform guarantees in observable behavior rather than machine speed.
  3. Use empty caches when testing first-run and offline behavior.
  4. Point mechanical checks at deterministic tests instead of asking agents to reproduce them.
  5. Check integration results under the current workflow, not just an earlier branch snapshot.
Sponsored byModem

Give your agents the whole story.

These instructions explain how to work in VoiceStudio. Modem shows your agents what customers said, who is affected, and what changed.

See how Modem works