rust-polyglot-conventions
Rust conventions for a core that backs multiple language bindings: stable-edition tooling, typed Result errors with no panics in library paths, rustdoc with error docs, isolated unsafe, Send futures,
SKILL.mdinternal/builtins/universal/polyglot-bindings/skills/rust-polyglot-conventions/SKILL.md
GitHub- Use the current stable Rust edition,
cargo fmt, andclippy -D warningsfor Rust core and binding crates. - Library code returns
Result<T, E>with typed errors. Do notunwrap, panic, or exit in library paths. - Public APIs have rustdoc, error documentation, and examples that use
?instead ofunwrap. - Unsafe code has
SAFETYcomments and should be isolated behind small, tested abstractions. - Async public futures are
Sendwhere host runtimes may move them across threads. - Public DTOs that cross binding boundaries are FFI-friendly or have explicit binding-safe equivalents.
- Keep binding-safe DTOs separate from integration-specific request and response types.
- Avoid Rust-only API shapes that cannot be represented naturally in target languages.
- Use one source of truth for version numbers and sync binding manifests from it during release.