hanoman 0.1.55 → 0.1.57

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 CHANGED
@@ -11,8 +11,18 @@ hanoman doctor # periksa prasyarat
11
11
  hanoman # jalan di http://127.0.0.1:8787
12
12
  ```
13
13
 
14
- Buka URL-nya, buat akun pertama, selesai. Datanya di `~/.hanoman/` (SQLite**tanpa Docker,
15
- tanpa Postgres, tanpa Redis**).
14
+ Buka URL-nya. Pada pemakaian pertama hanoman menyajikan **wizard setup dua langkah** peruntukan
15
+ (device sendiri / diakses orang lain) lalu keamanan — kemudian meminta akun pertama. Datanya di
16
+ `~/.hanoman/` (SQLite — **tanpa Docker, tanpa Postgres, tanpa Redis**).
17
+
18
+ **Hardening bersifat opsional dan default MATI** (SPEC-884/ADR-0139): tanpa `HANOMAN_HARDENING=1`,
19
+ hanoman jalan di device mana pun tanpa podman, tanpa reverse proxy, tanpa setup token — termasuk
20
+ sebagai root. Nyalakan hardening dari wizard (atau Settings → Setup awal) begitu prasyaratnya hijau.
21
+
22
+ > Instance yang diakses orang lain tanpa hardening hanya dijaga password akun hanoman — sesi agen
23
+ > berjalan langsung di mesin itu. Kalau instance akan dibuka ke internet, **selesaikan wizard di
24
+ > `localhost` dulu, baru sambungkan domain**: selama akun pertama belum ada, wizard bisa diklaim
25
+ > siapa pun yang membukanya.
16
26
 
17
27
  ## Prasyarat yang tidak dibawa npm
18
28
 
@@ -21,6 +31,7 @@ tanpa Postgres, tanpa Redis**).
21
31
  | `git` | tiap sesi jalan di git worktree terisolasi |
22
32
  | `tmux` | sesi agen hidup di tmux, selamat dari restart server |
23
33
  | `claude` **atau** `codex` | agen yang mengerjakan backlog |
34
+ | `curl` | hook sesi mengirim pertanyaan agen ke server — tanpanya **hanoman-lead tak menerima satu pun pertanyaan** (SPEC-909/ADR-0146). Tidak fatal: hook selalu `exit 0` dan tak pernah memblokir agen, jadi sesi cuma kembali menunggu manusia — dan justru karena senyap, `doctor` menandainya `!` alih-alih `✗` |
24
35
 
25
36
  `hanoman doctor` melaporkan mana yang belum ada, dan keluar dengan kode ≠ 0 bila ada yang wajib.
26
37
 
@@ -31,12 +42,29 @@ hanoman [start] jalankan (migrasi + server + dashboard)
31
42
  --port <n> --host <h> --db <file> --no-migrate
32
43
  hanoman doctor periksa prasyarat
33
44
  hanoman update [--check] pasang versi terbaru dari npm
45
+ hanoman provision [--with=a,b] pasang komponen di MESIN INI (hanoman, caddy, claude, codex, gh)
46
+ [--profile=lab|production] [--domain=<d>] [--probe] [--dry-run] [--yes]
34
47
  hanoman migrate-from-postgres --from <url> [--to <file>] [--dry-run] [--force]
35
48
  hanoman mcp [--read-only] MCP server stdio untuk klien AI
36
49
  [--host <url>] [--max-bytes <n>]
37
50
  hanoman docs scan | index | link operasi index Source of Truth
38
51
  ```
39
52
 
53
+ ## Menyiapkan VPS
54
+
55
+ `hanoman provision` memasang komponen di mesin tempat ia dijalankan; layar VPS di dashboard
56
+ menjalankan skrip yang sama lewat SSH ke VPS terdaftar.
57
+
58
+ ```sh
59
+ hanoman provision --probe # laporkan apa yang ada, nol tulis
60
+ hanoman provision --with=hanoman,caddy --domain=hn.contoh.id --dry-run
61
+ hanoman provision --with=hanoman,caddy --domain=hn.contoh.id --yes
62
+ ```
63
+
64
+ `claude`, `codex`, dan `gh` dipasang binernya saja — login-nya interaktif dan tetap kerjaan manusia;
65
+ probe melaporkannya `partial not-logged-in` sampai kamu login sekali. hanoman tak pernah menyentuh
66
+ kredensial agen. Bila `caddy` dipilih, A record domain harus sudah menunjuk ke IP mesin itu.
67
+
40
68
  ## Dipakai agen AI (MCP)
41
69
 
42
70
  Agen AI mana pun yang berbicara MCP — Claude Code, Claude Desktop, Codex, Cursor, Copilot — bisa
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.55",
3
- "sha": "912f83b1",
4
- "builtAt": "2026-08-21T09:35:37.428Z"
2
+ "version": "0.1.57",
3
+ "sha": "adc91bbe",
4
+ "builtAt": "2026-08-23T01:27:34.157Z"
5
5
  }