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>
16 lines
376 B
TOML
16 lines
376 B
TOML
[package]
|
|
name = "calcalist"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
rust-version = "1.97"
|
|
description = "Aggregate and sync events between CalDAV, Google Calendar and iCal feeds"
|
|
publish = false
|
|
|
|
[dependencies]
|
|
clap = { version = "4.6", features = ["derive"] }
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
thiserror = "2.0"
|
|
toml = "1.1"
|
|
|
|
[lints.rust]
|
|
unsafe_code = "forbid"
|