# 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 dependencies - `Cargo.lock` - (generated) - `buf.yaml` - buf module definition (`buf.build/rawpotion/sq`) - `buf.gen.yaml` - prost + tonic codegen config - `mise.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.rs` - `crates/sq-models/Cargo.toml` + `src/lib.rs` - `crates/sq-storage/Cargo.toml` + `src/lib.rs` - `crates/sq-cluster/Cargo.toml` + `src/lib.rs` - `crates/sq-server/Cargo.toml` + `src/main.rs` - `crates/sq-sdk/Cargo.toml` + `src/lib.rs` - `crates/sq-sim/Cargo.toml` + `src/lib.rs` ## Acceptance Criteria - [x] `cargo check --workspace` passes - [x] `cargo test --workspace` passes (no tests yet, but no errors) - [x] All 7 crates are listed in workspace members - [x] 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