Initialise the project per the approved implementation plan (M0). - Pin the toolchain with devbox: Rust 1.97.1, pimsync 0.5.11, jujutsu 0.44.0, and radicale 3.7.8 for later integration tests. - Add the configuration model with full referential validation, reporting every problem in one pass rather than short-circuiting on the first. - Add `calcalist doctor`, verifying pimsync's presence and version series, the state directory, and the configuration. - Define the whole CLI surface; only `doctor` acts, the rest exit 2 rather than pretending to work. - Rewrite SPECS.md: Rust naming conventions in place of the JS/TS style lines, a `devbox run check` gate instead of a pre-commit hook (jj runs no git hooks), and the sync semantics the spec previously left unstated. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
24 lines
552 B
JSON
24 lines
552 B
JSON
{
|
|
"$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.17.2/.schema/devbox.schema.json",
|
|
"packages": [
|
|
"rustc@1.97.1",
|
|
"cargo@1.97.1",
|
|
"rustfmt@1.97.1",
|
|
"clippy@1.97.1",
|
|
"pimsync@0.5.11",
|
|
"jujutsu@0.44.0",
|
|
"radicale@3.7.8"
|
|
],
|
|
"shell": {
|
|
"scripts": {
|
|
"fmt": "cargo fmt --all",
|
|
"check": [
|
|
"cargo fmt --all -- --check",
|
|
"cargo clippy --all-targets -- -D warnings",
|
|
"cargo test"
|
|
],
|
|
"test": "cargo test",
|
|
"build": "cargo build --release"
|
|
}
|
|
}
|
|
}
|