main
toml 76 lines 3.22 KB
Raw
1 [package]
2 name = "proses"
3 version = "0.1.1"
4 edition = "2021"
5 description = "Proses – Professional Secure Execution System"
6 license = "MIT"
7 repository = "https://github.com/smbcloudXYZ/proses"
8 homepage = "https://smbcloud.xyz"
9 documentation = "https://docs.rs/proses"
10 keywords = ["process-manager", "daemon", "deploy", "nextjs", "tui"]
11 categories = ["command-line-utilities", "os"]
12
13 [[bin]]
14 name = "proses"
15 path = "src/main.rs"
16
17 # ── Runtime ────────────────────────────────────────────────────────────────────
18 [dependencies]
19
20 # CLI argument parsing
21 clap = { version = "4", features = ["derive"] }
22
23 # Async runtime – used exclusively inside the background daemon process.
24 # The CLI itself is fully synchronous.
25 tokio = { version = "1", features = ["full"] }
26
27 # ── Serialisation ──────────────────────────────────────────────────────────────
28
29 # IPC protocol (newline-delimited JSON over a Unix domain socket) +
30 # persistent state store (~/.proses/store.json)
31 serde = { version = "1", features = ["derive"] }
32 serde_json = "1"
33
34 # Timestamps and uptime calculations
35 chrono = { version = "0.4", features = ["serde"] }
36
37 # ── Terminal UI ────────────────────────────────────────────────────────────────
38
39 # Primary TUI framework – live dashboard, log viewer, process table
40 ratatui = "0.29"
41
42 # Event handling (keyboard, resize) – must match the version ratatui 0.29 uses
43 crossterm = "0.28"
44
45 # ── System / Unix ──────────────────────────────────────────────────────────────
46
47 # Low-level Unix syscalls: fork(2), setsid(2), dup2(2), kill(2), waitpid(2)
48 # All signal operations are done via raw libc for maximum portability and to
49 # avoid any version-skew issues with higher-level wrappers.
50 libc = "0.2"
51
52 # ── Utilities ──────────────────────────────────────────────────────────────────
53
54 # Ergonomic error handling throughout
55 anyhow = "1"
56
57 # Home-directory resolution for ~/.proses/
58 home = "0.5"
59
60 # One-time global initialisation of the Config singleton
61 once_cell = "1"
62
63 # ── Debian packaging (cargo-deb) ──────────────────────────────────────────────
64 [package.metadata.deb]
65 maintainer = "Seto Elkahfi <hej@setoelkahfi.se>"
66 section = "utils"
67 priority = "optional"
68 depends = "libc6 (>= 2.17)"
69 extended-description = """\
70 Proses is a fast, secure process manager built in Rust. \
71 One command starts your app, supervises it, restarts it on crash, \
72 and captures its logs — no config files, no Node runtime, \
73 no dependency hell. A single binary. A live terminal dashboard."""
74 assets = [
75 ["target/release/proses", "usr/bin/", "755"],
76 ]