4e1a95613b
Three-crate workspace per SPECS.md. varde-proto defines the full JSON Lines protocol (requests, envelopes, structured errors, events) with string-typed hashes so the crate carries no iroh dependency. The daemon binds its unix socket, loads config with flags > env > file > defaults precedence, and answers status/list; everything else returns a structured "unimplemented" error. varde-ctl maps subcommands 1:1 onto requests and round-trips status against a real daemon in the tests. Dependencies: serde/serde_json (wire format), tokio (async runtime and unix sockets), tracing/tracing-subscriber (structured logging), toml (config file), anyhow (binary-edge errors), thiserror (reserved for library errors), clap (ctl flag parsing, per spec), tempfile (dev-only, ephemeral test dirs). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
23 lines
505 B
YAML
23 lines
505 B
YAML
# Woodpecker CI pipeline. Also parseable by eye as the definition of the
|
|
# project quality bar: fmt, clippy -D warnings, full test suite.
|
|
when:
|
|
- event: [push, pull_request]
|
|
|
|
steps:
|
|
fmt:
|
|
image: rust:1
|
|
commands:
|
|
- rustup component add rustfmt
|
|
- cargo fmt --all --check
|
|
|
|
clippy:
|
|
image: rust:1
|
|
commands:
|
|
- rustup component add clippy
|
|
- cargo clippy --workspace --all-targets -- -D warnings
|
|
|
|
test:
|
|
image: rust:1
|
|
commands:
|
|
- cargo test --workspace
|