Sampo is a Rust monorepo to automate changelogs, versioning, and publishing—even for monorepos across multiple package registries 🧭
cargo fmt --all # format
cargo clippy --all --all-targets # lint
cargo test --all # test- In CONTRIBUTING.md : Quality Guidelines applies to agents and humans equally, Getting Started helps you understand the project structure, and Philosophy is the project’s north star.
- The README lists all crates, while per-crate READMEs (e.g. sampo-core) contain public API documentation (should stay concise and user-facing).
- GitHub Issues and PRs are the best place for implementation details, design discussions, and technical decisions.
- Do not create new documentation files to explain implementation.
- Do not alter CI/CD configuration unless explicitly instructed.
- Do not add external dependencies without justification. Prefer the standard library and existing utilities.
- Match the current project structure, naming, and style; do not create parallel patterns and avoid duplication.
- All code, comments, documentation, commit messages, and user-facing output must be in English.
- New features or bug fixes should have a changeset generated by Sampo, see CONTRIBUTING.md for guidelines.
- Common errors live in
sampo-core’serrors.rs, crate-specific errors live in their respective crates’error.rs.