46
todos/SQ-000-workspace-skeleton.md
Normal file
46
todos/SQ-000-workspace-skeleton.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user