Files
filmcraft/CONTRIBUTING.md
Brandon ThomasandClaude Opus 5.5 e10449de2c Rules: never crash — AGENTS.md §0, clippy.toml for tests, forbid unsafe
- AGENTS.md: a new §0 "Never crash" at the top of the rules (why, outranks feature work, the bans,
  Result/? patterns, hostile input numbers, bounded recursion, lock poisoning, the last-resort
  guard, a regression test per crash fix), linking craftrules/standards/never-crash.md. §3.1 now
  points to it.
- CLAUDE.md non-negotiables, CONTRIBUTING.md and docs/contributing.md: short Never crash notes
  pointing to AGENTS.md §0.
- clippy.toml: allow unwrap/expect/panic/indexing in tests, so crates can deny the panicking lints
  in production code without touching their tests.
- [workspace.lints.rust] unsafe_code = "forbid" (no unsafe or allow(unsafe_code) in the workspace).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-04 11:06:55 -04:00

1.0 KiB

Contributing to FilmCraft

Thanks for helping. Before you start:

  1. Read AGENTS.md. Its rules are absolute. In particular: no Adobe assets of any kind, every asset openly licensed with an attribution sidecar, no GPL/LGPL code, and ffmpeg only as an external test oracle.
  2. Never crash. A crash loses someone's work, so this rule outranks feature work: no unwrap(), expect(), panic!, unreachable!, todo!, unimplemented! or unsafe in production code; return Result and treat every input as hostile. See AGENTS.md §0.
  3. Follow docs/contributing.md: setup per OS, building and running, the quality gates (cargo xtask ci), commit conventions, and how to add commands, effects, transitions, codecs, panels and assets.

More reading: docs/architecture.md, docs/testing.md, docs/agents.md, ROADMAP.md.

Contributions are licensed under MIT OR Apache-2.0, the project licence.