feat(maestro): add maestro-install wizard (cargo install + systemd)
ci / rust (push) Successful in 1m35s

New `maestro-installer` crate exposing the `maestro-install` binary. Bootstrap
flow: `cargo install --git ... maestro-installer && maestro-install` runs
`cargo install` for `maestro-daemon` and `maestro-cli`, optionally drives
`maestrod configure`, and on systemd hosts writes a user unit at
`~/.config/systemd/user/maestrod.service` plus reload/enable/start. Pure
builders (cargo install args, systemctl args, unit body) live in the lib and
are unit-tested; main.rs is the prompt glue.

Refs NAP-225.
This commit is contained in:
2026-05-25 14:30:03 +00:00
parent 50f24a2cf9
commit 2da41cc720
8 changed files with 711 additions and 0 deletions
+3
View File
@@ -22,10 +22,13 @@ crates/
├── maestro-daemon/ # per-host tmux wrapper + WS endpoints (NAP-212, NAP-214)
├── maestro-registry/ # always-on phone book + HTTP API (NAP-213, NAP-215)
├── maestro-cli/ # `maestro list/spawn/attach/kill` (NAP-216)
├── maestro-installer/ # `maestro-install` wizard: cargo install + systemd (NAP-225)
└── maestro-e2e/ # cross-process integration tests (NAP-217)
web/ # browser client (NAP-218, plan 2)
```
See `docs/INSTALL.md` for end-user install instructions.
## Conventions
- **TDD by default.** Failing test first, then minimal impl. Commit test + impl together.