chore: scaffold cargo workspace and crate skeletons
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+27
@@ -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"
|
||||
@@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "spacesh-core"
|
||||
edition.workspace = true
|
||||
version.workspace = true
|
||||
|
||||
[dependencies]
|
||||
alacritty_terminal.workspace = true
|
||||
serde.workspace = true
|
||||
@@ -0,0 +1 @@
|
||||
// modules added in Tasks 11-12
|
||||
@@ -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
|
||||
@@ -0,0 +1 @@
|
||||
// populated in Task 2
|
||||
@@ -0,0 +1 @@
|
||||
// populated in Task 1
|
||||
@@ -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};
|
||||
@@ -0,0 +1 @@
|
||||
// populated in Task 1
|
||||
@@ -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
|
||||
@@ -0,0 +1 @@
|
||||
// PtyHandle implemented in Task 3.
|
||||
@@ -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
|
||||
@@ -0,0 +1,3 @@
|
||||
fn main() {
|
||||
println!("spaceshd skeleton");
|
||||
}
|
||||
Reference in New Issue
Block a user