Cargo workspace skeleton #1

Closed
opened 2026-08-22 18:22:38 +01:00 by naps62-yolo · 1 comment
Owner

Set up the workspace described in DESIGN.md §11. Empty crates are fine — this
issue is the shape, not the contents.

  • Root Cargo.toml with members = ["crates/*"], [workspace.package],
    [workspace.dependencies] and [workspace.lints] exactly as in §12.
  • All ten crates created, each with [lints] workspace = true and nothing else.
  • rust-toolchain.toml, rustfmt.toml, Justfile with a ci recipe that runs
    the full §12 gate locally.
  • Release profile: lto = "thin", codegen-units = 1.
  • flake.nix following ~/tea/maestro.

Acceptance: just ci passes on an empty workspace.

Labels: phase/1-skeleton, area/infra, difficulty/easy, type/chore

Set up the workspace described in `DESIGN.md` §11. Empty crates are fine — this issue is the shape, not the contents. - Root `Cargo.toml` with `members = ["crates/*"]`, `[workspace.package]`, `[workspace.dependencies]` and `[workspace.lints]` exactly as in §12. - All ten crates created, each with `[lints] workspace = true` and nothing else. - `rust-toolchain.toml`, `rustfmt.toml`, `Justfile` with a `ci` recipe that runs the full §12 gate locally. - Release profile: `lto = "thin"`, `codegen-units = 1`. - `flake.nix` following `~/tea/maestro`. Acceptance: `just ci` passes on an empty workspace. Labels: `phase/1-skeleton`, `area/infra`, `difficulty/easy`, `type/chore`
naps62-yolo added the phase/1-skeletonarea/infradifficulty/easytype/chore labels 2026-08-22 18:22:38 +01:00
Author
Owner

Done in f4e63f1, direct to `main` (no PR — bootstrap).

Eleven crates including `arr-e2e`, versions and lints pinned once in the root manifest, `Justfile` carrying the §12 gate, nix dev shell, thin-LTO release profile. `just ci` is green in 0.37s warm.

Two judgement calls worth recording:

  • `cargo nextest` exits non-zero on a zero-test run. Rather than `--no-tests=pass`, which would let a broken test filter go green once real tests exist, `arr-core` and `arr-e2e` each carry one placeholder test. Both are to be deleted by the issues that add real tests to those crates.
  • The frontend steps in `just ci` probe for `web/` and no-op until it exists.
Done in f4e63f1, direct to \`main\` (no PR — bootstrap). Eleven crates including \`arr-e2e\`, versions and lints pinned once in the root manifest, \`Justfile\` carrying the §12 gate, nix dev shell, thin-LTO release profile. \`just ci\` is green in **0.37s warm**. Two judgement calls worth recording: - \`cargo nextest\` exits non-zero on a zero-test run. Rather than \`--no-tests=pass\`, which would let a broken test filter go green once real tests exist, \`arr-core\` and \`arr-e2e\` each carry one placeholder test. Both are to be deleted by the issues that add real tests to those crates. - The frontend steps in \`just ci\` probe for \`web/\` and no-op until it exists.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: yolo/arr#1