Skip to content

Define Rust repo standards #17

Description

@fastner

Context

manifest.json#scopes.rust is declared (detect: "Cargo.toml"), but managed / seeded / sections are empty. "Arbitrary org repos" today only trivially cover Rust repos (branding + stamp from the common scope). Once a Rust repo should consume standards, this becomes its own sprint with toolchain decisions — but the current architecture (integer-versioned custom datasource, pnpm dlx CLI invocation, platform-aware seeds from #9) already supports it.

Orthogonal to Node work; own sprint, no hard blocker.

Acceptance criteria

  • Inventory: which conventions live in existing Sebastian Software Rust repos? (rustfmt config, clippy strictness, MSRV, cargo-deny, cargo-audit, edition pin)
  • First bundle of reference files: minimal rustfmt.toml, clippy.toml, possibly .cargo/config.toml — decide per file: managed (byte-exact) vs. seeded (created once). rustfmt config fits as managed (analog to oxfmt), clippy config more as seeded (repo-specific allows are common)
  • CI workflow reference for Rust (cargo fmt --check, cargo clippy --all-targets -- -D warnings, cargo test) as seeded, platform-aware analog to the Node CI seeds in #9 and #10 (two files: GitHub + Forgejo)
  • Changelog entry changes/000N-rust-baseline.md with judgement steps for legacy repos (toolchain install, Cargo.toml adjustments)
  • manifest.json#currentVersion bumped
  • At least one Rust test repo as fixture (or mock in the standards repo itself, comparable to standards-test-repo2) for verification
  • Reuse the platform-awareness infrastructure from #9 — no new CLI code needed

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions