1.7 KiB
1.7 KiB
SQ-000: Workspace Skeleton
Status: [x] DONE
Blocked by: None
Priority: Critical (everything depends on this)
Description
Bootstrap the entire SQ workspace: Cargo workspace, all crate stubs, buf protobuf config, dev tooling, and gitignore. Every crate should compile with an empty lib.rs or main.rs.
Files to Create
Root
Cargo.toml- workspace root with all members and shared dependenciesCargo.lock- (generated)buf.yaml- buf module definition (buf.build/rawpotion/sq)buf.gen.yaml- prost + tonic codegen configmise.toml- dev tasks (build, test, generate:proto, local:up/down).gitignore- target/, .env, etc..env- local dev environment vars
Proto
interface/proto/sq/v1/health.proto- minimal Status service
Crate stubs
crates/sq-grpc-interface/Cargo.toml+src/lib.rscrates/sq-models/Cargo.toml+src/lib.rscrates/sq-storage/Cargo.toml+src/lib.rscrates/sq-cluster/Cargo.toml+src/lib.rscrates/sq-server/Cargo.toml+src/main.rscrates/sq-sdk/Cargo.toml+src/lib.rscrates/sq-sim/Cargo.toml+src/lib.rs
Acceptance Criteria
cargo check --workspacepassescargo test --workspacepasses (no tests yet, but no errors)- All 7 crates are listed in workspace members
- Workspace dependencies match forest/fungus conventions (tonic 0.14.2, prost 0.14.1, etc.)
Notes
- Follow forest's Cargo.toml pattern exactly:
/home/kjuulh/git/src.rawpotion.io/rawpotion/forest/Cargo.toml - Follow forest's buf.gen.yaml:
/home/kjuulh/git/src.rawpotion.io/rawpotion/forest/buf.gen.yaml - Use Rust edition 2024
- sq-server is the only binary crate; all others are libraries