@azure-id/orc 0.55.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.
Files changed (449) hide show
  1. package/CHANGELOG.md +2017 -0
  2. package/README-id.md +521 -0
  3. package/README.md +485 -0
  4. package/bin/build-agents.js +86 -0
  5. package/bin/cli.js +29050 -0
  6. package/bin/mockrun-catalog.js +267 -0
  7. package/bin/onboarding-content.js +172 -0
  8. package/bin/pricing.json +200 -0
  9. package/bin/providers.json +437 -0
  10. package/bin/ui.js +95 -0
  11. package/bin/verify-contracts.js +3277 -0
  12. package/bin/verify-package.js +498 -0
  13. package/bin/webui/api.js +1163 -0
  14. package/bin/webui/app.html +198 -0
  15. package/bin/webui/css/00-tokens.css +92 -0
  16. package/bin/webui/css/01-base.css +42 -0
  17. package/bin/webui/css/02-shell.css +103 -0
  18. package/bin/webui/css/03-components.css +462 -0
  19. package/bin/webui/css/04-motion.css +91 -0
  20. package/bin/webui/css/05-tour.css +100 -0
  21. package/bin/webui/css/06-responsive.css +108 -0
  22. package/bin/webui/css/panels/boundary.css +26 -0
  23. package/bin/webui/css/panels/challenge.css +151 -0
  24. package/bin/webui/css/panels/crosslink.css +194 -0
  25. package/bin/webui/css/panels/docs.css +254 -0
  26. package/bin/webui/css/panels/experiment.css +23 -0
  27. package/bin/webui/css/panels/extra.css +536 -0
  28. package/bin/webui/css/panels/flow.css +177 -0
  29. package/bin/webui/css/panels/handoff.css +67 -0
  30. package/bin/webui/css/panels/knowledge.css +86 -0
  31. package/bin/webui/css/panels/learn.css +154 -0
  32. package/bin/webui/css/panels/maintenance.css +55 -0
  33. package/bin/webui/css/panels/mockrun.css +268 -0
  34. package/bin/webui/css/panels/overview.css +100 -0
  35. package/bin/webui/css/panels/pact.css +43 -0
  36. package/bin/webui/css/panels/runs.css +105 -0
  37. package/bin/webui/css/panels/settings.css +227 -0
  38. package/bin/webui/css/panels/stats.css +87 -0
  39. package/bin/webui/fixtures/boundary.js +92 -0
  40. package/bin/webui/fixtures/challenge.js +825 -0
  41. package/bin/webui/fixtures/crosslink.js +31 -0
  42. package/bin/webui/fixtures/docs.js +982 -0
  43. package/bin/webui/fixtures/extra.js +1934 -0
  44. package/bin/webui/fixtures/flow.js +81 -0
  45. package/bin/webui/fixtures/handoff.js +35 -0
  46. package/bin/webui/fixtures/index.js +486 -0
  47. package/bin/webui/fixtures/knowledge.js +291 -0
  48. package/bin/webui/fixtures/maintenance.js +42 -0
  49. package/bin/webui/fixtures/mockrun.js +36 -0
  50. package/bin/webui/fixtures/pact.js +111 -0
  51. package/bin/webui/fixtures/runs.js +109 -0
  52. package/bin/webui/fixtures/settings.js +78 -0
  53. package/bin/webui/fixtures/shell.js +48 -0
  54. package/bin/webui/fixtures/stats.js +104 -0
  55. package/bin/webui/i18n/TERMS.md +134 -0
  56. package/bin/webui/i18n/en/banner.json +29 -0
  57. package/bin/webui/i18n/en/boundary.json +20 -0
  58. package/bin/webui/i18n/en/challenge.json +106 -0
  59. package/bin/webui/i18n/en/common.json +69 -0
  60. package/bin/webui/i18n/en/crosslink.json +69 -0
  61. package/bin/webui/i18n/en/docs.json +175 -0
  62. package/bin/webui/i18n/en/experiment.json +17 -0
  63. package/bin/webui/i18n/en/extra.json +313 -0
  64. package/bin/webui/i18n/en/flow.json +30 -0
  65. package/bin/webui/i18n/en/handoff.json +37 -0
  66. package/bin/webui/i18n/en/knowledge.json +141 -0
  67. package/bin/webui/i18n/en/learn.json +16 -0
  68. package/bin/webui/i18n/en/maintenance.json +52 -0
  69. package/bin/webui/i18n/en/mockrun.json +19 -0
  70. package/bin/webui/i18n/en/nav.json +19 -0
  71. package/bin/webui/i18n/en/overview.json +89 -0
  72. package/bin/webui/i18n/en/pact.json +36 -0
  73. package/bin/webui/i18n/en/runs.json +51 -0
  74. package/bin/webui/i18n/en/settings.json +49 -0
  75. package/bin/webui/i18n/en/stats.json +69 -0
  76. package/bin/webui/i18n/en/tour.json +33 -0
  77. package/bin/webui/i18n/id/banner.json +29 -0
  78. package/bin/webui/i18n/id/boundary.json +20 -0
  79. package/bin/webui/i18n/id/challenge.json +106 -0
  80. package/bin/webui/i18n/id/common.json +70 -0
  81. package/bin/webui/i18n/id/crosslink.json +69 -0
  82. package/bin/webui/i18n/id/docs.json +175 -0
  83. package/bin/webui/i18n/id/experiment.json +17 -0
  84. package/bin/webui/i18n/id/extra.json +313 -0
  85. package/bin/webui/i18n/id/flow.json +30 -0
  86. package/bin/webui/i18n/id/handoff.json +37 -0
  87. package/bin/webui/i18n/id/knowledge.json +141 -0
  88. package/bin/webui/i18n/id/learn.json +16 -0
  89. package/bin/webui/i18n/id/maintenance.json +52 -0
  90. package/bin/webui/i18n/id/mockrun.json +19 -0
  91. package/bin/webui/i18n/id/nav.json +19 -0
  92. package/bin/webui/i18n/id/overview.json +89 -0
  93. package/bin/webui/i18n/id/pact.json +36 -0
  94. package/bin/webui/i18n/id/runs.json +51 -0
  95. package/bin/webui/i18n/id/settings.json +49 -0
  96. package/bin/webui/i18n/id/stats.json +69 -0
  97. package/bin/webui/i18n/id/tour.json +33 -0
  98. package/bin/webui/js/00-core.js +115 -0
  99. package/bin/webui/js/01-i18n.js +149 -0
  100. package/bin/webui/js/02-ui.js +211 -0
  101. package/bin/webui/js/03-md.js +286 -0
  102. package/bin/webui/js/04-router.js +51 -0
  103. package/bin/webui/js/05-banners.js +172 -0
  104. package/bin/webui/js/06-edit.js +183 -0
  105. package/bin/webui/js/90-tour.js +488 -0
  106. package/bin/webui/js/91-shortcuts.js +126 -0
  107. package/bin/webui/js/99-boot.js +118 -0
  108. package/bin/webui/js/panels/boundary.js +104 -0
  109. package/bin/webui/js/panels/challenge.js +781 -0
  110. package/bin/webui/js/panels/crosslink.js +654 -0
  111. package/bin/webui/js/panels/docs.js +1338 -0
  112. package/bin/webui/js/panels/experiment.js +98 -0
  113. package/bin/webui/js/panels/extra.js +3011 -0
  114. package/bin/webui/js/panels/flow.js +297 -0
  115. package/bin/webui/js/panels/handoff.js +169 -0
  116. package/bin/webui/js/panels/knowledge.js +890 -0
  117. package/bin/webui/js/panels/learn.js +220 -0
  118. package/bin/webui/js/panels/maintenance.js +235 -0
  119. package/bin/webui/js/panels/mockrun.js +227 -0
  120. package/bin/webui/js/panels/overview.js +447 -0
  121. package/bin/webui/js/panels/pact.js +189 -0
  122. package/bin/webui/js/panels/runs.js +416 -0
  123. package/bin/webui/js/panels/settings.js +573 -0
  124. package/bin/webui/js/panels/stats.js +378 -0
  125. package/bin/webui/serve.js +557 -0
  126. package/mock-run/INDEX.md +106 -0
  127. package/mock-run/a-normal-day.md +587 -0
  128. package/mock-run/context-combiner.md +100 -0
  129. package/mock-run/extra-recovery.md +330 -0
  130. package/mock-run/extra-slots.md +177 -0
  131. package/mock-run/media/README.md +43 -0
  132. package/mock-run/orc-aftermath.md +392 -0
  133. package/mock-run/orc-boundary.md +356 -0
  134. package/mock-run/orc-brainstorm.md +177 -0
  135. package/mock-run/orc-budget.md +534 -0
  136. package/mock-run/orc-challenge-council.md +262 -0
  137. package/mock-run/orc-challenge.md +416 -0
  138. package/mock-run/orc-cli.md +200 -0
  139. package/mock-run/orc-diy.md +129 -0
  140. package/mock-run/orc-doc.md +448 -0
  141. package/mock-run/orc-explain.md +86 -0
  142. package/mock-run/orc-export.md +423 -0
  143. package/mock-run/orc-extra.md +392 -0
  144. package/mock-run/orc-fast.md +106 -0
  145. package/mock-run/orc-grill.md +151 -0
  146. package/mock-run/orc-handoff.md +480 -0
  147. package/mock-run/orc-pact.md +421 -0
  148. package/mock-run/orc-pattern.md +112 -0
  149. package/mock-run/orc-plan.md +108 -0
  150. package/mock-run/orc-pr-setup.md +126 -0
  151. package/mock-run/orc-quick.md +113 -0
  152. package/mock-run/orc-route.md +93 -0
  153. package/mock-run/orc-ui.md +125 -0
  154. package/mock-run/orc-ultra.md +103 -0
  155. package/mock-run/orc.md +157 -0
  156. package/mock-run/the-example-project.md +55 -0
  157. package/package.json +39 -0
  158. package/templates/agents/MODEL-MAPPING.md +168 -0
  159. package/templates/agents/orc-advisor-fable-5.md +50 -0
  160. package/templates/agents/orc-advisor-opus-5-xhigh.md +56 -0
  161. package/templates/agents/orc-analyst-fable-5.md +115 -0
  162. package/templates/agents/orc-analyze-mini-opus-5-med.md +60 -0
  163. package/templates/agents/orc-analyze-mini-sonnet-5-high.md +58 -0
  164. package/templates/agents/orc-challenge-advisor-opus-5-med.md +75 -0
  165. package/templates/agents/orc-challenge-contrarian-opus-5-high.md +110 -0
  166. package/templates/agents/orc-challenge-executor-opus-5-med.md +114 -0
  167. package/templates/agents/orc-challenge-expansionist-opus-5-med.md +112 -0
  168. package/templates/agents/orc-challenge-judge-opus-5-high.md +132 -0
  169. package/templates/agents/orc-challenge-outsider-opus-5-low.md +109 -0
  170. package/templates/agents/orc-challenge-principles-opus-5-high.md +109 -0
  171. package/templates/agents/orc-challenge-reader-opus-5-low.md +90 -0
  172. package/templates/agents/orc-claude-writer-opus-4-8-high.md +53 -0
  173. package/templates/agents/orc-claude-writer-opus-5-med.md +55 -0
  174. package/templates/agents/orc-context-combiner-opus-5-high.md +88 -0
  175. package/templates/agents/orc-doc-checker-opus-5-low.md +108 -0
  176. package/templates/agents/orc-doc-writer-opus-5-med.md +134 -0
  177. package/templates/agents/orc-executor-haiku-4-5.md +113 -0
  178. package/templates/agents/orc-executor-opus-4-7-high.md +114 -0
  179. package/templates/agents/orc-executor-opus-4-7-med.md +114 -0
  180. package/templates/agents/orc-executor-opus-4-8-high.md +114 -0
  181. package/templates/agents/orc-executor-opus-5-high.md +114 -0
  182. package/templates/agents/orc-executor-opus-5-low.md +114 -0
  183. package/templates/agents/orc-executor-opus-5-med.md +114 -0
  184. package/templates/agents/orc-executor-sonnet-4-6-high.md +114 -0
  185. package/templates/agents/orc-executor-sonnet-4-6-med.md +114 -0
  186. package/templates/agents/orc-executor-sonnet-5-high.md +114 -0
  187. package/templates/agents/orc-judge-fable-5.md +79 -0
  188. package/templates/agents/orc-judge-opus-5-xhigh.md +85 -0
  189. package/templates/agents/orc-learn-writer-opus-5-low.md +73 -0
  190. package/templates/agents/orc-pattern-codifier-opus-5-med.md +65 -0
  191. package/templates/agents/orc-pattern-codifier-sonnet-5-high.md +63 -0
  192. package/templates/agents/orc-planner-fable-5.md +152 -0
  193. package/templates/agents/orc-planner-mini-opus-5-med.md +69 -0
  194. package/templates/agents/orc-planner-mini-sonnet-5-high.md +67 -0
  195. package/templates/agents/orc-planner-opus-5-med.md +160 -0
  196. package/templates/agents/orc-retro-opus-5-med.md +73 -0
  197. package/templates/agents/orc-retro-sonnet-5-high.md +72 -0
  198. package/templates/agents/orc-reviewer-fable-5.md +57 -0
  199. package/templates/agents/orc-reviewer-opus-5-med.md +60 -0
  200. package/templates/agents/orc-scout-opus-5-low.md +40 -0
  201. package/templates/agents/orc-scout-sonnet-4-6-high.md +39 -0
  202. package/templates/agents/orc-system-analyst-opus-5-high.md +120 -0
  203. package/templates/agents/orc-test-author-opus-5-med.md +71 -0
  204. package/templates/agents/orc-trace-writer-haiku-4-5.md +107 -0
  205. package/templates/agents/orc-verifier-opus-5-med.md +69 -0
  206. package/templates/agents/orc-wiki-scanner-opus-4-8-high.md +79 -0
  207. package/templates/agents/orc-wiki-scanner-opus-5-med.md +81 -0
  208. package/templates/agents/orc-wiki-scanner-sonnet-5-high.md +106 -0
  209. package/templates/commands/orc-aftermath.md +49 -0
  210. package/templates/commands/orc-analyze.md +21 -0
  211. package/templates/commands/orc-boundary.md +46 -0
  212. package/templates/commands/orc-brainstorm.md +51 -0
  213. package/templates/commands/orc-budget.md +54 -0
  214. package/templates/commands/orc-challenge.md +58 -0
  215. package/templates/commands/orc-claude.md +14 -0
  216. package/templates/commands/orc-diy.md +13 -0
  217. package/templates/commands/orc-doc.md +128 -0
  218. package/templates/commands/orc-explain.md +20 -0
  219. package/templates/commands/orc-export.md +46 -0
  220. package/templates/commands/orc-fast.md +15 -0
  221. package/templates/commands/orc-grill.md +40 -0
  222. package/templates/commands/orc-handoff.md +52 -0
  223. package/templates/commands/orc-learn.md +17 -0
  224. package/templates/commands/orc-mini.md +12 -0
  225. package/templates/commands/orc-pact.md +44 -0
  226. package/templates/commands/orc-pattern.md +15 -0
  227. package/templates/commands/orc-plan.md +22 -0
  228. package/templates/commands/orc-poly.md +21 -0
  229. package/templates/commands/orc-pr-driver.md +30 -0
  230. package/templates/commands/orc-pr-setup.md +31 -0
  231. package/templates/commands/orc-quick.md +33 -0
  232. package/templates/commands/orc-retro.md +17 -0
  233. package/templates/commands/orc-route.md +41 -0
  234. package/templates/commands/orc-ultra.md +17 -0
  235. package/templates/commands/orc-verify.md +11 -0
  236. package/templates/commands/orc-wiki.md +42 -0
  237. package/templates/commands/orc.md +16 -0
  238. package/templates/hooks/orc-effort-guard.js +178 -0
  239. package/templates/hooks/orc-statusline.js +305 -0
  240. package/templates/hooks/orc-trace.js +471 -0
  241. package/templates/hooks/orc-update-lib.js +125 -0
  242. package/templates/skills/_shared/README.md +50 -0
  243. package/templates/skills/_shared/detecting-artifacts.md +90 -0
  244. package/templates/skills/_shared/drift-recovery.md +98 -0
  245. package/templates/skills/_shared/extra-dispatch.md +1051 -0
  246. package/templates/skills/_shared/fable5-override.md +56 -0
  247. package/templates/skills/_shared/fallback-handoff.md +42 -0
  248. package/templates/skills/_shared/gh-stack-commands.md +65 -0
  249. package/templates/skills/_shared/gotchas.md +177 -0
  250. package/templates/skills/_shared/interview.md +144 -0
  251. package/templates/skills/_shared/lane-suspend.md +82 -0
  252. package/templates/skills/_shared/opus5-only.md +131 -0
  253. package/templates/skills/_shared/pr-templates.md +106 -0
  254. package/templates/skills/_shared/read-ladder.md +54 -0
  255. package/templates/skills/_shared/return-validation.md +145 -0
  256. package/templates/skills/_shared/smoke-gate.md +28 -0
  257. package/templates/skills/_shared/stack-plan.md +135 -0
  258. package/templates/skills/_shared/untrusted-input.md +63 -0
  259. package/templates/skills/context-combiner/SKILL.md +187 -0
  260. package/templates/skills/context-combiner/schemas/combined-report.md +78 -0
  261. package/templates/skills/context-combiner/schemas/combined-requirement-spec.md +87 -0
  262. package/templates/skills/orc/README.md +150 -0
  263. package/templates/skills/orc/SKILL.md +526 -0
  264. package/templates/skills/orc/config.md +389 -0
  265. package/templates/skills/orc/examples/full-run-mock.md +73 -0
  266. package/templates/skills/orc/references/analyst-gates.md +124 -0
  267. package/templates/skills/orc/references/effort-and-mode.md +224 -0
  268. package/templates/skills/orc/references/house-rules.md +20 -0
  269. package/templates/skills/orc/references/intake.md +120 -0
  270. package/templates/skills/orc/references/log-protocol.md +39 -0
  271. package/templates/skills/orc/references/pattern-gate.md +89 -0
  272. package/templates/skills/orc/references/plan-handoff.md +84 -0
  273. package/templates/skills/orc/references/preflight-report.md +220 -0
  274. package/templates/skills/orc/references/security-checklist.md +39 -0
  275. package/templates/skills/orc/references/stop-and-resume.md +160 -0
  276. package/templates/skills/orc/references/trace-protocol.md +314 -0
  277. package/templates/skills/orc/references/ultra-mode.md +123 -0
  278. package/templates/skills/orc/references/wave-grouping.md +121 -0
  279. package/templates/skills/orc/references/wiki-consult.md +177 -0
  280. package/templates/skills/orc/schemas/checkpoint.md +122 -0
  281. package/templates/skills/orc/schemas/intent-spec.md +42 -0
  282. package/templates/skills/orc/schemas/planning-output.md +279 -0
  283. package/templates/skills/orc/subskills/orc-checkpoint/SKILL.md +55 -0
  284. package/templates/skills/orc/subskills/orc-execution/SKILL.md +72 -0
  285. package/templates/skills/orc/subskills/orc-execution/core.md +151 -0
  286. package/templates/skills/orc/subskills/orc-execution/subagent.md +13 -0
  287. package/templates/skills/orc/subskills/orc-planner/SKILL.md +264 -0
  288. package/templates/skills/orc/subskills/orc-planner-mini/SKILL.md +121 -0
  289. package/templates/skills/orc/subskills/orc-pr/SKILL.md +51 -0
  290. package/templates/skills/orc/subskills/orc-pr/pr.md +22 -0
  291. package/templates/skills/orc/subskills/orc-pr/stack-gate.md +108 -0
  292. package/templates/skills/orc/subskills/orc-review-verify/SKILL.md +76 -0
  293. package/templates/skills/orc/subskills/orc-review-verify/core.md +135 -0
  294. package/templates/skills/orc/subskills/orc-review-verify/subagent.md +7 -0
  295. package/templates/skills/orc/subskills/orc-testgen/SKILL.md +45 -0
  296. package/templates/skills/orc/subskills/orc-testgen/core.md +59 -0
  297. package/templates/skills/orc/subskills/orc-testgen/subagent.md +7 -0
  298. package/templates/skills/orc-advisor/SKILL.md +60 -0
  299. package/templates/skills/orc-aftermath/SKILL.md +136 -0
  300. package/templates/skills/orc-aftermath/references/report.md +95 -0
  301. package/templates/skills/orc-analyze/SKILL.md +220 -0
  302. package/templates/skills/orc-analyze/examples/analyze-mock.md +42 -0
  303. package/templates/skills/orc-analyze/references/branching.md +51 -0
  304. package/templates/skills/orc-analyze/references/deep-mode.md +27 -0
  305. package/templates/skills/orc-analyze/references/thin-input.md +77 -0
  306. package/templates/skills/orc-analyze/schemas/report-audit.md +83 -0
  307. package/templates/skills/orc-analyze/schemas/report-prose.md +63 -0
  308. package/templates/skills/orc-analyze/schemas/report-requirement.md +78 -0
  309. package/templates/skills/orc-analyze/schemas/requirement-spec.md +77 -0
  310. package/templates/skills/orc-analyze-mini/SKILL.md +112 -0
  311. package/templates/skills/orc-analyze-mini/examples/quick-analysis-mock.md +31 -0
  312. package/templates/skills/orc-boundary/SKILL.md +208 -0
  313. package/templates/skills/orc-boundary/references/card.md +78 -0
  314. package/templates/skills/orc-boundary/references/gate.md +113 -0
  315. package/templates/skills/orc-brainstorm/SKILL.md +339 -0
  316. package/templates/skills/orc-brainstorm/references/brainstorm-doc.md +133 -0
  317. package/templates/skills/orc-brainstorm/references/lenses.md +152 -0
  318. package/templates/skills/orc-budget/SKILL.md +225 -0
  319. package/templates/skills/orc-budget/references/corpus.md +87 -0
  320. package/templates/skills/orc-challenge/README.md +142 -0
  321. package/templates/skills/orc-challenge/SKILL.md +255 -0
  322. package/templates/skills/orc-challenge/examples/code-module.md +110 -0
  323. package/templates/skills/orc-challenge/examples/council-full-roster.md +273 -0
  324. package/templates/skills/orc-challenge/examples/tsd-two-iterations.md +213 -0
  325. package/templates/skills/orc-challenge/references/conservation.md +107 -0
  326. package/templates/skills/orc-challenge/references/council.md +315 -0
  327. package/templates/skills/orc-challenge/references/cycle-state.md +185 -0
  328. package/templates/skills/orc-challenge/references/dimensions.md +121 -0
  329. package/templates/skills/orc-challenge/references/fix-brief.md +130 -0
  330. package/templates/skills/orc-challenge/references/intake.md +171 -0
  331. package/templates/skills/orc-challenge/references/kinds.md +44 -0
  332. package/templates/skills/orc-challenge/references/plain-english.md +98 -0
  333. package/templates/skills/orc-challenge/references/rubric.md +109 -0
  334. package/templates/skills/orc-challenge/references/sealed-slice.md +97 -0
  335. package/templates/skills/orc-challenge/references/verdict-doc.md +154 -0
  336. package/templates/skills/orc-claude/SKILL.md +199 -0
  337. package/templates/skills/orc-claude/examples/claude-run-mock.md +65 -0
  338. package/templates/skills/orc-claude/references/refresh.md +76 -0
  339. package/templates/skills/orc-claude/references/template.md +109 -0
  340. package/templates/skills/orc-diy/README.md +142 -0
  341. package/templates/skills/orc-diy/SKILL.md +70 -0
  342. package/templates/skills/orc-diy/references/blocks/analyze.md +24 -0
  343. package/templates/skills/orc-diy/references/blocks/execution.md +42 -0
  344. package/templates/skills/orc-diy/references/blocks/extra.md +55 -0
  345. package/templates/skills/orc-diy/references/blocks/header.md +55 -0
  346. package/templates/skills/orc-diy/references/blocks/mock-example.md +22 -0
  347. package/templates/skills/orc-diy/references/blocks/pattern.md +18 -0
  348. package/templates/skills/orc-diy/references/blocks/planning.md +34 -0
  349. package/templates/skills/orc-diy/references/blocks/review.md +18 -0
  350. package/templates/skills/orc-diy/references/blocks/scoring.md +16 -0
  351. package/templates/skills/orc-diy/references/blocks/security.md +25 -0
  352. package/templates/skills/orc-diy/references/blocks/ship.md +25 -0
  353. package/templates/skills/orc-diy/references/blocks/summary.md +18 -0
  354. package/templates/skills/orc-diy/references/blocks/testgen.md +17 -0
  355. package/templates/skills/orc-diy/references/blocks/trace.md +28 -0
  356. package/templates/skills/orc-diy/references/blocks/verify.md +25 -0
  357. package/templates/skills/orc-diy/references/blocks/wiki.md +26 -0
  358. package/templates/skills/orc-diy/references/compile.md +59 -0
  359. package/templates/skills/orc-diy/references/flow-schema.md +100 -0
  360. package/templates/skills/orc-diy/references/locked-blocks.md +37 -0
  361. package/templates/skills/orc-doc/README.md +229 -0
  362. package/templates/skills/orc-doc/SKILL.md +444 -0
  363. package/templates/skills/orc-doc/examples/orc-doc-prd-run.md +325 -0
  364. package/templates/skills/orc-doc/references/chunking.md +527 -0
  365. package/templates/skills/orc-doc/references/gates.md +311 -0
  366. package/templates/skills/orc-doc/references/generation-rules.md +122 -0
  367. package/templates/skills/orc-doc/references/house-rules.md +170 -0
  368. package/templates/skills/orc-doc/references/import-targets.md +40 -0
  369. package/templates/skills/orc-doc/references/plain-language.md +66 -0
  370. package/templates/skills/orc-doc/references/portable-markdown.md +74 -0
  371. package/templates/skills/orc-doc/references/resume-protocol.md +228 -0
  372. package/templates/skills/orc-doc/references/templates/collaboration.md +118 -0
  373. package/templates/skills/orc-doc/references/templates/prd.md +133 -0
  374. package/templates/skills/orc-doc/references/templates/report.md +102 -0
  375. package/templates/skills/orc-doc/references/templates/tsd.md +122 -0
  376. package/templates/skills/orc-doc/references/templates/workflow.md +112 -0
  377. package/templates/skills/orc-explain/SKILL.md +57 -0
  378. package/templates/skills/orc-export/SKILL.md +154 -0
  379. package/templates/skills/orc-fast/SKILL.md +188 -0
  380. package/templates/skills/orc-grill/SKILL.md +207 -0
  381. package/templates/skills/orc-grill/references/grill-doc.md +105 -0
  382. package/templates/skills/orc-handoff/SKILL.md +204 -0
  383. package/templates/skills/orc-handoff/references/handoff-log.md +67 -0
  384. package/templates/skills/orc-handoff/references/surfaces.md +88 -0
  385. package/templates/skills/orc-judge/SKILL.md +82 -0
  386. package/templates/skills/orc-learn/SKILL.md +156 -0
  387. package/templates/skills/orc-learn/examples/learn-run-mock.md +61 -0
  388. package/templates/skills/orc-learn/references/deepen.md +70 -0
  389. package/templates/skills/orc-learn/references/refresh.md +65 -0
  390. package/templates/skills/orc-learn/references/template-knowledge.md +83 -0
  391. package/templates/skills/orc-learn/references/template-learning.md +67 -0
  392. package/templates/skills/orc-mini/SKILL.md +226 -0
  393. package/templates/skills/orc-mini/examples/mini-run-mock.md +50 -0
  394. package/templates/skills/orc-pact/SKILL.md +218 -0
  395. package/templates/skills/orc-pact/references/gate.md +70 -0
  396. package/templates/skills/orc-pact/references/ledger.md +99 -0
  397. package/templates/skills/orc-pattern/SKILL.md +124 -0
  398. package/templates/skills/orc-pattern/references/INDEX.md +73 -0
  399. package/templates/skills/orc-pattern/references/be-django.md +80 -0
  400. package/templates/skills/orc-pattern/references/be-express.md +82 -0
  401. package/templates/skills/orc-pattern/references/be-fastapi.md +107 -0
  402. package/templates/skills/orc-pattern/references/be-go.md +96 -0
  403. package/templates/skills/orc-pattern/references/be-nestjs.md +86 -0
  404. package/templates/skills/orc-pattern/references/be-postgres.md +98 -0
  405. package/templates/skills/orc-pattern/references/fe-a11y.md +36 -0
  406. package/templates/skills/orc-pattern/references/fe-angular.md +87 -0
  407. package/templates/skills/orc-pattern/references/fe-nextjs.md +65 -0
  408. package/templates/skills/orc-pattern/references/fe-perf.md +39 -0
  409. package/templates/skills/orc-pattern/references/fe-react.md +83 -0
  410. package/templates/skills/orc-pattern/references/fe-vue.md +75 -0
  411. package/templates/skills/orc-pattern/schemas/pattern-doc.md +62 -0
  412. package/templates/skills/orc-poly/SKILL.md +216 -0
  413. package/templates/skills/orc-poly/examples/poly-run-mock.md +51 -0
  414. package/templates/skills/orc-poly/references/gather.md +70 -0
  415. package/templates/skills/orc-poly/references/poly-spec.md +84 -0
  416. package/templates/skills/orc-pr-driver/README.md +349 -0
  417. package/templates/skills/orc-pr-driver/SKILL.md +167 -0
  418. package/templates/skills/orc-pr-driver/references/conflict-playbook.md +78 -0
  419. package/templates/skills/orc-pr-driver/references/green-gate.md +105 -0
  420. package/templates/skills/orc-pr-driver/references/orc-run-split.md +99 -0
  421. package/templates/skills/orc-pr-setup/README.md +436 -0
  422. package/templates/skills/orc-pr-setup/SKILL.md +184 -0
  423. package/templates/skills/orc-pr-setup/references/certainty-gate.md +66 -0
  424. package/templates/skills/orc-pr-setup/references/layer-taxonomy.md +67 -0
  425. package/templates/skills/orc-quick/README.md +423 -0
  426. package/templates/skills/orc-quick/SKILL.md +306 -0
  427. package/templates/skills/orc-quick/references/context-doc.md +114 -0
  428. package/templates/skills/orc-quick/references/dispatch-gate.md +163 -0
  429. package/templates/skills/orc-quick/references/gh-mode.md +127 -0
  430. package/templates/skills/orc-retro/SKILL.md +222 -0
  431. package/templates/skills/orc-retro/examples/retro-mock.md +171 -0
  432. package/templates/skills/orc-route/SKILL.md +165 -0
  433. package/templates/skills/orc-verify/SKILL.md +86 -0
  434. package/templates/skills/orc-verify/examples/verify-mock.md +33 -0
  435. package/templates/skills/orc-wiki/README.md +325 -0
  436. package/templates/skills/orc-wiki/SKILL.md +322 -0
  437. package/templates/skills/orc-wiki/examples/wiki-run-mock.md +37 -0
  438. package/templates/skills/orc-wiki/references/claude-md-injection.md +61 -0
  439. package/templates/skills/orc-wiki/references/crosslink-compile.md +39 -0
  440. package/templates/skills/orc-wiki/references/crosslink-kinds.md +57 -0
  441. package/templates/skills/orc-wiki/references/crosslink.md +284 -0
  442. package/templates/skills/orc-wiki/references/extra.md +79 -0
  443. package/templates/skills/orc-wiki/references/integrity-check.md +86 -0
  444. package/templates/skills/orc-wiki/references/orientation.md +51 -0
  445. package/templates/skills/orc-wiki/references/partial-refresh.md +203 -0
  446. package/templates/skills/orc-wiki/references/pattern-prewarm.md +19 -0
  447. package/templates/skills/orc-wiki/references/staleness.md +288 -0
  448. package/templates/skills/orc-wiki/schemas/crosslink-tag.md +166 -0
  449. package/templates/skills/orc-wiki/schemas/wiki-doc.md +120 -0
package/README-id.md ADDED
@@ -0,0 +1,521 @@
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.