mirror of
https://github.com/storytold/filmcraft.git
synced 2026-10-14 11:17:01 -04:00
- 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]>
19 lines
1.0 KiB
Markdown
19 lines
1.0 KiB
Markdown
# Contributing to FilmCraft
|
|
|
|
Thanks for helping. Before you start:
|
|
|
|
1. Read **[AGENTS.md](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](AGENTS.md) §0.
|
|
3. Follow **[docs/contributing.md](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/architecture.md), [docs/testing.md](docs/testing.md),
|
|
[docs/agents.md](docs/agents.md), [ROADMAP.md](ROADMAP.md).
|
|
|
|
Contributions are licensed under MIT OR Apache-2.0, the project licence.
|