chore: monorepo inicial con arje + minga + yahweh absorbidos
1[workspace]
2resolver = "2"
3members = [
4 # ============================================================
5 # core/ — Init y compat (arje absorbido)
6 # ============================================================
7 "crates/core/ente-card",
8 "crates/core/ente-bus",
9 "crates/core/ente-cas",
10 "crates/core/ente-kernel",
11 "crates/core/ente-soma",
12 "crates/core/ente-wasm",
13 "crates/core/ente-snapshot",
14 "crates/core/ente-brain",
15 "crates/core/ente-zero",
16 "crates/core/ente-echo",
17 "crates/core/ente-policy-provider",
18 "crates/core/ente-logind-compat",
19 "crates/core/ente-hostnamed-compat",
20 "crates/core/ente-timedated-compat",
21 "crates/core/ente-localed-compat",
22 "crates/core/ente-journald-compat",
23 "crates/core/ente-resolved-compat",
24 "crates/core/ente-polkit-compat",
25 "crates/core/ente-machined-compat",
26 "crates/core/ente-tmpfiles-compat",
27 "crates/core/ente-systemd1-compat",
28 "crates/core/ente-notify-compat",
29 "crates/core/ente-binfmt-compat",
30 "crates/core/ente-timer-compat",
31
32 # ============================================================
33 # modules/semantic_dht/ — DHT semántico (minga absorbido)
34 # ============================================================
35 "crates/modules/semantic_dht/minga-core",
36 "crates/modules/semantic_dht/minga-store",
37 "crates/modules/semantic_dht/minga-p2p",
38 "crates/modules/semantic_dht/minga-vfs",
39 "crates/modules/semantic_dht/minga-cli",
40
41 # ============================================================
42 # modules/ui_engine/ — Motor de widgets (yahweh libs+widgets)
43 # ============================================================
44 "crates/modules/ui_engine/libs/core",
45 "crates/modules/ui_engine/libs/theme",
46 "crates/modules/ui_engine/libs/bus",
47 "crates/modules/ui_engine/libs/providers/fs",
48 "crates/modules/ui_engine/libs/providers/sqlite",
49 "crates/modules/ui_engine/widgets/tree",
50 "crates/modules/ui_engine/widgets/container_core",
51 "crates/modules/ui_engine/widgets/splitter",
52 "crates/modules/ui_engine/widgets/tabs",
53 "crates/modules/ui_engine/widgets/tiled",
54 "crates/modules/ui_engine/widgets/text_input",
55
56 # ============================================================
57 # apps/ — apps que consumen el protocolo (yahweh modules+shell)
58 # ============================================================
59 "crates/apps/file_explorer",
60 "crates/apps/database_explorer",
61 "crates/apps/text_viewer",
62 "crates/apps/image_viewer",
63 "crates/apps/yahweh-shell",
64]
65
66[workspace.package]
67version = "0.1.0"
68edition = "2021"
69rust-version = "1.80"
70license = "MIT OR Apache-2.0"
71authors = ["Brahman Contributors"]
72publish = false
73repository = "https://example.invalid/brahman"
74
75[workspace.dependencies]
76# === Serialización ===
77serde = { version = "1", features = ["derive"] }
78serde_json = "1"
79serde-big-array = "0.5"
80postcard = { version = "1", features = ["use-std"] }
81toml = "0.8"
82bincode = "1"
83base64 = "0.22"
84
85# === Errores ===
86thiserror = "2" # bump uniforme; arje (era 1) puede requerir ajustes menores
87anyhow = "1"
88
89# === Async ===
90tokio = { version = "1", features = ["full"] }
91tokio-util = { version = "0.7", features = ["compat"] }
92async-trait = "0.1"
93futures = "0.3"
94
95# === Observabilidad ===
96tracing = "0.1"
97tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
98
99# === Linux primitives (arje) ===
100nix = { version = "0.29", features = ["signal", "process", "sched", "mount", "fs", "socket", "net", "user"] }
101libc = "0.2"
102
103# === IDs / Hash / Crypto ===
104ulid = { version = "1", features = ["serde"] }
105uuid = { version = "1", features = ["v4"] }
106sha2 = "0.10"
107blake3 = "1.5"
108ed25519-dalek = "2"
109aes-gcm = "0.10"
110argon2 = "0.5"
111rand = "0.8"
112
113# === WASM (arje) ===
114wasmi = "0.40"
115wat = "1"
116
117# === Storage / DB ===
118sled = "0.34"
119rusqlite = { version = "0.31", features = ["bundled", "blob"] }
120
121# === P2P (minga) ===
122libp2p = { version = "0.56", features = ["tokio", "tcp", "noise", "yamux", "macros", "kad", "identify"] }
123libp2p-stream = "=0.4.0-alpha"
124
125# === Code parsing (minga) ===
126tree-sitter = "0.24"
127tree-sitter-rust = "0.23"
128
129# === FS notify ===
130notify = "6.1"
131
132# === CLI / auth (minga) ===
133clap = { version = "4", features = ["derive"] }
134rpassword = "7"
135
136# === D-Bus (arje compat) ===
137zbus = { version = "4", default-features = false, features = ["tokio"] }
138
139# === Tests ===
140tempfile = "3"
141
142# === GPUI (yahweh) ===
143gpui = "0.2"
144
145# === Filesystem helpers ===
146directories = "5"
147
148# ============================================================
149# Intra-workspace deps de yahweh (referenciadas por workspace = true)
150# ============================================================
151yahweh-core = { path = "crates/modules/ui_engine/libs/core" }
152yahweh-theme = { path = "crates/modules/ui_engine/libs/theme" }
153yahweh-bus = { path = "crates/modules/ui_engine/libs/bus" }
154yahweh-provider-fs = { path = "crates/modules/ui_engine/libs/providers/fs" }
155yahweh-provider-sqlite = { path = "crates/modules/ui_engine/libs/providers/sqlite" }
156yahweh-widget-tree = { path = "crates/modules/ui_engine/widgets/tree" }
157yahweh-widget-container-core = { path = "crates/modules/ui_engine/widgets/container_core" }
158yahweh-widget-splitter = { path = "crates/modules/ui_engine/widgets/splitter" }
159yahweh-widget-tabs = { path = "crates/modules/ui_engine/widgets/tabs" }
160yahweh-widget-tiled = { path = "crates/modules/ui_engine/widgets/tiled" }
161yahweh-widget-text-input = { path = "crates/modules/ui_engine/widgets/text_input" }
162yahweh-file-explorer = { path = "crates/apps/file_explorer" }
163yahweh-database-explorer = { path = "crates/apps/database_explorer" }
164yahweh-text-viewer = { path = "crates/apps/text_viewer" }
165yahweh-image-viewer = { path = "crates/apps/image_viewer" }
166
167[profile.release]
168lto = "thin"
169codegen-units = 1
170strip = "symbols"
171panic = "abort"
172
173[profile.dev]
174opt-level = 0
175debug = true