Community
transcriptcut is a small, local-first, open source project. Contributions — bug fixes, new features, or just filing an issue — are welcome.
Get help / ask a question
Open a GitHub Discussion or Issue — issues are used for both bug reports and questions/ideas on this project. When filing a bug, include what you expected vs. what happened, and your OS/Node/FFmpeg versions if it's a rendering or transcription issue.
Report a bug
- Check the issue tracker to see if it's already been reported.
- If not, open a new issue with repro steps and your environment.
- Found an actual security issue (a path traversal, a way to reach outside
DATA_DIR, a secret leaking to the browser)? Please still open an issue describing it — see Security & Self-Hosting.
Contribute code
Read
CONTRIBUTING.mdandclaude.md(the full product spec — read it before proposing anything that changes how the app is structured).Set up locally with
./scripts/setup-mac.sh(macOS) or the manual steps in Getting Started.Before opening a PR, all of these must pass (CI runs the same three commands on every PR):
bashcd client pnpm run lint pnpm run test pnpm run buildIf you're changing pure logic (timeline math, transcript mapping, FFmpeg argument/filter-string building, validation, path handling), add or update a test in the matching
*.test.tsfile.
Project values, briefly
These come up in review, so it's worth knowing them going in:
- Local-first, always. No Firebase/AWS/GCP, no required cloud account. See Architecture.
- Agents reason, tools execute. An LLM never produces or runs raw FFmpeg/shell commands — only structured, validated edit operations. See AI-Assisted Editing.
- No free-text AI command bar. This was tried, worked, and was deliberately removed in favor of scoped, explicit actions. See AI-Assisted Editing for why, before reintroducing it.
- Transcript-first editing is the product, not a traditional Premiere/Final Cut-style timeline editor bolted onto AI features.
Good first areas to help with
- The end-to-end/UI test suite doesn't exist yet (only deterministic Vitest unit tests do) — see the issue tracker.
- The
server/directory is reserved for a future split out ofclient/and isn't in use yet. - Check the Status page and issue tracker for what's currently open.
License
MIT — use it, fork it, self-host it.