@azure-id/orc 0.55.0 โ†’ 0.56.0

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-id.md CHANGED
@@ -1,521 +1,592 @@
1
- <div align="center">
2
-
3
- # ๐Ÿ‹ ORC
4
-
5
- **Kumpulan skill orkestrator untuk [Claude Code](https://claude.com/claude-code).**
6
-
7
- *Terima permintaan โ†’ pahami โ†’ rencanakan โ†’ beri nilai โ†’ kerjakan paralel โ†’ periksa โ†’ uji โ†’ kirim.*
8
-
9
- ![Version](https://img.shields.io/badge/version-0.55.0-blue.svg?style=for-the-badge)
10
- ![License](https://img.shields.io/badge/license-MIT-green.svg?style=for-the-badge)
11
- ![Node](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg?style=for-the-badge)
12
- ![Claude Code](https://img.shields.io/badge/Claude_Code-Skills-purple.svg?style=for-the-badge)
13
- ![Dependencies](https://img.shields.io/badge/dependencies-zero-lightgrey.svg?style=for-the-badge)
14
-
15
- **Versi terbaru: v0.49.1** ยท diperbarui 18-08-2026 ยท [daftar perubahan lengkap](CHANGELOG.md)
16
-
17
- **๐Ÿ‡ฌ๐Ÿ‡ง [Read this in English](README.md)**
18
-
19
- </div>
20
-
21
- ---
22
-
23
- > **Tentang terjemahan ini.** Halaman ini memakai bahasa yang sederhana supaya
24
- > mudah dipahami. Semua **perintah, nama berkas, nama model, dan kata status**
25
- > ditulis apa adanya dalam bahasa Inggris โ€” itu bukan kata biasa, itu nama yang
26
- > harus Anda ketik persis seperti aslinya.
27
- >
28
- > Kalau ada bagian yang terasa berbeda dengan versi Inggris, **[README.md](README.md)
29
- > yang berlaku**.
30
-
31
- ---
32
-
33
- ## Apa itu ORC?
34
-
35
- Anda memberi ORC sebuah permintaan โ€” bisa satu kalimat, bisa sebuah dokumen
36
- kebutuhan. ORC akan:
37
-
38
- 1. mencari tahu apa sebenarnya maksud Anda,
39
- 2. membuat rencana kerja,
40
- 3. mengirim setiap tugas ke **model paling murah yang masih sanggup mengerjakannya**,
41
- 4. mengerjakan tugas-tugas yang tidak saling bentrok **secara bersamaan**,
42
- 5. memeriksa hasilnya,
43
- 6. mengujinya terhadap definisi "selesai" yang sudah Anda setujui,
44
- 7. lalu mengirimkannya.
45
-
46
- ORC menyimpan catatan kerjanya ke disk sambil jalan. Jadi pekerjaan panjang tetap
47
- selamat kalau Anda berhenti di tengah, kalau kuota token habis, atau kalau Anda
48
- membuka sesi obrolan yang benar-benar baru.
49
-
50
- **ORC bukan program yang berjalan sendiri.** ORC adalah kumpulan berkas markdown
51
- berisi **skill**, **perintah garis miring** (`/perintah`), dan **definisi
52
- subagen** yang dibaca dan diikuti oleh Claude Code. Paket npm ini โ€” yang tidak
53
- punya satu pun dependensi โ€” hanya menyalin berkas-berkas itu ke folder `.claude/`
54
- Anda.
55
-
56
- ```text
57
- โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Anda yang menentukan cakupan + persetujuan โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
58
- permintaan / dokumen โ”€โ”€โ–ถ terima โ”€โ–ถ pahami โ”€โ–ถ rencana โ”€โ–ถ nilai โ”€โ–ถ โ‡‰ gelombang paralel โ‡‰ โ”€โ–ถ periksa โ”€โ–ถ uji โ”€โ–ถ kirim
59
- (berdasar kode) (per tugas) (model termurah yang sanggup) (disimpan ke disk)
60
- ```
61
-
62
- ---
63
-
64
- ## ๐Ÿ‘€ Lihat dulu sebelum Anda pakai
65
-
66
- Setiap lane ditulis lengkap sebagai **mock run** โ€” contoh jalannya: apa yang Anda
67
- ketik, apa yang ORC balas, dan berkas apa yang muncul di disk. Tidak ada yang
68
- benar-benar dijalankan untuk membuatnya. Contoh-contoh itu ada supaya Anda tidak
69
- perlu membakar token hanya untuk tahu sebuah perintah melakukan apa.
70
-
71
- ### **โ–ถ [Mulai di sini: `mock-run/INDEX.md`](mock-run/INDEX.md)**
72
-
73
- Bisa juga dibaca tanpa meninggalkan komputer Anda:
74
-
75
- ```bash
76
- orc mock-run list # semua contoh, urut dari yang paling awal dibaca
77
- orc mock-run show orc-pact # baca satu
78
- orc ui # โ–ธ Mocked Skill Use โ€” contoh yang sama, bisa dicari
79
- ```
80
-
81
- ---
82
-
83
- ## Kenapa dibuat seperti ini?
84
-
85
- Satu agen yang diberi pekerjaan nyata selalu gagal dengan cara yang sama: ia
86
- diam-diam memilih satu tafsiran dari permintaan Anda, memakai model termahal
87
- untuk semuanya, lupa keputusan begitu konteksnya dipadatkan, bilang "selesai"
88
- terhadap definisi yang tidak pernah ditulis siapa pun, mengutip kode yang tidak
89
- ada, dan tidak meninggalkan apa pun untuk diperiksa.
90
-
91
- Itu semua **masalah proses** โ€” persis masalah yang di tim manusia diselesaikan
92
- dengan pembagian peran, review, dan kesepakatan tertulis. ORC menuliskan
93
- kedisiplinan itu sebagai skill:
94
-
95
- - **Mengatur dan mengerjakan adalah dua pekerjaan berbeda.** Sang orkestrator
96
- tidak pernah menulis kode. Bahkan perubahan satu baris pun dikirim ke subagen,
97
- supaya konteks orkestrator tetap ringan sepanjang pekerjaan.
98
- - **Setiap tugas diberi nilai, dan nilai itu yang memilih model.** Anda melihat
99
- tabelnya sebelum apa pun dimulai, dan setiap agen punya nama serta model yang
100
- dikunci โ€” jadi model apa yang benar-benar dipakai adalah fakta yang bisa Anda
101
- periksa.
102
- - **"Selesai" ditulis sebelum pekerjaan dimulai.** Tahap penerimaan menghasilkan
103
- spesifikasi yang Anda setujui, dan definisi "selesai" di dalamnya jadi bahan
104
- pengujian terakhir.
105
- - **Tidak ada yang dipercaya begitu saja, semuanya harus dibuktikan.** Kutipan
106
- `berkas:baris`, keluaran build apa adanya, temuan yang menunjuk baris nyata โ€”
107
- dan orkestrator memeriksa sampel dari bukti itu, jadi kutipan karangan langsung
108
- ditolak, bukan ikut masuk ke tugas berikutnya.
109
- - **Disk lebih dipercaya daripada ingatan.** ORC rajin menyimpan titik simpan,
110
- jadi setiap jeda jadi titik lanjut yang bersih โ€” termasuk di sesi baru.
111
- - **Ketelitian bisa diatur.** Tulang punggung yang sama bisa jalan sebagai
112
- `/orc-mini` (satu subagen), `/orc` (fitur sungguhan), dan `/orc-ultra`
113
- (dengan penasihat dan gerbang penilaian).
114
- - **Ia belajar.** Pola kode membuat agen menulis mirip gaya kode Anda, wiki
115
- membuat setiap rencana berikutnya lebih tajam, dan catatan jejak dibaca oleh
116
- `/orc-retro` yang menyetel ulang penilaiannya dari kerja nyata.
117
-
118
- ---
119
-
120
- ## Cara mulai
121
-
122
- ```bash
123
- npm i -g https://github.com/azure-id/orc/archive/refs/heads/main.tar.gz
124
- ```
125
-
126
- Lalu, di dalam sebuah proyek:
127
-
128
- ```bash
129
- orc init # pasang ke ./.claude (proyek ini saja)
130
- orc init --global # pasang ke ~/.claude (semua proyek)
131
- orc onboarding # panduan lengkap langsung di terminal โ€” tanpa buka GitHub
132
- orc config # lihat atau ubah pengaturan (nol token model)
133
- orc ui # panel kendali lokal
134
- orc --help # semua perintah
135
- ```
136
-
137
- Setelah dipasang:
138
-
139
- 1. Tempelkan templat PR tim Anda ke `skills/orc/subskills/orc-pr/pr.md`.
140
- 2. Tambahkan `.claude/orc/run/` ke `.gitignore` proyek Anda.
141
- 3. Jalankan **`/agents`** untuk memastikan Claude Code Anda menerima id model
142
- milik para agen.
143
- 4. **Jalankan sesi utama Anda di Opus 5.** Sebuah subagen tidak akan pernah bisa
144
- memakai model yang lebih baik daripada sesi Anda. Ini penyebab paling sering
145
- dari keluhan "kok modelnya salah" โ€” lihat
146
- [pemilihan model](guides/model-selection.md).
147
- 5. Kalau sebuah `/perintah` tidak muncul, mungkin Claude Code Anda membaca
148
- perintah dari folder lain โ€” pindahkan berkas di `commands/` ke sana.
149
-
150
- <details>
151
- <summary><b>Tetap memakai versi terbaru</b></summary>
152
-
153
- <br>
154
-
155
- `orc update` menyalin ulang berkas yang **sudah ada** di paket ini. Perintah itu
156
- tidak menyentuh internet sama sekali. **`orc upgrade` adalah yang menarik versi
157
- baru**: ia mengambil paket terbaru dulu, lalu memasangnya. Berkas
158
- `.claude/orc.config.yaml` Anda selamat di kedua perintah itu.
159
-
160
- ```bash
161
- orc version # versi Anda, dan apakah ada yang lebih baru
162
- orc changelog # apa yang akan Anda DAPAT kalau upgrade
163
- orc upgrade # ambil yang terbaru, lalu perbarui proyek ini
164
- orc upgrade --global # sama, tapi untuk ~/.claude
165
- orc upgrade --from github:azure-id/orc # dari fork, atau spesifikasi npm apa pun
166
- ```
167
-
168
- Pemeriksaan versi dilakukan lewat HTTPS, hasilnya disimpan 24 jam, dan gagal
169
- diam-diam kalau Anda sedang offline. Matikan dengan `ORC_NO_UPDATE_CHECK=1`.
170
-
171
- Anda tidak perlu menjalankan perintah untuk tahu ada versi baru: pemberitahuan
172
- yang sama muncul di dalam Claude Code lewat hook milik ORC, dengan **nol token
173
- model** โ€” hook itu skrip yang dijalankan Claude Code, bukan giliran model.
174
-
175
- Kalau pemasangan dari GitHub gagal (sering terjadi di **NVM**), `orc upgrade`
176
- akan mencoba ulang sendiri dengan berkas tarball biasa.
177
-
178
- </details>
179
-
180
- > **"ORC tidak melihat wiki saya"?** Jalankan **`orc wiki sync`**, bukan
181
- > pemindaian baru. Dokumen tanpa manifest itu *belum terdaftar*, bukan hilang โ€”
182
- > ini biasa terjadi kalau pemindaian berhenti di salah satu jeda `/orc-wiki`.
183
- > Sync membangun ulang daftarnya dari dokumen yang sudah Anda punya, gratis.
184
-
185
- > **"Sebenarnya ORC tahu apa tentang proyek saya?"** `orc wiki docs` menampilkan
186
- > semua dokumen yang terdaftar, `orc wiki coverage` memberi tahu berapa banyak
187
- > kode Anda yang sudah pernah ditulis di dokumen, dan `orc pattern show <lang>`
188
- > mencetak kebiasaan kode yang diberikan ke setiap agen penulis kode di sini.
189
- > Semuanya gratis dan hanya membaca โ€”
190
- > **[`guides/knowledge-reads.md`](guides/knowledge-reads.md)**.
191
-
192
- ---
193
- ## Hook di terminal
194
-
195
- ORC punya hook terminal supaya Anda bisa melihat: persentase jendela konteks,
196
- pemakaian 5 jam, pemakaian mingguan, dan beberapa hal lain.
197
-
198
- <img width="725" height="96" alt="image" src="https://github.com/user-attachments/assets/6a649c87-81ea-4fd9-9d0b-6bb4b97fe9cd" />
199
-
200
- <br>
201
-
202
- ---
203
-
204
- ## Lane yang tersedia
205
-
206
- > [!TIP]
207
- > Lane ini menyambung secara alami: **`/orc-brainstorm` โ†’ `/orc-grill` โ†’
208
- > `/orc-analyze` โ†’ `/orc-plan` โ†’ `/orc-route` โ†’ `/orc`**. Anda boleh mulai dari
209
- > mana saja.
210
-
211
- ### Membuat sesuatu
212
-
213
- | Perintah | Kegunaannya | Contoh jalannya |
214
- |---|---|---|
215
- | **`/orc`** | Alur penuh: terima โ†’ rencana โ†’ gelombang paralel bernilai โ†’ periksa โ†’ uji โ†’ kirim. Rajin menyimpan titik simpan; bisa dilanjutkan di sesi baru. | [lihat](mock-run/orc.md) |
216
- | **`/orc-ultra`** | Sama, ditambah penasihat Opus 5 **xhigh** dan tiga gerbang penilaian. Analisis dalam, pola kode, tes, dan keamanan dipaksa menyala. Memang mahal. | [lihat](mock-run/orc-ultra.md) |
217
- | **`/orc-mini`** | Satu agen Sonnet 5, satu pemeriksaan build + tes, lalu kirim. Melewati review penuh dan pengujian. Bisa pindah ke alur penuh di tengah jalan kalau diminta. | [lihat](templates/skills/orc-mini/examples/mini-run-mock.md) |
218
- | **`/orc-fast`** | Lane tercepat. Butuh wiki yang masih segar **dan** pola kode yang sudah tersimpan; kalau ada, ia melewati tahap analis dan perencana sepenuhnya. Kalau salah satu syarat tidak ada, ia mundur ke `/orc-mini` โ€” obrolan tidak pernah berhenti. | [lihat](mock-run/orc-fast.md) |
219
- | **`/orc-quick`** | Minta apa saja: perbaikan kecil, pertanyaan, mencari bug, menaikkan versi dependensi, komentar PR. Lihat โ†’ tanya sekali โ†’ kerjakan. **Selalu bertanya agen mana yang mau dipakai**, dan tidak ada pengaturan yang bisa mengubah itu. | [lihat](mock-run/orc-quick.md) |
220
- | **`/orc-diy`** | Lane racikan Anda sendiri, disusun di terminal dengan `orc diy` lalu dikompilasi. Kalau belum disetel atau sudah basi, ia menolak jalan dan menawarkan `/orc` biasa. | [lihat](mock-run/orc-diy.md) |
221
-
222
- ### Memikirkan apa yang mau dibuat
223
-
224
- | Perintah | Kegunaannya | Contoh jalannya |
225
- |---|---|---|
226
- | **`/orc-brainstorm`** | Idenya belum ada. Ia membuat banyak calon ide memakai beberapa sudut pandang, **tanpa mengkritik apa pun saat masih mengumpulkan**, mengelompokkannya jadi beberapa arah nyata, menguji setiap arah, lalu merekomendasikan satu dan **menunggu โ€” ia tidak pernah memilih untuk Anda**. Setiap daftar pilihan selalu diakhiri satu slot untuk ide Anda sendiri. | [lihat](mock-run/orc-brainstorm.md) |
227
- | **`/orc-grill`** | Idenya sudah ada satu, tapi masih kabur. Ia bertanya beberapa ronde, **mencari faktanya sendiri** alih-alih menyuruh Anda menghafal isi kode Anda sendiri, dan tidak pernah menjawab pertanyaannya sendiri. Selesai kalau *Anda* bilang idenya sudah pas. | [lihat](mock-run/orc-grill.md) |
228
- | **`/orc-analyze`** | Dokumen atau permintaan โ†’ spesifikasi yang jelas batasnya dan berpijak pada kode. Setiap klaim membawa bukti `berkas:baris`, atau berubah jadi pertanyaan. Mode dalam menambah beberapa pemeriksa paralel. | [lihat](templates/skills/orc-analyze/examples/analyze-mock.md) |
229
- | **`/orc-plan`** | Permintaan atau spesifikasi โ†’ rencana tugas sungguhan: berkas nyata, urutan ketergantungan, sifat tiap tugas, dan keputusan tes per tugas. | [lihat](mock-run/orc-plan.md) |
230
- | **`/orc-doc`** | Menulis dokumen panjang โ€” PRD, TSD, kesepakatan antar tim, laporan status, atau runbook โ€” sebagai Markdown yang bisa diimpor rapi ke Notion, Obsidian, Google Docs, Coda, Craft, dan GitHub. **ORC tidak pernah membaca isi dokumennya**: tiap bagian jadi berkasnya sendiri di `sections/`, tiap penulis memegang tepat satu berkas, tiap pemeriksa membaca satu potongan, dan `document.md` hanyalah hasil rakitan yang dibangun ulang gratis. Setiap gelombang adalah titik berhenti yang aman, dan berbulan-bulan kemudian bisa dilanjutkan tanpa Anda menjelaskan ulang apa pun. | [lihat](mock-run/orc-doc.md) |
231
- | **`/orc-route`** | Rencananya sudah ada โ€” lane mana yang sebaiknya mengerjakan? Ia menyebut satu lane, lalu pilihan lain beserta apa yang Anda korbankan, dan lane mana yang tidak mungkin beserta syarat yang menghalanginya. **Ia menolak memilih lane hanya dari satu kalimat**, karena itu sama saja menebak. | [lihat](mock-run/orc-route.md) |
232
- | **`/orc-explain`** | "Tunggu, tadi apa?" Ia mengulang pesan terakhir: intinya dulu, lalu latar belakang yang tadi dianggap sudah Anda tahu, lalu semua istilah khas ORC dijelaskan dengan kata-kata proyek Anda sendiri. | [lihat](mock-run/orc-explain.md) |
233
- | **`/orc-poly`** | Satu perubahan yang menyentuh dua repo atau lebih, tanpa jadi melenceng. Kode repo tetangga hanya dibaca; ia membekukan batas bersama jadi sebuah kontrak lalu menulis satu rencana per repo. Ia tidak pernah membangun apa pun. | [lihat](templates/skills/orc-poly/examples/poly-run-mock.md) |
234
-
235
- ### Mengajari ORC tentang proyek Anda
236
-
237
- | Perintah | Kegunaannya | Contoh jalannya |
238
- |---|---|---|
239
- | **`/orc-wiki`** | Memindai kode Anda jadi `wiki/` yang menetap, tiap klaim menunjuk berkas nyata, lalu mengarahkan `CLAUDE.md` ke sana. Kesegarannya dihitung saat dibaca, tidak pernah disimpan. Mahal dan harus Anda minta โ€” ia selalu memperingatkan dulu. | [lihat](templates/skills/orc-wiki/examples/wiki-run-mock.md) |
240
- | **`/orc-pattern`** | Mempelajari kebiasaan kode Anda per bahasa, supaya agen menulis kode yang mirip gaya kode Anda. Kebiasaan Anda yang menang; aturan wajib soal keamanan dan kebenaran tetap dibawa. | [lihat](mock-run/orc-pattern.md) |
241
- | **`/orc-learn`** | Dokumen pengenalan untuk manusia, satu fitur sekali jalan, menunjuk `berkas:baris`. Tersimpan lokal dan diabaikan git. | [lihat](templates/skills/orc-learn/examples/learn-run-mock.md) |
242
- | **`/orc-claude`** | Membuat atau menyegarkan `CLAUDE.md` repo ini dari fakta yang sudah diperiksa. Tanpa pertanyaan; tulisan Anda sendiri tidak pernah dipotong. | [lihat](templates/skills/orc-claude/examples/claude-run-mock.md) |
243
- | **`/orc-export`** | Merangkum wiki, pola kode, `PACT.md`, dan kartu batas jadi satu `AGENTS.md` yang bisa dibawa ke mana-mana โ€” diturunkan, bersidik jari, bisa diperiksa dengan `--check`. Supaya ORC tidak jadi jebakan. | [lihat](mock-run/orc-export.md) |
244
-
245
- ### Memeriksa apa yang sudah terjadi
246
-
247
- | Perintah | Kegunaannya | Contoh jalannya |
248
- |---|---|---|
249
- | **`/orc-challenge`** | Menilai sesuatu yang **sudah jadi** โ€” TSD, PRD, ADR, kontrak API, README, satu modul kode โ€” terhadap tujuan yang **Anda** nyatakan, lalu **berhenti dan menyuruh Anda memperbaikinya di sesi lain**. ORC menilai, Anda memperbaiki, ORC menilai lagi: **ia tidak pernah memperbaiki apa yang ia nilai**, karena sesi yang baru saja menulis perbaikan pasti memberi nilai bagus pada pekerjaannya sendiri. **Dan ia tidak pernah menebak arti "bagus" di sini.** | [lihat](mock-run/orc-challenge.md) |
250
- | **`/orc-pact`** | Janji-janji yang dipegang proyek Anda, dan mana yang sekarang diragukan. Empat status, semuanya **dihitung saat dibaca**: HOLDING ยท DRIFTED ยท **UNCHECKABLE** (status jujur โ€” bukan kegagalan) ยท BROKEN. Ia tidak pernah mengarang janji dan tidak pernah mencabut janji untuk Anda. | [lihat](mock-run/orc-pact.md) |
251
- | **`/orc-boundary`** | Apa yang **sebaiknya tidak** dicoba ORC di sini, dan apa persisnya yang akan mengubah itu. EXECUTE ยท ESCALATE ยท REFUSE, per area. **REFUSE selalu menyebutkan apa yang akan membuatnya jadi boleh.** Ia hanya membatasi ORC sendiri, tidak pernah membatasi perintah Anda. | [lihat](mock-run/orc-boundary.md) |
252
- | **`/orc-verify`** | Menguji hanya perubahan yang belum di-commit: build, tes, kewajaran diff, dan temuan pada tangga P0โ€“P3. Hanya membaca. | [lihat](templates/skills/orc-verify/examples/verify-mock.md) |
253
- | **`/orc-aftermath`** | Apakah yang kita kirim kemarin bertahan? Dinilai dari masa depan repo itu sendiri: berkas yang cepat ditulis ulang, commit yang dibatalkan, tes yang dihapus, janji yang patah. **Perubahan berulang itu sinyal, bukan vonis**, dan ia tidak pernah menyebut nama orang. | [lihat](mock-run/orc-aftermath.md) |
254
- | **`/orc-budget`** | Berapa biaya sebuah pekerjaan, dalam satuan yang benar-benar ditagihkan ke Anda. Sebuah **vektor token** โ€” input baru, tulis cache, baca cache, output; tidak pernah dicampur โ€” ditampilkan empat cara: token, dolar, persen dari jendela 5 jam Anda, dan risiko jendela konteks. Butuh rencana, bukan satu kalimat. | [lihat](mock-run/orc-budget.md) |
255
- | **`/orc-retro`** | Mengolah catatan jejak jadi laporan kalibrasi lalu mengirimkannya ke hulu sebagai PR. | [lihat](templates/skills/orc-retro/examples/retro-mock.md) |
256
-
257
- ### Mengirim dan menyerahkan
258
-
259
- | Perintah | Kegunaannya | Contoh jalannya |
260
- |---|---|---|
261
- | **`/orc-pr-setup`** | Menentukan di mana perubahan besar dipotong jadi beberapa pull request bertumpuk: lapisan berurutan, masing-masing dengan tujuan, daftar berkas, dan perkiraan biaya. Ia berhenti dan bertanya di setiap sambungan yang meragukan, dan tidak pernah menyentuh git. | [lihat](mock-run/orc-pr-setup.md) |
262
- | **`/orc-pr-driver`** | Menjalankan rencana itu: satu branch per lapisan, **pemeriksaan hijau wajib di dasar tiap lapisan**, `gh stack submit`, lalu susun ulang dan merge dari bawah ke atas. | [lihat](mock-run/orc-pr-setup.md) |
263
- | **`/orc-handoff`** | Untuk orang yang tidak membaca kode. Nilainya ditentukan oleh **ada atau tidaknya pemeriksaan murah**, bukan oleh jenis berkasnya. Ia menampilkan perintah pembatalan *sebelum* menulis, dan tidak pernah menyentuh berkas merah. | [lihat](mock-run/orc-handoff.md) |
264
-
265
- ---
266
-
267
- ## Dokumen yang benar-benar bisa dipindahkan
268
-
269
- `/orc-doc` menulis dokumen panjang โ€” dan Markdown dipilih justru karena berkas
270
- Markdown bisa dibawa ke mana-mana:
271
-
272
- | Tujuan | Bisa impor `.md`? |
273
- |---|---|
274
- | Notion ยท Obsidian ยท Google Docs ยท Coda ยท Craft ยท Apple Notes ยท GitHub | **langsung bisa** |
275
- | Docusaurus ยท Hugo ยท Jekyll ยท MkDocs | bisa โ€” dan justru *butuh* front matter YAML |
276
- | Confluence | tidak langsung. Siapkan aplikasi importir dari marketplace |
277
- | Microsoft OneNote | **tidak bisa**. Ubah dulu ke Word atau PDF |
278
-
279
- Tabel itu bukan hiasan: `orc doc lint --target` benar-benar menegakkan batas
280
- nyata dari tempat tujuan dokumen Anda. Notion hanya punya tiga tingkat judul,
281
- jadi H4 di sana adalah **error**. Paragraf yang dipotong keras per baris adalah
282
- error di mana pun, karena potongan di kolom 80 akan jadi ganti baris sungguhan di
283
- dalam paragraf Notion.
284
-
285
- Ada lima templat dasar โ€” `prd` ยท `tsd` ยท `collaboration` ยท `report` ยท `workflow` โ€”
286
- masing-masing sebagai lantai, bukan kandang. `orc doc templates` mencetaknya;
287
- Anda juga boleh membawa templat sendiri dan judul-judulnya akan jadi kerangka.
288
-
289
- **Penjelasan lengkap: [`guides/documents.md`](guides/documents.md).**
290
-
291
- ---
292
-
293
- ## `orc ui` โ€” panel kendali
294
-
295
- Halaman web lokal untuk **semua bagian ORC yang bukan ai**. Satu batas yang
296
- menentukan segalanya: **ia tidak pernah menjalankan lane, tidak pernah memanggil
297
- `claude`, dan tidak pernah memanggil API model.** Semua yang ditampilkan atau
298
- ditulisnya berasal dari keluaran CLI yang pasti.
299
-
300
- <img width="1870" height="1269" alt="image" src="https://github.com/user-attachments/assets/207fe821-9aa6-430e-bdcc-968340cc687f" />
301
-
302
- ```bash
303
- orc ui # jalan di 127.0.0.1:9921 dan membuka browser
304
- orc ui --port 9930 # port yang Anda sebut sendiri tidak akan pindah โ€” bentrok berarti error
305
- orc ui --no-open # cetak URL-nya saja
306
- orc ui --idle 0 # matikan mati-otomatis saat menganggur (bawaan: 30 menit)
307
- orc ui --fixtures # data contoh, tidak perlu proyek sama sekali
308
- orc ui --stop # matikan server proyek ini
309
- ```
310
-
311
- | Panel | Menampilkan | Bisa mengubah |
312
- |---|---|---|
313
- | Overview | versi, `orc doctor`, kesegaran wiki, apa yang sedang menunggu โ€” plus **Worth doing**, satu daftar semua hal yang butuh keputusan Anda | โ€” |
314
- | Settings | semua kunci pengaturan, dikelompokkan, masing-masing dengan kontrolnya sendiri | perubahan disiapkan dulu, lalu diterapkan bersama |
315
- | Runs | riwayat pekerjaan; satu baris terbuka di tempat berisi ringkasan keadaan, teks untuk melanjutkan, titik simpan, dan ekor catatan jejak | โ€” |
316
- | **Knowledge** | **lima tab**: kesegaran wiki DAN **isinya** (setiap dokumen, apa yang dicakupnya, seberapa sering dibaca), cakupan terhadap berkas terlacak Anda, pola kode beserta pertentangan yang ditandai, ingatan perbaikan dengan pemangkasan yang **ditinjau dulu baru diterapkan**, dan tampilan repo tetangga yang hanya bisa dibaca | `wiki sync`, `gotcha prune` |
317
- | Stats | pemakaian lane dan agen, penurunan model, serta tab **Cost** yang batangnya menjaga "baca cache" tetap terlihat terpisah | โ€” |
318
- | Flow | alur DIY yang sudah dikompilasi, gerbangnya, dan urutan semua fasenya | `diy set`, `diy compile`, preset |
319
- | Crosslink | **Design** (batas antar repo sebagai gambar) dan **Settings** (kesegaran tiap tetangga) | `crosslink add` / `remove` |
320
- | Promises ยท Boundary ยท Self-serve | buku janji, kartu batas, dan permukaan yang boleh diubah orang non-teknis | `pact check`, `pact sync`, `handoff set` |
321
- | **Docs** | setiap dokumen `/orc-doc` sebagai **pita** โ€” satu blok per bagian, lebarnya sesuai panjangnya dan warnanya sesuai statusnya โ€” plus berkas tiap bagian, jalur gelombang, kartu kesehatan lint, dan pratinjau gelombang | `doc compile` ยท `doc migrate` |
322
- | **Mocked Skill Use** | semua contoh jalannya yang ikut dikirim bersama ORC, dikelompokkan dan bisa dicari, dengan panel baca | โ€” |
323
- | Learn | panduan `orc onboarding`, satu bagian sekali baca | โ€” |
324
- | Experiment | setiap lane dengan tombol salin; membuka sesi Claude di terminal | โ€” |
325
- | Maintenance | `update`, `update --prune`, `doctor --fix`, `upgrade` | tinjau dulu, baru terapkan |
326
-
327
- - **Panel ini *adalah* CLI.** Ia membaca `orc <perintah> --json` dan menjalankan
328
- perintah asli untuk setiap penulisan, jadi ia tidak mungkin melenceng dari
329
- CLI โ€” ia tidak menyimpan salinan kedua dari apa pun.
330
- - **Tindakan gratis dapat tombol. Tindakan berbayar dapat perintah untuk disalin.**
331
- - **Tidak ada yang berjalan otomatis**, dan pemangkasan selalu menyebut **setiap**
332
- berkas. Sebuah angka bukan berarti persetujuan.
333
- - **Diperlakukan sebagai permukaan tulis**: hanya loopback, token baru tiap kali
334
- dijalankan, pemeriksaan Host untuk mencegah DNS rebinding, tanpa CORS, dan
335
- perubahan hanya lewat POST.
336
- - **Hanya untuk proyek ini, tidak ada pengaturan `--global`.** Kalau ada
337
- pemasangan global yang bisa mengalahkan pemasangan proyek, setiap halaman
338
- memasang spanduk peringatan. Ia hanya melaporkannya; ia tidak pernah menyunting
339
- pengaturan global.
340
- - **Bahasa Inggris dan Indonesia.** Yang diterjemahkan hanya kalimat milik panel
341
- itu sendiri โ€” kunci pengaturan, id model, jalur berkas, perintah, dan pesan
342
- doctor dicetak persis seperti tulisan CLI, karena kunci pengaturan yang
343
- diterjemahkan adalah kunci yang tidak ada.
344
-
345
- Nol dependensi, tanpa langkah build: `node:http`, JavaScript biasa, dan CSS yang
346
- ditulis tangan.
347
-
348
- ---
349
-
350
- ## Bagaimana modelnya dipilih
351
-
352
- Setiap tugas diberi nilai 0โ€“100 dengan **hitungan, bukan perasaan**: perencana
353
- melaporkan beberapa sifat tugas (luasnya, kebaruannya, kerumitan logikanya,
354
- permukaan tes, risiko yang dikutip, ketidakpastian) dan satu rumus tetap yang
355
- dipublikasikan mengubahnya jadi angka. Risiko yang dikutip memaksa nilai minimal
356
- 70. Nilai itu dipetakan lewat tabel yang dipublikasikan ke **agen bernama dengan
357
- model terkunci** โ€” jadi apa yang benar-benar berjalan bisa diperiksa, bukan
358
- sekadar diminta lewat kalimat.
359
-
360
- > **Aturan yang paling sering membuat orang bingung:** model sebuah subagen tidak
361
- > akan pernah lebih tinggi daripada model sesi utama Anda. Jalankan sesi Anda di
362
- > Opus 5.
363
-
364
- **Penjelasan lengkap โ€” pita nilainya, `opus5_only`, dan penjaga tingkat yang
365
- dipasang `orc init`: [guides/model-selection.md](guides/model-selection.md).**
366
-
367
- ---
368
-
369
- ## Pengaturan
370
-
371
- Pengaturan diubah lewat **CLI `orc config`** โ€” masukan dan keluaran terminal yang
372
- pasti, jadi biayanya **nol token model**.
373
-
374
- ```bash
375
- orc config # menu interaktif
376
- orc config list # pengaturan yang sedang berlaku
377
- orc config recommend # baca repo ini, sarankan SATU profil, beserta alasannya
378
- orc config profile paranoid
379
- ```
380
-
381
- Perubahan Anda tersimpan di `.claude/orc.config.yaml`, dan `orc update` tidak
382
- pernah menimpanya. `orc ui` โ–ธ Settings menyunting kunci yang sama lewat pemeriksa
383
- yang sama.
384
-
385
- **Semua kunci, nilai bawaannya, dan gunanya masing-masing:
386
- [guides/configuration.md](guides/configuration.md).**
387
-
388
- ---
389
-
390
- ## Isi paketnya
391
-
392
- ```
393
- templates/
394
- โ”œโ”€โ”€ skills/ 29 skill โ€” lane di atas, plus yang tidak punya perintah
395
- โ”‚ sendiri: context-combiner, orc-advisor, orc-judge,
396
- โ”‚ orc-analyze-mini, dan _shared/ (kesepakatan lintas lane)
397
- โ”œโ”€โ”€ commands/ 27 perintah garis miring
398
- โ”œโ”€โ”€ hooks/ penjaga effort (PreToolUse) ยท peringatan statusline ยท catatan jejak
399
- โ””โ”€โ”€ agents/ 40 subagen dengan model terkunci + MODEL-MAPPING.md
400
- bin/cli.js pemasang, penyunting pengaturan, penyusun alur, pembaca status
401
- pekerjaan, dan separuh pasti dari setiap lane. Setiap pembacaan
402
- bisa menjawab --json
403
- bin/webui/ `orc ui` โ€” panel kendali lokal: css/ + js/ + i18n/<bahasa>/ +
404
- fixtures/, satu berkas per lapisan dan per panel. Nol dependensi
405
- bin/mockrun-catalog.js katalog contoh jalannya (diturunkan dari berkas di disk)
406
- mock-run/ contoh-contoh jalannya itu sendiri โ€” mulai dari INDEX.md
407
- guides/ pengaturan ยท pemilihan model ยท dokumen ยท pembacaan pengetahuan
408
- ```
409
-
410
- Skill `orc` sendiri hanyalah **tulang punggung** yang tipis: ia hanya memuat
411
- referensi atau sub-skill ketika fase itu benar-benar berjalan, jadi tugas kecil
412
- tidak perlu membayar mesin besar.
413
-
414
- ---
415
-
416
- ## Panduan yang lebih panjang
417
-
418
- Beberapa lane membawa panduan lengkapnya sendiri, di sebelah skill-nya, dengan
419
- bahasa yang sederhana:
420
-
421
- | Panduan | Baca kalau |
422
- |---|---|
423
- | [ORC-QUICK](templates/skills/orc-quick/README.md) | Anda ingin contoh lengkap lane cepat |
424
- | [ORC-DIY](templates/skills/orc-diy/README.md) | Anda ingin meracik lane sendiri |
425
- | [ORC-WIKI](templates/skills/orc-wiki/README.md) | Anda ingin basis pengetahuan, dan pengaturan crosslink antar repo |
426
- | [ORC-PR-SETUP](templates/skills/orc-pr-setup/README.md) | Anda ingin memecah perubahan besar jadi PR bertumpuk |
427
- | [ORC-PR-DRIVER](templates/skills/orc-pr-driver/README.md) | Anda sudah punya rencana tumpukan dan ingin membangun, mengirim, dan me-merge-nya |
428
- | [Pengaturan](guides/configuration.md) ยท [Pemilihan model](guides/model-selection.md) | Anda ingin semua kuncinya, atau pita penilaiannya |
429
-
430
- Setiap skill juga membawa `SKILL.md` dan `references/`-nya sendiri. Panduan di
431
- atas adalah versinya untuk manusia.
432
-
433
- ---
434
-
435
- ## Status evaluasi
436
-
437
- Kumpulan skill ini dinilai **dari ujung ke ujung**, bukan berkas per berkas: satu
438
- spesifikasi yang bisa dijalankan per lane, diuji terhadap proyek Express di
439
- kotak pasir, dan dinilai dari bukti di disk โ€” catatan jejak, folder pekerjaan,
440
- dan berkas hasil.
441
-
442
- Putaran penuh terakhir adalah **30 evaluasi terhadap payload v0.34.0**: 25 berkas
443
- hasil terisi dan 38 berkas jejak, dengan 5 evaluasi yang tidak pernah dinilai dan
444
- 2 yang hanya dinilai sebagian โ€” semuanya disebutkan namanya di laporan. Semua
445
- yang ditemukan di sana sudah diperbaiki di rilis berikutnya atau masih tercatat.
446
- Bacalah sebagai catatan putaran itu, bukan sebagai audit terkini:
447
- [EVAL-REPORT.md](EVAL-REPORT.md).
448
-
449
- ---
450
-
451
- ## Prinsip rancangannya
452
-
453
- - **Jangan pernah menulis kode di lapisan paling atas.** Orkestrator mengatur;
454
- subagen bernilai yang mengerjakan.
455
- - **Batasi cakupannya dulu, baru dikerjakan paralel.** Salah paham jauh lebih
456
- murah diperbaiki sebelum lima agen membangun di atasnya.
457
- - **Disk lebih dipercaya daripada ingatan.** Setiap jeda adalah titik lanjut yang
458
- bersih.
459
- - **Model terkunci dan bisa diperiksa.** Agen bernama, modelnya tertulis di
460
- frontmatter.
461
- - **Kode Anda yang menang.** Pola yang dipelajari mengalah pada proyek Anda;
462
- hanya aturan keamanan dan kebenaran yang tidak bisa ditawar.
463
- - **Pengetahuan itu tambahan.** Wiki membuat perencanaan lebih baik kalau ada,
464
- dan tidak membebani apa pun kalau tidak ada.
465
- - **Katakan apa yang tidak Anda ketahui.** `UNCHECKABLE`, `no card`,
466
- `insufficient history` adalah jawaban sungguhan. Tebakan yang terdengar yakin
467
- lebih buruk daripada mengakui ada yang tidak diketahui.
468
-
469
- ---
470
-
471
- ## Daftar perubahan
472
-
473
- **Riwayat lengkap: [CHANGELOG.md](CHANGELOG.md)** โ€” atau `orc changelog`, yang
474
- hanya mencetak yang lebih baru dari versi yang Anda punya.
475
-
476
- ### v0.51.0 โ€” alat yang sudah Anda punya, dan koneksi yang membuktikan dirinya _(22-08-2026)_
477
-
478
- **Koneksi `orc extra`.** Dua alat coding yang bisa diberi pekerjaan oleh ORC
479
- adalah **program di komputer Anda sendiri**, bukan situs โ€” jadi sekarang keduanya
480
- jadi penyedia kelas satu, punya kotak hubungkan masing-masing, dan daftar model
481
- yang dibangun dari apa yang benar-benar bisa dijangkau akun Anda.
482
-
483
- - **Program bisa saja belum terpasang, dan panelnya mengatakan itu lebih dulu** โ€”
484
- empat keadaan, dihitung setiap kali, tidak pernah diingat. Alat yang belum
485
- terpasang tidak diberi tombol yang tidak mungkin berhasil, dan `orc extra add`
486
- menolak sambil menyebutkan perintah pemasangannya.
487
- - **ORC membuka terminal Anda sendiri dan menjalankan pemasangannya di sana.**
488
- Bukan pekerjaan tersembunyi di latar โ€” di dalamnya, permintaan hak
489
- administrator, kegagalan izin, unduhan 80 MB, dan tunggu empat puluh detik
490
- semuanya terlihat sama: *tidak terjadi apa-apa*. Perintahnya tampil sebelum
491
- tombolnya, jendelanya milik Anda, dan **ORC tidak pernah meminta hak
492
- administrator**. Tidak ada terminal yang bisa dibuka? Anda tetap dapat
493
- perintahnya untuk disalin.
494
- - **Uji koneksi sekarang bertingkat**: programnya ada ยท cukup baru ยท sudah masuk
495
- akun ยท model apa yang bisa dijangkau akun ini ยท dan, hanya kalau Anda minta,
496
- **apakah pesan sungguhan benar-benar dijawab** โ€” lengkap dengan waktu tempuh,
497
- jawabannya, dan empat jenis hitungan token yang tidak pernah dicampur.
498
- - **Model yang terdaftar bukan berarti model yang bekerja.**
499
- `orc extra models <nama> --test <id>` adalah satu-satunya cara membedakannya.
500
- - **Kedua alat lokal itu tidak memberi tahu model mana yang menjawab**, jadi ORC
501
- menuliskan kalimat itu, bukan membiarkan kolom kosong.
502
- - **`extra_enabled` tidak bisa dinyalakan sebelum ada yang menjawab** โ€” dulu ia
503
- akan terbaca NYALA padahal artinya MATI.
504
-
505
- Sebelumnya: **v0.50.0 โ€” pekerjaan yang berjalan di tempat lain** (`orc extra`),
506
- **v0.49.1 โ€” dewan penilai, dan `--json` yang berhenti membuang isinya**,
507
- **v0.49.0 โ€” dokumen itu folder, dan berkasnya hasil rakitan** (`/orc-doc`), dan
508
- **v0.48.1 โ€” satu berkas untuk satu hal, dan dokumen yang bisa diselesaikan**.
509
- [Baca semuanya di daftar perubahan](CHANGELOG.md).
510
-
511
- ---
512
-
513
- ## Yang dibutuhkan
514
-
515
- - **Claude Code** โ€” dialah yang membaca skill, perintah, dan agennya.
516
- - **Node 18+** โ€” hanya untuk pemasangnya. Skill-nya sendiri tidak punya
517
- dependensi apa pun.
518
-
519
- ## Lisensi
520
-
521
- MIT โ€” kolom `license` di `package.json` adalah pernyataan resminya.
1
+ <div align="center">
2
+
3
+ # ๐Ÿ‹ ORC
4
+
5
+ **Kumpulan skill orkestrator untuk [Claude Code](https://claude.com/claude-code).**
6
+
7
+ *Terima permintaan โ†’ pahami โ†’ rencanakan โ†’ beri nilai โ†’ kerjakan paralel โ†’ periksa โ†’ uji โ†’ kirim.*
8
+
9
+ ![npm](https://img.shields.io/npm/v/%40azure-id%2Forc?style=for-the-badge&color=cb3837&logo=npm)
10
+ ![Version](https://img.shields.io/badge/version-0.56.0-blue.svg?style=for-the-badge)
11
+ ![License](https://img.shields.io/badge/license-MIT-green.svg?style=for-the-badge)
12
+ ![Node](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg?style=for-the-badge)
13
+ ![Claude Code](https://img.shields.io/badge/Claude_Code-Skills-purple.svg?style=for-the-badge)
14
+ ![Dependencies](https://img.shields.io/badge/dependencies-zero-lightgrey.svg?style=for-the-badge)
15
+
16
+ **Versi terbaru: v0.56.0** ยท diperbarui 27-08-2026 ยท [daftar perubahan lengkap](CHANGELOG.md)
17
+
18
+ **Ada di npm: [`@azure-id/orc`](https://www.npmjs.com/package/@azure-id/orc)** โ€” `npm i -g @azure-id/orc`
19
+
20
+ **๐Ÿ‡ฌ๐Ÿ‡ง [Read this in English](README.md)**
21
+
22
+ </div>
23
+
24
+ ---
25
+
26
+ > **Tentang terjemahan ini.** Halaman ini memakai bahasa yang sederhana supaya
27
+ > mudah dipahami. Semua **perintah, nama berkas, nama model, dan kata status**
28
+ > ditulis apa adanya dalam bahasa Inggris โ€” itu bukan kata biasa, itu nama yang
29
+ > harus Anda ketik persis seperti aslinya.
30
+ >
31
+ > Kalau ada bagian yang terasa berbeda dengan versi Inggris, **[README.md](README.md)
32
+ > yang berlaku**.
33
+
34
+ ---
35
+
36
+ > [!CAUTION]
37
+ > **Naik versi dari sebelum v0.56.0? Lakukan ini sekali saja.**
38
+ >
39
+ > Nama paket pindah dari `orc` (tanpa scope) menjadi **`@azure-id/orc`**.
40
+ > Keduanya memakai nama perintah yang sama, yaitu `orc`. npm tidak mau
41
+ > memberikan perintah itu kepada paket baru selama paket lama masih
42
+ > memegangnya - jadi **semua** cara pasang gagal dengan pesan yang sama, dan
43
+ > `orc upgrade` tidak bisa memperbaiki dirinya sendiri:
44
+ >
45
+ > ```text
46
+ > npm error code EEXIST
47
+ > npm error File exists: C:\Users\anda\AppData\Roaming\npm\orc
48
+ > ```
49
+ >
50
+ > Jalankan tiga baris ini sekali saja. Isi folder `.claude/` Anda tidak
51
+ > disentuh, dan `orc.config.yaml` Anda tetap aman:
52
+ >
53
+ > ```bash
54
+ > npm uninstall -g orc # lepaskan perintah `orc` dari paket lama
55
+ > npm i -g @azure-id/orc # pasang paket yang sekarang
56
+ > orc update # pasang ulang ke proyek ini (pakai --global untuk ~/.claude)
57
+ > ```
58
+ >
59
+ > **Mulai v0.56.0, `orc upgrade` mengurus ini untuk Anda** - paket lama dihapus
60
+ > lebih dulu, lalu paket baru dipasang, dan ORC memberi tahu Anda saat
61
+ > melakukannya. `orc doctor` juga menyebutkan nama paket lama kalau masih ada.
62
+ >
63
+ > **Jangan** memakai `npm i -g -f`. `--force` menimpa berkas perintah dan
64
+ > membiarkan paket lama tetap terpasang di bawahnya - tidak memiliki apa pun,
65
+ > dan tidak pernah diperbarui lagi.
66
+
67
+ ---
68
+
69
+ ## Apa itu ORC?
70
+
71
+ Anda memberi ORC sebuah permintaan โ€” bisa satu kalimat, bisa sebuah dokumen
72
+ kebutuhan. ORC akan:
73
+
74
+ 1. mencari tahu apa sebenarnya maksud Anda,
75
+ 2. membuat rencana kerja,
76
+ 3. mengirim setiap tugas ke **model paling murah yang masih sanggup mengerjakannya**,
77
+ 4. mengerjakan tugas-tugas yang tidak saling bentrok **secara bersamaan**,
78
+ 5. memeriksa hasilnya,
79
+ 6. mengujinya terhadap definisi "selesai" yang sudah Anda setujui,
80
+ 7. lalu mengirimkannya.
81
+
82
+ ORC menyimpan catatan kerjanya ke disk sambil jalan. Jadi pekerjaan panjang tetap
83
+ selamat kalau Anda berhenti di tengah, kalau kuota token habis, atau kalau Anda
84
+ membuka sesi obrolan yang benar-benar baru.
85
+
86
+ **ORC bukan program yang berjalan sendiri.** ORC adalah kumpulan berkas markdown
87
+ berisi **skill**, **perintah garis miring** (`/perintah`), dan **definisi
88
+ subagen** yang dibaca dan diikuti oleh Claude Code. Paket npm ini โ€” yang tidak
89
+ punya satu pun dependensi โ€” hanya menyalin berkas-berkas itu ke folder `.claude/`
90
+ Anda.
91
+
92
+ ```text
93
+ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Anda yang menentukan cakupan + persetujuan โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
94
+ permintaan / dokumen โ”€โ”€โ–ถ terima โ”€โ–ถ pahami โ”€โ–ถ rencana โ”€โ–ถ nilai โ”€โ–ถ โ‡‰ gelombang paralel โ‡‰ โ”€โ–ถ periksa โ”€โ–ถ uji โ”€โ–ถ kirim
95
+ (berdasar kode) (per tugas) (model termurah yang sanggup) (disimpan ke disk)
96
+ ```
97
+
98
+ ---
99
+
100
+ ## ๐Ÿ‘€ Lihat dulu sebelum Anda pakai
101
+
102
+ Setiap lane ditulis lengkap sebagai **mock run** โ€” contoh jalannya: apa yang Anda
103
+ ketik, apa yang ORC balas, dan berkas apa yang muncul di disk. Tidak ada yang
104
+ benar-benar dijalankan untuk membuatnya. Contoh-contoh itu ada supaya Anda tidak
105
+ perlu membakar token hanya untuk tahu sebuah perintah melakukan apa.
106
+
107
+ ### **โ–ถ [Mulai di sini: `mock-run/INDEX.md`](mock-run/INDEX.md)**
108
+
109
+ Bisa juga dibaca tanpa meninggalkan komputer Anda:
110
+
111
+ ```bash
112
+ orc mock-run list # semua contoh, urut dari yang paling awal dibaca
113
+ orc mock-run show orc-pact # baca satu
114
+ orc ui # โ–ธ Mocked Skill Use โ€” contoh yang sama, bisa dicari
115
+ ```
116
+
117
+ ---
118
+
119
+ ## Kenapa dibuat seperti ini?
120
+
121
+ Satu agen yang diberi pekerjaan nyata selalu gagal dengan cara yang sama: ia
122
+ diam-diam memilih satu tafsiran dari permintaan Anda, memakai model termahal
123
+ untuk semuanya, lupa keputusan begitu konteksnya dipadatkan, bilang "selesai"
124
+ terhadap definisi yang tidak pernah ditulis siapa pun, mengutip kode yang tidak
125
+ ada, dan tidak meninggalkan apa pun untuk diperiksa.
126
+
127
+ Itu semua **masalah proses** โ€” persis masalah yang di tim manusia diselesaikan
128
+ dengan pembagian peran, review, dan kesepakatan tertulis. ORC menuliskan
129
+ kedisiplinan itu sebagai skill:
130
+
131
+ - **Mengatur dan mengerjakan adalah dua pekerjaan berbeda.** Sang orkestrator
132
+ tidak pernah menulis kode. Bahkan perubahan satu baris pun dikirim ke subagen,
133
+ supaya konteks orkestrator tetap ringan sepanjang pekerjaan.
134
+ - **Setiap tugas diberi nilai, dan nilai itu yang memilih model.** Anda melihat
135
+ tabelnya sebelum apa pun dimulai, dan setiap agen punya nama serta model yang
136
+ dikunci โ€” jadi model apa yang benar-benar dipakai adalah fakta yang bisa Anda
137
+ periksa.
138
+ - **"Selesai" ditulis sebelum pekerjaan dimulai.** Tahap penerimaan menghasilkan
139
+ spesifikasi yang Anda setujui, dan definisi "selesai" di dalamnya jadi bahan
140
+ pengujian terakhir.
141
+ - **Tidak ada yang dipercaya begitu saja, semuanya harus dibuktikan.** Kutipan
142
+ `berkas:baris`, keluaran build apa adanya, temuan yang menunjuk baris nyata โ€”
143
+ dan orkestrator memeriksa sampel dari bukti itu, jadi kutipan karangan langsung
144
+ ditolak, bukan ikut masuk ke tugas berikutnya.
145
+ - **Disk lebih dipercaya daripada ingatan.** ORC rajin menyimpan titik simpan,
146
+ jadi setiap jeda jadi titik lanjut yang bersih โ€” termasuk di sesi baru.
147
+ - **Ketelitian bisa diatur.** Tulang punggung yang sama bisa jalan sebagai
148
+ `/orc-mini` (satu subagen), `/orc` (fitur sungguhan), dan `/orc-ultra`
149
+ (dengan penasihat dan gerbang penilaian).
150
+ - **Ia belajar.** Pola kode membuat agen menulis mirip gaya kode Anda, wiki
151
+ membuat setiap rencana berikutnya lebih tajam, dan catatan jejak dibaca oleh
152
+ `/orc-retro` yang menyetel ulang penilaiannya dari kerja nyata.
153
+
154
+ ---
155
+
156
+ ## Cara mulai
157
+
158
+ ORC ada di npm dengan nama **[`@azure-id/orc`](https://www.npmjs.com/package/@azure-id/orc)**.
159
+
160
+ ```bash
161
+ npm i -g @azure-id/orc # pasang
162
+ npm i -g @azure-id/orc@latest # perbarui ke rilis terbaru
163
+ ```
164
+
165
+ <details>
166
+ <summary>Atau pasang langsung dari GitHub</summary>
167
+
168
+ <br>
169
+
170
+ ```bash
171
+ npm i -g https://github.com/azure-id/orc/archive/refs/heads/main.tar.gz
172
+ ```
173
+
174
+ </details>
175
+
176
+ Lalu, di dalam sebuah proyek:
177
+
178
+ ```bash
179
+ orc init # pasang ke ./.claude (proyek ini saja)
180
+ orc init --global # pasang ke ~/.claude (semua proyek)
181
+ orc onboarding # panduan lengkap langsung di terminal โ€” tanpa buka GitHub
182
+ orc config # lihat atau ubah pengaturan (nol token model)
183
+ orc ui # panel kendali lokal
184
+ orc --help # semua perintah
185
+ ```
186
+
187
+ Setelah dipasang:
188
+
189
+ 1. Tempelkan templat PR tim Anda ke `skills/orc/subskills/orc-pr/pr.md`.
190
+ 2. Tambahkan `.claude/orc/run/` ke `.gitignore` proyek Anda.
191
+ 3. Jalankan **`/agents`** untuk memastikan Claude Code Anda menerima id model
192
+ milik para agen.
193
+ 4. **Jalankan sesi utama Anda di Opus 5.** Sebuah subagen tidak akan pernah bisa
194
+ memakai model yang lebih baik daripada sesi Anda. Ini penyebab paling sering
195
+ dari keluhan "kok modelnya salah" โ€” lihat
196
+ [pemilihan model](guides/model-selection.md).
197
+ 5. Kalau sebuah `/perintah` tidak muncul, mungkin Claude Code Anda membaca
198
+ perintah dari folder lain โ€” pindahkan berkas di `commands/` ke sana.
199
+
200
+ <details>
201
+ <summary><b>Tetap memakai versi terbaru</b></summary>
202
+
203
+ <br>
204
+
205
+ `orc update` menyalin ulang berkas yang **sudah ada** di paket ini. Perintah itu
206
+ tidak menyentuh internet sama sekali. **`orc upgrade` adalah yang menarik versi
207
+ baru**: ia mengambil paket terbaru dulu, lalu memasangnya. Berkas
208
+ `.claude/orc.config.yaml` Anda selamat di kedua perintah itu.
209
+
210
+ ```bash
211
+ orc version # versi Anda, dan apakah ada yang lebih baru
212
+ orc changelog # apa yang akan Anda DAPAT kalau upgrade
213
+ orc upgrade # ambil yang terbaru, lalu perbarui proyek ini
214
+ orc upgrade --global # sama, tapi untuk ~/.claude
215
+ orc upgrade --from @azure-id/orc # dari npm, disebut jelas
216
+ orc upgrade --from github:azure-id/orc # dari fork, atau spesifikasi npm apa pun
217
+ ```
218
+
219
+ Atau perbarui paketnya sendiri lalu pasang ulang:
220
+
221
+ ```bash
222
+ npm i -g @azure-id/orc@latest
223
+ orc update
224
+ ```
225
+
226
+ Pemeriksaan versi dilakukan lewat HTTPS, hasilnya disimpan 24 jam, dan gagal
227
+ diam-diam kalau Anda sedang offline. Matikan dengan `ORC_NO_UPDATE_CHECK=1`.
228
+
229
+ Anda tidak perlu menjalankan perintah untuk tahu ada versi baru: pemberitahuan
230
+ yang sama muncul di dalam Claude Code lewat hook milik ORC, dengan **nol token
231
+ model** โ€” hook itu skrip yang dijalankan Claude Code, bukan giliran model.
232
+
233
+ Kalau pemasangan dari GitHub gagal (sering terjadi di **NVM**), `orc upgrade`
234
+ akan mencoba ulang sendiri dengan berkas tarball biasa.
235
+
236
+ </details>
237
+
238
+ > **"ORC tidak melihat wiki saya"?** Jalankan **`orc wiki sync`**, bukan
239
+ > pemindaian baru. Dokumen tanpa manifest itu *belum terdaftar*, bukan hilang โ€”
240
+ > ini biasa terjadi kalau pemindaian berhenti di salah satu jeda `/orc-wiki`.
241
+ > Sync membangun ulang daftarnya dari dokumen yang sudah Anda punya, gratis.
242
+
243
+ > **"Sebenarnya ORC tahu apa tentang proyek saya?"** `orc wiki docs` menampilkan
244
+ > semua dokumen yang terdaftar, `orc wiki coverage` memberi tahu berapa banyak
245
+ > kode Anda yang sudah pernah ditulis di dokumen, dan `orc pattern show <lang>`
246
+ > mencetak kebiasaan kode yang diberikan ke setiap agen penulis kode di sini.
247
+ > Semuanya gratis dan hanya membaca โ€”
248
+ > **[`guides/knowledge-reads.md`](guides/knowledge-reads.md)**.
249
+
250
+ ---
251
+ ## Hook di terminal
252
+
253
+ ORC punya hook terminal supaya Anda bisa melihat: persentase jendela konteks,
254
+ pemakaian 5 jam, pemakaian mingguan, dan beberapa hal lain.
255
+
256
+ <img width="725" height="96" alt="image" src="https://github.com/user-attachments/assets/6a649c87-81ea-4fd9-9d0b-6bb4b97fe9cd" />
257
+
258
+ <br>
259
+
260
+ ---
261
+
262
+ ## Lane yang tersedia
263
+
264
+ > [!TIP]
265
+ > Lane ini menyambung secara alami: **`/orc-brainstorm` โ†’ `/orc-grill` โ†’
266
+ > `/orc-analyze` โ†’ `/orc-plan` โ†’ `/orc-route` โ†’ `/orc`**. Anda boleh mulai dari
267
+ > mana saja.
268
+
269
+ ### Membuat sesuatu
270
+
271
+ | Perintah | Kegunaannya | Contoh jalannya |
272
+ |---|---|---|
273
+ | **`/orc`** | Alur penuh: terima โ†’ rencana โ†’ gelombang paralel bernilai โ†’ periksa โ†’ uji โ†’ kirim. Rajin menyimpan titik simpan; bisa dilanjutkan di sesi baru. | [lihat](mock-run/orc.md) |
274
+ | **`/orc-ultra`** | Sama, ditambah penasihat Opus 5 **xhigh** dan tiga gerbang penilaian. Analisis dalam, pola kode, tes, dan keamanan dipaksa menyala. Memang mahal. | [lihat](mock-run/orc-ultra.md) |
275
+ | **`/orc-mini`** | Satu agen Sonnet 5, satu pemeriksaan build + tes, lalu kirim. Melewati review penuh dan pengujian. Bisa pindah ke alur penuh di tengah jalan kalau diminta. | [lihat](templates/skills/orc-mini/examples/mini-run-mock.md) |
276
+ | **`/orc-fast`** | Lane tercepat. Butuh wiki yang masih segar **dan** pola kode yang sudah tersimpan; kalau ada, ia melewati tahap analis dan perencana sepenuhnya. Kalau salah satu syarat tidak ada, ia mundur ke `/orc-mini` โ€” obrolan tidak pernah berhenti. | [lihat](mock-run/orc-fast.md) |
277
+ | **`/orc-quick`** | Minta apa saja: perbaikan kecil, pertanyaan, mencari bug, menaikkan versi dependensi, komentar PR. Lihat โ†’ tanya sekali โ†’ kerjakan. **Selalu bertanya agen mana yang mau dipakai**, dan tidak ada pengaturan yang bisa mengubah itu. | [lihat](mock-run/orc-quick.md) |
278
+ | **`/orc-diy`** | Lane racikan Anda sendiri, disusun di terminal dengan `orc diy` lalu dikompilasi. Kalau belum disetel atau sudah basi, ia menolak jalan dan menawarkan `/orc` biasa. | [lihat](mock-run/orc-diy.md) |
279
+
280
+ ### Memikirkan apa yang mau dibuat
281
+
282
+ | Perintah | Kegunaannya | Contoh jalannya |
283
+ |---|---|---|
284
+ | **`/orc-brainstorm`** | Idenya belum ada. Ia membuat banyak calon ide memakai beberapa sudut pandang, **tanpa mengkritik apa pun saat masih mengumpulkan**, mengelompokkannya jadi beberapa arah nyata, menguji setiap arah, lalu merekomendasikan satu dan **menunggu โ€” ia tidak pernah memilih untuk Anda**. Setiap daftar pilihan selalu diakhiri satu slot untuk ide Anda sendiri. | [lihat](mock-run/orc-brainstorm.md) |
285
+ | **`/orc-grill`** | Idenya sudah ada satu, tapi masih kabur. Ia bertanya beberapa ronde, **mencari faktanya sendiri** alih-alih menyuruh Anda menghafal isi kode Anda sendiri, dan tidak pernah menjawab pertanyaannya sendiri. Selesai kalau *Anda* bilang idenya sudah pas. | [lihat](mock-run/orc-grill.md) |
286
+ | **`/orc-analyze`** | Dokumen atau permintaan โ†’ spesifikasi yang jelas batasnya dan berpijak pada kode. Setiap klaim membawa bukti `berkas:baris`, atau berubah jadi pertanyaan. Mode dalam menambah beberapa pemeriksa paralel. | [lihat](templates/skills/orc-analyze/examples/analyze-mock.md) |
287
+ | **`/orc-plan`** | Permintaan atau spesifikasi โ†’ rencana tugas sungguhan: berkas nyata, urutan ketergantungan, sifat tiap tugas, dan keputusan tes per tugas. | [lihat](mock-run/orc-plan.md) |
288
+ | **`/orc-doc`** | Menulis dokumen panjang โ€” PRD, TSD, kesepakatan antar tim, laporan status, atau runbook โ€” sebagai Markdown yang bisa diimpor rapi ke Notion, Obsidian, Google Docs, Coda, Craft, dan GitHub. **ORC tidak pernah membaca isi dokumennya**: tiap bagian jadi berkasnya sendiri di `sections/`, tiap penulis memegang tepat satu berkas, tiap pemeriksa membaca satu potongan, dan `document.md` hanyalah hasil rakitan yang dibangun ulang gratis. Setiap gelombang adalah titik berhenti yang aman, dan berbulan-bulan kemudian bisa dilanjutkan tanpa Anda menjelaskan ulang apa pun. | [lihat](mock-run/orc-doc.md) |
289
+ | **`/orc-route`** | Rencananya sudah ada โ€” lane mana yang sebaiknya mengerjakan? Ia menyebut satu lane, lalu pilihan lain beserta apa yang Anda korbankan, dan lane mana yang tidak mungkin beserta syarat yang menghalanginya. **Ia menolak memilih lane hanya dari satu kalimat**, karena itu sama saja menebak. | [lihat](mock-run/orc-route.md) |
290
+ | **`/orc-explain`** | "Tunggu, tadi apa?" Ia mengulang pesan terakhir: intinya dulu, lalu latar belakang yang tadi dianggap sudah Anda tahu, lalu semua istilah khas ORC dijelaskan dengan kata-kata proyek Anda sendiri. | [lihat](mock-run/orc-explain.md) |
291
+ | **`/orc-poly`** | Satu perubahan yang menyentuh dua repo atau lebih, tanpa jadi melenceng. Kode repo tetangga hanya dibaca; ia membekukan batas bersama jadi sebuah kontrak lalu menulis satu rencana per repo. Ia tidak pernah membangun apa pun. | [lihat](templates/skills/orc-poly/examples/poly-run-mock.md) |
292
+
293
+ ### Mengajari ORC tentang proyek Anda
294
+
295
+ | Perintah | Kegunaannya | Contoh jalannya |
296
+ |---|---|---|
297
+ | **`/orc-wiki`** | Memindai kode Anda jadi `wiki/` yang menetap, tiap klaim menunjuk berkas nyata, lalu mengarahkan `CLAUDE.md` ke sana. Kesegarannya dihitung saat dibaca, tidak pernah disimpan. Mahal dan harus Anda minta โ€” ia selalu memperingatkan dulu. | [lihat](templates/skills/orc-wiki/examples/wiki-run-mock.md) |
298
+ | **`/orc-pattern`** | Mempelajari kebiasaan kode Anda per bahasa, supaya agen menulis kode yang mirip gaya kode Anda. Kebiasaan Anda yang menang; aturan wajib soal keamanan dan kebenaran tetap dibawa. | [lihat](mock-run/orc-pattern.md) |
299
+ | **`/orc-learn`** | Dokumen pengenalan untuk manusia, satu fitur sekali jalan, menunjuk `berkas:baris`. Tersimpan lokal dan diabaikan git. | [lihat](templates/skills/orc-learn/examples/learn-run-mock.md) |
300
+ | **`/orc-claude`** | Membuat atau menyegarkan `CLAUDE.md` repo ini dari fakta yang sudah diperiksa. Tanpa pertanyaan; tulisan Anda sendiri tidak pernah dipotong. | [lihat](templates/skills/orc-claude/examples/claude-run-mock.md) |
301
+ | **`/orc-export`** | Merangkum wiki, pola kode, `PACT.md`, dan kartu batas jadi satu `AGENTS.md` yang bisa dibawa ke mana-mana โ€” diturunkan, bersidik jari, bisa diperiksa dengan `--check`. Supaya ORC tidak jadi jebakan. | [lihat](mock-run/orc-export.md) |
302
+
303
+ ### Memeriksa apa yang sudah terjadi
304
+
305
+ | Perintah | Kegunaannya | Contoh jalannya |
306
+ |---|---|---|
307
+ | **`/orc-challenge`** | Menilai sesuatu yang **sudah jadi** โ€” TSD, PRD, ADR, kontrak API, README, satu modul kode โ€” terhadap tujuan yang **Anda** nyatakan, lalu **berhenti dan menyuruh Anda memperbaikinya di sesi lain**. ORC menilai, Anda memperbaiki, ORC menilai lagi: **ia tidak pernah memperbaiki apa yang ia nilai**, karena sesi yang baru saja menulis perbaikan pasti memberi nilai bagus pada pekerjaannya sendiri. **Dan ia tidak pernah menebak arti "bagus" di sini.** | [lihat](mock-run/orc-challenge.md) |
308
+ | **`/orc-pact`** | Janji-janji yang dipegang proyek Anda, dan mana yang sekarang diragukan. Empat status, semuanya **dihitung saat dibaca**: HOLDING ยท DRIFTED ยท **UNCHECKABLE** (status jujur โ€” bukan kegagalan) ยท BROKEN. Ia tidak pernah mengarang janji dan tidak pernah mencabut janji untuk Anda. | [lihat](mock-run/orc-pact.md) |
309
+ | **`/orc-boundary`** | Apa yang **sebaiknya tidak** dicoba ORC di sini, dan apa persisnya yang akan mengubah itu. EXECUTE ยท ESCALATE ยท REFUSE, per area. **REFUSE selalu menyebutkan apa yang akan membuatnya jadi boleh.** Ia hanya membatasi ORC sendiri, tidak pernah membatasi perintah Anda. | [lihat](mock-run/orc-boundary.md) |
310
+ | **`/orc-verify`** | Menguji hanya perubahan yang belum di-commit: build, tes, kewajaran diff, dan temuan pada tangga P0โ€“P3. Hanya membaca. | [lihat](templates/skills/orc-verify/examples/verify-mock.md) |
311
+ | **`/orc-aftermath`** | Apakah yang kita kirim kemarin bertahan? Dinilai dari masa depan repo itu sendiri: berkas yang cepat ditulis ulang, commit yang dibatalkan, tes yang dihapus, janji yang patah. **Perubahan berulang itu sinyal, bukan vonis**, dan ia tidak pernah menyebut nama orang. | [lihat](mock-run/orc-aftermath.md) |
312
+ | **`/orc-budget`** | Berapa biaya sebuah pekerjaan, dalam satuan yang benar-benar ditagihkan ke Anda. Sebuah **vektor token** โ€” input baru, tulis cache, baca cache, output; tidak pernah dicampur โ€” ditampilkan empat cara: token, dolar, persen dari jendela 5 jam Anda, dan risiko jendela konteks. Butuh rencana, bukan satu kalimat. | [lihat](mock-run/orc-budget.md) |
313
+ | **`/orc-retro`** | Mengolah catatan jejak jadi laporan kalibrasi lalu mengirimkannya ke hulu sebagai PR. | [lihat](templates/skills/orc-retro/examples/retro-mock.md) |
314
+
315
+ ### Mengirim dan menyerahkan
316
+
317
+ | Perintah | Kegunaannya | Contoh jalannya |
318
+ |---|---|---|
319
+ | **`/orc-pr-setup`** | Menentukan di mana perubahan besar dipotong jadi beberapa pull request bertumpuk: lapisan berurutan, masing-masing dengan tujuan, daftar berkas, dan perkiraan biaya. Ia berhenti dan bertanya di setiap sambungan yang meragukan, dan tidak pernah menyentuh git. | [lihat](mock-run/orc-pr-setup.md) |
320
+ | **`/orc-pr-driver`** | Menjalankan rencana itu: satu branch per lapisan, **pemeriksaan hijau wajib di dasar tiap lapisan**, `gh stack submit`, lalu susun ulang dan merge dari bawah ke atas. | [lihat](mock-run/orc-pr-setup.md) |
321
+ | **`/orc-handoff`** | Untuk orang yang tidak membaca kode. Nilainya ditentukan oleh **ada atau tidaknya pemeriksaan murah**, bukan oleh jenis berkasnya. Ia menampilkan perintah pembatalan *sebelum* menulis, dan tidak pernah menyentuh berkas merah. | [lihat](mock-run/orc-handoff.md) |
322
+
323
+ ---
324
+
325
+ ## Dokumen yang benar-benar bisa dipindahkan
326
+
327
+ `/orc-doc` menulis dokumen panjang โ€” dan Markdown dipilih justru karena berkas
328
+ Markdown bisa dibawa ke mana-mana:
329
+
330
+ | Tujuan | Bisa impor `.md`? |
331
+ |---|---|
332
+ | Notion ยท Obsidian ยท Google Docs ยท Coda ยท Craft ยท Apple Notes ยท GitHub | **langsung bisa** |
333
+ | Docusaurus ยท Hugo ยท Jekyll ยท MkDocs | bisa โ€” dan justru *butuh* front matter YAML |
334
+ | Confluence | tidak langsung. Siapkan aplikasi importir dari marketplace |
335
+ | Microsoft OneNote | **tidak bisa**. Ubah dulu ke Word atau PDF |
336
+
337
+ Tabel itu bukan hiasan: `orc doc lint --target` benar-benar menegakkan batas
338
+ nyata dari tempat tujuan dokumen Anda. Notion hanya punya tiga tingkat judul,
339
+ jadi H4 di sana adalah **error**. Paragraf yang dipotong keras per baris adalah
340
+ error di mana pun, karena potongan di kolom 80 akan jadi ganti baris sungguhan di
341
+ dalam paragraf Notion.
342
+
343
+ Ada lima templat dasar โ€” `prd` ยท `tsd` ยท `collaboration` ยท `report` ยท `workflow` โ€”
344
+ masing-masing sebagai lantai, bukan kandang. `orc doc templates` mencetaknya;
345
+ Anda juga boleh membawa templat sendiri dan judul-judulnya akan jadi kerangka.
346
+
347
+ **Penjelasan lengkap: [`guides/documents.md`](guides/documents.md).**
348
+
349
+ ---
350
+
351
+ ## `orc ui` โ€” panel kendali
352
+
353
+ Halaman web lokal untuk **semua bagian ORC yang bukan ai**. Satu batas yang
354
+ menentukan segalanya: **ia tidak pernah menjalankan lane, tidak pernah memanggil
355
+ `claude`, dan tidak pernah memanggil API model.** Semua yang ditampilkan atau
356
+ ditulisnya berasal dari keluaran CLI yang pasti.
357
+
358
+ <img width="1870" height="1269" alt="image" src="https://github.com/user-attachments/assets/207fe821-9aa6-430e-bdcc-968340cc687f" />
359
+
360
+ ```bash
361
+ orc ui # jalan di 127.0.0.1:9921 dan membuka browser
362
+ orc ui --port 9930 # port yang Anda sebut sendiri tidak akan pindah โ€” bentrok berarti error
363
+ orc ui --no-open # cetak URL-nya saja
364
+ orc ui --idle 0 # matikan mati-otomatis saat menganggur (bawaan: 30 menit)
365
+ orc ui --fixtures # data contoh, tidak perlu proyek sama sekali
366
+ orc ui --stop # matikan server proyek ini
367
+ ```
368
+
369
+ | Panel | Menampilkan | Bisa mengubah |
370
+ |---|---|---|
371
+ | Overview | versi, `orc doctor`, kesegaran wiki, apa yang sedang menunggu โ€” plus **Worth doing**, satu daftar semua hal yang butuh keputusan Anda | โ€” |
372
+ | Settings | semua kunci pengaturan, dikelompokkan, masing-masing dengan kontrolnya sendiri | perubahan disiapkan dulu, lalu diterapkan bersama |
373
+ | Runs | riwayat pekerjaan; satu baris terbuka di tempat berisi ringkasan keadaan, teks untuk melanjutkan, titik simpan, dan ekor catatan jejak | โ€” |
374
+ | **Knowledge** | **lima tab**: kesegaran wiki DAN **isinya** (setiap dokumen, apa yang dicakupnya, seberapa sering dibaca), cakupan terhadap berkas terlacak Anda, pola kode beserta pertentangan yang ditandai, ingatan perbaikan dengan pemangkasan yang **ditinjau dulu baru diterapkan**, dan tampilan repo tetangga yang hanya bisa dibaca | `wiki sync`, `gotcha prune` |
375
+ | Stats | pemakaian lane dan agen, penurunan model, serta tab **Cost** yang batangnya menjaga "baca cache" tetap terlihat terpisah | โ€” |
376
+ | Flow | alur DIY yang sudah dikompilasi, gerbangnya, dan urutan semua fasenya | `diy set`, `diy compile`, preset |
377
+ | Crosslink | **Design** (batas antar repo sebagai gambar) dan **Settings** (kesegaran tiap tetangga) | `crosslink add` / `remove` |
378
+ | Promises ยท Boundary ยท Self-serve | buku janji, kartu batas, dan permukaan yang boleh diubah orang non-teknis | `pact check`, `pact sync`, `handoff set` |
379
+ | **Docs** | setiap dokumen `/orc-doc` sebagai **pita** โ€” satu blok per bagian, lebarnya sesuai panjangnya dan warnanya sesuai statusnya โ€” plus berkas tiap bagian, jalur gelombang, kartu kesehatan lint, dan pratinjau gelombang | `doc compile` ยท `doc migrate` |
380
+ | **Mocked Skill Use** | semua contoh jalannya yang ikut dikirim bersama ORC, dikelompokkan dan bisa dicari, dengan panel baca | โ€” |
381
+ | Learn | panduan `orc onboarding`, satu bagian sekali baca | โ€” |
382
+ | Experiment | setiap lane dengan tombol salin; membuka sesi Claude di terminal | โ€” |
383
+ | Maintenance | `update`, `update --prune`, `doctor --fix`, `upgrade` | tinjau dulu, baru terapkan |
384
+
385
+ - **Panel ini *adalah* CLI.** Ia membaca `orc <perintah> --json` dan menjalankan
386
+ perintah asli untuk setiap penulisan, jadi ia tidak mungkin melenceng dari
387
+ CLI โ€” ia tidak menyimpan salinan kedua dari apa pun.
388
+ - **Tindakan gratis dapat tombol. Tindakan berbayar dapat perintah untuk disalin.**
389
+ - **Tidak ada yang berjalan otomatis**, dan pemangkasan selalu menyebut **setiap**
390
+ berkas. Sebuah angka bukan berarti persetujuan.
391
+ - **Diperlakukan sebagai permukaan tulis**: hanya loopback, token baru tiap kali
392
+ dijalankan, pemeriksaan Host untuk mencegah DNS rebinding, tanpa CORS, dan
393
+ perubahan hanya lewat POST.
394
+ - **Hanya untuk proyek ini, tidak ada pengaturan `--global`.** Kalau ada
395
+ pemasangan global yang bisa mengalahkan pemasangan proyek, setiap halaman
396
+ memasang spanduk peringatan. Ia hanya melaporkannya; ia tidak pernah menyunting
397
+ pengaturan global.
398
+ - **Bahasa Inggris dan Indonesia.** Yang diterjemahkan hanya kalimat milik panel
399
+ itu sendiri โ€” kunci pengaturan, id model, jalur berkas, perintah, dan pesan
400
+ doctor dicetak persis seperti tulisan CLI, karena kunci pengaturan yang
401
+ diterjemahkan adalah kunci yang tidak ada.
402
+
403
+ Nol dependensi, tanpa langkah build: `node:http`, JavaScript biasa, dan CSS yang
404
+ ditulis tangan.
405
+
406
+ ---
407
+
408
+ ## Bagaimana modelnya dipilih
409
+
410
+ Setiap tugas diberi nilai 0โ€“100 dengan **hitungan, bukan perasaan**: perencana
411
+ melaporkan beberapa sifat tugas (luasnya, kebaruannya, kerumitan logikanya,
412
+ permukaan tes, risiko yang dikutip, ketidakpastian) dan satu rumus tetap yang
413
+ dipublikasikan mengubahnya jadi angka. Risiko yang dikutip memaksa nilai minimal
414
+ 70. Nilai itu dipetakan lewat tabel yang dipublikasikan ke **agen bernama dengan
415
+ model terkunci** โ€” jadi apa yang benar-benar berjalan bisa diperiksa, bukan
416
+ sekadar diminta lewat kalimat.
417
+
418
+ > **Aturan yang paling sering membuat orang bingung:** model sebuah subagen tidak
419
+ > akan pernah lebih tinggi daripada model sesi utama Anda. Jalankan sesi Anda di
420
+ > Opus 5.
421
+
422
+ **Penjelasan lengkap โ€” pita nilainya, `opus5_only`, dan penjaga tingkat yang
423
+ dipasang `orc init`: [guides/model-selection.md](guides/model-selection.md).**
424
+
425
+ ---
426
+
427
+ ## Pengaturan
428
+
429
+ Pengaturan diubah lewat **CLI `orc config`** โ€” masukan dan keluaran terminal yang
430
+ pasti, jadi biayanya **nol token model**.
431
+
432
+ ```bash
433
+ orc config # menu interaktif
434
+ orc config list # pengaturan yang sedang berlaku
435
+ orc config recommend # baca repo ini, sarankan SATU profil, beserta alasannya
436
+ orc config profile paranoid
437
+ ```
438
+
439
+ Perubahan Anda tersimpan di `.claude/orc.config.yaml`, dan `orc update` tidak
440
+ pernah menimpanya. `orc ui` โ–ธ Settings menyunting kunci yang sama lewat pemeriksa
441
+ yang sama.
442
+
443
+ **Semua kunci, nilai bawaannya, dan gunanya masing-masing:
444
+ [guides/configuration.md](guides/configuration.md).**
445
+
446
+ ---
447
+
448
+ ## Isi paketnya
449
+
450
+ ```
451
+ templates/
452
+ โ”œโ”€โ”€ skills/ 29 skill โ€” lane di atas, plus yang tidak punya perintah
453
+ โ”‚ sendiri: context-combiner, orc-advisor, orc-judge,
454
+ โ”‚ orc-analyze-mini, dan _shared/ (kesepakatan lintas lane)
455
+ โ”œโ”€โ”€ commands/ 27 perintah garis miring
456
+ โ”œโ”€โ”€ hooks/ penjaga effort (PreToolUse) ยท peringatan statusline ยท catatan jejak
457
+ โ””โ”€โ”€ agents/ 40 subagen dengan model terkunci + MODEL-MAPPING.md
458
+ bin/cli.js pemasang, penyunting pengaturan, penyusun alur, pembaca status
459
+ pekerjaan, dan separuh pasti dari setiap lane. Setiap pembacaan
460
+ bisa menjawab --json
461
+ bin/webui/ `orc ui` โ€” panel kendali lokal: css/ + js/ + i18n/<bahasa>/ +
462
+ fixtures/, satu berkas per lapisan dan per panel. Nol dependensi
463
+ bin/mockrun-catalog.js katalog contoh jalannya (diturunkan dari berkas di disk)
464
+ mock-run/ contoh-contoh jalannya itu sendiri โ€” mulai dari INDEX.md
465
+ guides/ pengaturan ยท pemilihan model ยท dokumen ยท pembacaan pengetahuan
466
+ ```
467
+
468
+ Skill `orc` sendiri hanyalah **tulang punggung** yang tipis: ia hanya memuat
469
+ referensi atau sub-skill ketika fase itu benar-benar berjalan, jadi tugas kecil
470
+ tidak perlu membayar mesin besar.
471
+
472
+ ---
473
+
474
+ ## Panduan yang lebih panjang
475
+
476
+ Beberapa lane membawa panduan lengkapnya sendiri, di sebelah skill-nya, dengan
477
+ bahasa yang sederhana:
478
+
479
+ | Panduan | Baca kalau |
480
+ |---|---|
481
+ | [ORC-QUICK](templates/skills/orc-quick/README.md) | Anda ingin contoh lengkap lane cepat |
482
+ | [ORC-DIY](templates/skills/orc-diy/README.md) | Anda ingin meracik lane sendiri |
483
+ | [ORC-WIKI](templates/skills/orc-wiki/README.md) | Anda ingin basis pengetahuan, dan pengaturan crosslink antar repo |
484
+ | [ORC-PR-SETUP](templates/skills/orc-pr-setup/README.md) | Anda ingin memecah perubahan besar jadi PR bertumpuk |
485
+ | [ORC-PR-DRIVER](templates/skills/orc-pr-driver/README.md) | Anda sudah punya rencana tumpukan dan ingin membangun, mengirim, dan me-merge-nya |
486
+ | [Pengaturan](guides/configuration.md) ยท [Pemilihan model](guides/model-selection.md) | Anda ingin semua kuncinya, atau pita penilaiannya |
487
+
488
+ Setiap skill juga membawa `SKILL.md` dan `references/`-nya sendiri. Panduan di
489
+ atas adalah versinya untuk manusia.
490
+
491
+ ---
492
+
493
+ ## Status evaluasi
494
+
495
+ Kumpulan skill ini dinilai **dari ujung ke ujung**, bukan berkas per berkas: satu
496
+ spesifikasi yang bisa dijalankan per lane, diuji terhadap proyek Express di
497
+ kotak pasir, dan dinilai dari bukti di disk โ€” catatan jejak, folder pekerjaan,
498
+ dan berkas hasil.
499
+
500
+ Putaran penuh terakhir adalah **30 evaluasi terhadap payload v0.34.0**: 25 berkas
501
+ hasil terisi dan 38 berkas jejak, dengan 5 evaluasi yang tidak pernah dinilai dan
502
+ 2 yang hanya dinilai sebagian โ€” semuanya disebutkan namanya di laporan. Semua
503
+ yang ditemukan di sana sudah diperbaiki di rilis berikutnya atau masih tercatat.
504
+ Bacalah sebagai catatan putaran itu, bukan sebagai audit terkini:
505
+ [EVAL-REPORT.md](EVAL-REPORT.md).
506
+
507
+ ---
508
+
509
+ ## Prinsip rancangannya
510
+
511
+ - **Jangan pernah menulis kode di lapisan paling atas.** Orkestrator mengatur;
512
+ subagen bernilai yang mengerjakan.
513
+ - **Batasi cakupannya dulu, baru dikerjakan paralel.** Salah paham jauh lebih
514
+ murah diperbaiki sebelum lima agen membangun di atasnya.
515
+ - **Disk lebih dipercaya daripada ingatan.** Setiap jeda adalah titik lanjut yang
516
+ bersih.
517
+ - **Model terkunci dan bisa diperiksa.** Agen bernama, modelnya tertulis di
518
+ frontmatter.
519
+ - **Kode Anda yang menang.** Pola yang dipelajari mengalah pada proyek Anda;
520
+ hanya aturan keamanan dan kebenaran yang tidak bisa ditawar.
521
+ - **Pengetahuan itu tambahan.** Wiki membuat perencanaan lebih baik kalau ada,
522
+ dan tidak membebani apa pun kalau tidak ada.
523
+ - **Katakan apa yang tidak Anda ketahui.** `UNCHECKABLE`, `no card`,
524
+ `insufficient history` adalah jawaban sungguhan. Tebakan yang terdengar yakin
525
+ lebih buruk daripada mengakui ada yang tidak diketahui.
526
+
527
+ ---
528
+
529
+ ## Daftar perubahan
530
+
531
+ **Riwayat lengkap: [CHANGELOG.md](CHANGELOG.md)** โ€” atau `orc changelog`, yang
532
+ hanya mencetak yang lebih baru dari versi yang Anda punya.
533
+
534
+ ### v0.55.1 โ€” ORC sudah ada di npm _(27-08-2026)_
535
+
536
+ **ORC diterbitkan dengan nama [`@azure-id/orc`](https://www.npmjs.com/package/@azure-id/orc).**
537
+ Pemasangan lewat GitHub tetap jalan, dan isi paketnya tidak berubah sama sekali โ€”
538
+ ini hanya soal cara memasangnya sekarang punya nama.
539
+
540
+ - **`npm i -g @azure-id/orc`** untuk memasang, dan
541
+ **`npm i -g @azure-id/orc@latest`** untuk memperbarui. `orc upgrade` sudah
542
+ melakukan keduanya sejak dulu dan tetap begitu.
543
+ - **Pemasangan dari GitHub sekarang jadi cadangan**, bukan cara utama โ€” tetap ada
544
+ di bagian "Cara mulai", dilipat, untuk fork atau kalau Anda mengunci sebuah
545
+ branch.
546
+
547
+ ### v0.51.0 โ€” alat yang sudah Anda punya, dan koneksi yang membuktikan dirinya _(22-08-2026)_
548
+
549
+ **Koneksi `orc extra`.** Dua alat coding yang bisa diberi pekerjaan oleh ORC
550
+ adalah **program di komputer Anda sendiri**, bukan situs โ€” jadi sekarang keduanya
551
+ jadi penyedia kelas satu, punya kotak hubungkan masing-masing, dan daftar model
552
+ yang dibangun dari apa yang benar-benar bisa dijangkau akun Anda.
553
+
554
+ - **Program bisa saja belum terpasang, dan panelnya mengatakan itu lebih dulu** โ€”
555
+ empat keadaan, dihitung setiap kali, tidak pernah diingat. Alat yang belum
556
+ terpasang tidak diberi tombol yang tidak mungkin berhasil, dan `orc extra add`
557
+ menolak sambil menyebutkan perintah pemasangannya.
558
+ - **ORC membuka terminal Anda sendiri dan menjalankan pemasangannya di sana.**
559
+ Bukan pekerjaan tersembunyi di latar โ€” di dalamnya, permintaan hak
560
+ administrator, kegagalan izin, unduhan 80 MB, dan tunggu empat puluh detik
561
+ semuanya terlihat sama: *tidak terjadi apa-apa*. Perintahnya tampil sebelum
562
+ tombolnya, jendelanya milik Anda, dan **ORC tidak pernah meminta hak
563
+ administrator**. Tidak ada terminal yang bisa dibuka? Anda tetap dapat
564
+ perintahnya untuk disalin.
565
+ - **Uji koneksi sekarang bertingkat**: programnya ada ยท cukup baru ยท sudah masuk
566
+ akun ยท model apa yang bisa dijangkau akun ini ยท dan, hanya kalau Anda minta,
567
+ **apakah pesan sungguhan benar-benar dijawab** โ€” lengkap dengan waktu tempuh,
568
+ jawabannya, dan empat jenis hitungan token yang tidak pernah dicampur.
569
+ - **Model yang terdaftar bukan berarti model yang bekerja.**
570
+ `orc extra models <nama> --test <id>` adalah satu-satunya cara membedakannya.
571
+ - **Kedua alat lokal itu tidak memberi tahu model mana yang menjawab**, jadi ORC
572
+ menuliskan kalimat itu, bukan membiarkan kolom kosong.
573
+ - **`extra_enabled` tidak bisa dinyalakan sebelum ada yang menjawab** โ€” dulu ia
574
+ akan terbaca NYALA padahal artinya MATI.
575
+
576
+ Sebelumnya: **v0.50.0 โ€” pekerjaan yang berjalan di tempat lain** (`orc extra`),
577
+ **v0.49.1 โ€” dewan penilai, dan `--json` yang berhenti membuang isinya**,
578
+ **v0.49.0 โ€” dokumen itu folder, dan berkasnya hasil rakitan** (`/orc-doc`), dan
579
+ **v0.48.1 โ€” satu berkas untuk satu hal, dan dokumen yang bisa diselesaikan**.
580
+ [Baca semuanya di daftar perubahan](CHANGELOG.md).
581
+
582
+ ---
583
+
584
+ ## Yang dibutuhkan
585
+
586
+ - **Claude Code** โ€” dialah yang membaca skill, perintah, dan agennya.
587
+ - **Node 18+** โ€” hanya untuk pemasangnya. Skill-nya sendiri tidak punya
588
+ dependensi apa pun.
589
+
590
+ ## Lisensi
591
+
592
+ MIT โ€” kolom `license` di `package.json` adalah pernyataan resminya.