@hasna/machines 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -8
- package/dist/cli/index.js +714 -144
- package/dist/cli-utils.d.ts +7 -0
- package/dist/cli-utils.d.ts.map +1 -0
- package/dist/commands/apps.d.ts +3 -1
- package/dist/commands/apps.d.ts.map +1 -1
- package/dist/commands/doctor.d.ts +3 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/install-claude.d.ts +3 -1
- package/dist/commands/install-claude.d.ts.map +1 -1
- package/dist/commands/notifications.d.ts +5 -2
- package/dist/commands/notifications.d.ts.map +1 -1
- package/dist/commands/self-test.d.ts +3 -0
- package/dist/commands/self-test.d.ts.map +1 -0
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +668 -315
- package/dist/mcp/index.js +2055 -1747
- package/dist/mcp/server.d.ts +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/remote.d.ts +9 -0
- package/dist/remote.d.ts.map +1 -0
- package/dist/types.d.ts +68 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
# @hasna/machines
|
|
2
2
|
|
|
3
|
-
Machine fleet management for developers — provision, sync, and
|
|
3
|
+
Machine fleet management for developers — provision, sync, inspect, and operate multiple development machines from CLI and MCP.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Binaries
|
|
6
6
|
|
|
7
|
-
- `machines`: Commander-based CLI for manifest, setup, sync, and
|
|
7
|
+
- `machines`: Commander-based CLI for manifest, setup, sync, inspection, and dashboard commands
|
|
8
8
|
- `machines-mcp`: MCP server exposing fleet tools to AI agents
|
|
9
9
|
- `machines-agent`: lightweight local daemon for heartbeats and runtime reporting
|
|
10
10
|
|
|
11
11
|
## Manifest
|
|
12
12
|
|
|
13
|
-
`machines.json` is the desired fleet declaration.
|
|
13
|
+
`machines.json` is the desired fleet declaration.
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
16
|
machines manifest init
|
|
@@ -28,23 +28,41 @@ machines setup --machine spark01 --json
|
|
|
28
28
|
machines setup --machine spark01 --apply --yes
|
|
29
29
|
machines sync --machine spark01 --json
|
|
30
30
|
machines sync --machine spark01 --apply --yes
|
|
31
|
+
machines doctor --machine spark01
|
|
32
|
+
machines self-test
|
|
31
33
|
```
|
|
32
34
|
|
|
33
35
|
## Applications and tooling
|
|
34
36
|
|
|
35
37
|
```bash
|
|
36
|
-
machines apps list --machine apple03
|
|
38
|
+
machines apps list --machine apple03
|
|
39
|
+
machines apps status --machine apple03
|
|
40
|
+
machines apps diff --machine apple03
|
|
37
41
|
machines apps plan --machine apple03 --json
|
|
38
42
|
machines apps apply --machine apple03 --yes
|
|
39
43
|
|
|
40
|
-
machines install-claude --machine spark01
|
|
41
|
-
machines install-claude --machine spark01
|
|
44
|
+
machines install-claude status --machine spark01
|
|
45
|
+
machines install-claude diff --machine spark01
|
|
46
|
+
machines install-claude plan --machine spark01 --tool claude codex --json
|
|
47
|
+
machines install-claude apply --machine spark01 --tool claude codex --yes
|
|
42
48
|
|
|
43
49
|
machines install-tailscale --machine apple03 --json
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Notifications
|
|
53
|
+
|
|
54
|
+
```bash
|
|
44
55
|
machines notifications add --id ops --type webhook --target https://example.com/hook --event sync_failed
|
|
45
|
-
machines notifications
|
|
56
|
+
machines notifications list
|
|
57
|
+
machines notifications test --channel ops
|
|
58
|
+
machines notifications test --channel ops --apply --yes
|
|
59
|
+
machines notifications dispatch --event manual.test --message "hello fleet"
|
|
46
60
|
```
|
|
47
61
|
|
|
62
|
+
- `email` channels deliver through local `sendmail` or `mail` when available
|
|
63
|
+
- `webhook` channels deliver JSON via HTTP POST
|
|
64
|
+
- `command` channels execute the configured command with `HASNA_MACHINES_NOTIFICATION_*` env vars
|
|
65
|
+
|
|
48
66
|
## Dashboard
|
|
49
67
|
|
|
50
68
|
```bash
|
|
@@ -59,6 +77,13 @@ The dashboard exposes:
|
|
|
59
77
|
- `/api/status` fleet status JSON
|
|
60
78
|
- `/api/manifest` current manifest JSON
|
|
61
79
|
- `/api/notifications` notification channel JSON
|
|
80
|
+
- `/api/doctor` doctor report JSON
|
|
81
|
+
- `/api/self-test` smoke-check JSON
|
|
82
|
+
- `/api/apps/status` app inventory JSON
|
|
83
|
+
- `/api/apps/diff` app drift JSON
|
|
84
|
+
- `/api/install-claude/status` CLI inventory JSON
|
|
85
|
+
- `/api/install-claude/diff` CLI drift JSON
|
|
86
|
+
- `/api/notifications/test` POST endpoint for test delivery
|
|
62
87
|
|
|
63
88
|
## Local development
|
|
64
89
|
|