chore: scaffold cargo workspace and crate skeletons

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-09 19:54:38 +07:00
parent 83f1c1f57d
commit 31dddb3b6c
12 changed files with 96 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
[workspace]
resolver = "2"
members = [
"crates/spacesh-proto",
"crates/spacesh-pty",
"crates/spacesh-core",
"crates/spaceshd",
]
[workspace.package]
edition = "2021"
version = "0.1.0"
[workspace.dependencies]
tokio = { version = "1", features = ["full"] }
tokio-util = { version = "0.7", features = ["codec"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
bytes = "1"
base64 = "0.22"
anyhow = "1"
thiserror = "1"
futures = "0.3"
portable-pty = "0.8"
alacritty_terminal = "0.25"
fs2 = "0.4"
dirs = "5"
+8
View File
@@ -0,0 +1,8 @@
[package]
name = "spacesh-core"
edition.workspace = true
version.workspace = true
[dependencies]
alacritty_terminal.workspace = true
serde.workspace = true
+1
View File
@@ -0,0 +1 @@
// modules added in Tasks 11-12
+12
View File
@@ -0,0 +1,12 @@
[package]
name = "spacesh-proto"
edition.workspace = true
version.workspace = true
[dependencies]
serde.workspace = true
serde_json.workspace = true
bytes.workspace = true
thiserror.workspace = true
tokio = { workspace = true }
tokio-util.workspace = true
+1
View File
@@ -0,0 +1 @@
// populated in Task 2
+1
View File
@@ -0,0 +1 @@
// populated in Task 1
+7
View File
@@ -0,0 +1,7 @@
pub mod codec;
pub mod ids;
pub mod message;
// re-exports added in Task 1 when types are defined
// pub use ids::{SurfaceId, WorkspaceId};
// pub use message::{Cmd, Envelope, ErrorBody, Evt};
+1
View File
@@ -0,0 +1 @@
// populated in Task 1
+10
View File
@@ -0,0 +1,10 @@
[package]
name = "spacesh-pty"
edition.workspace = true
version.workspace = true
[dependencies]
portable-pty.workspace = true
tokio.workspace = true
bytes.workspace = true
anyhow.workspace = true
+1
View File
@@ -0,0 +1 @@
// PtyHandle implemented in Task 3.
+24
View File
@@ -0,0 +1,24 @@
[package]
name = "spaceshd"
edition.workspace = true
version.workspace = true
[[bin]]
name = "spaceshd"
path = "src/main.rs"
[dependencies]
spacesh-proto = { path = "../spacesh-proto" }
spacesh-pty = { path = "../spacesh-pty" }
spacesh-core = { path = "../spacesh-core" }
tokio.workspace = true
tokio-util.workspace = true
serde.workspace = true
serde_json.workspace = true
bytes.workspace = true
base64.workspace = true
anyhow.workspace = true
thiserror.workspace = true
futures.workspace = true
fs2.workspace = true
dirs.workspace = true
+3
View File
@@ -0,0 +1,3 @@
fn main() {
println!("spaceshd skeleton");
}