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