@ps-neko/nekowork 0.1.0-alpha.9 → 0.2.0-alpha.1

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 (263) hide show
  1. package/README.md +45 -506
  2. package/package.json +22 -82
  3. package/scripts/benchmark/capture-live-ai-diff.js +230 -0
  4. package/scripts/benchmark/rules.js +214 -0
  5. package/scripts/benchmark/scrape-oss-positives.js +237 -0
  6. package/scripts/benchmark/verify-candidates.js +110 -0
  7. package/scripts/check.js +126 -0
  8. package/scripts/cli.js +169 -1397
  9. package/scripts/lib/decision.js +336 -0
  10. package/scripts/lib/diff-parser.js +344 -0
  11. package/scripts/lib/project-detector.js +309 -0
  12. package/scripts/lib/rules/_helpers.js +149 -0
  13. package/scripts/lib/rules/auto-apply-commit-push.js +94 -0
  14. package/scripts/lib/rules/hardcoded-credential.js +103 -0
  15. package/scripts/lib/rules/package-lockfile-risk.js +92 -0
  16. package/scripts/lib/rules/secret-fallback.js +259 -0
  17. package/scripts/lib/rules/test-or-security-disable.js +91 -0
  18. package/scripts/orchestrators/_handoff-utils.js +27 -0
  19. package/scripts/orchestrators/apply.js +4 -23
  20. package/scripts/orchestrators/gate.js +17 -2
  21. package/scripts/orchestrators/report.js +43 -2
  22. package/scripts/orchestrators/verify-pr.js +476 -0
  23. package/AGENTS.md +0 -112
  24. package/CLAUDE.md +0 -84
  25. package/LICENSE +0 -21
  26. package/README.ko.md +0 -217
  27. package/REVIEW.md +0 -96
  28. package/RULES.md +0 -51
  29. package/SOUL.md +0 -21
  30. package/WORKING-CONTEXT.md +0 -52
  31. package/agent.yaml +0 -222
  32. package/agents/architect.md +0 -57
  33. package/agents/code-reviewer.md +0 -60
  34. package/agents/codex-challenger.md +0 -53
  35. package/agents/codex-reviewer.md +0 -56
  36. package/agents/debugger.md +0 -33
  37. package/agents/doc-writer.md +0 -51
  38. package/agents/executor.md +0 -41
  39. package/agents/planner.md +0 -49
  40. package/agents/research.md +0 -50
  41. package/agents/security-reviewer.md +0 -47
  42. package/agents/test-engineer.md +0 -41
  43. package/bridge/mcp-server.js +0 -301
  44. package/commands/claude-led-codex-review.md +0 -29
  45. package/docs/ADVANCED.md +0 -374
  46. package/docs/AGENTIC-PATTERNS.md +0 -115
  47. package/docs/AI-DEVELOPMENT-LIFECYCLE.md +0 -120
  48. package/docs/ARCHITECTURE.md +0 -213
  49. package/docs/AUDIT.md +0 -124
  50. package/docs/AUTH-MIGRATION.md +0 -282
  51. package/docs/AUTONOMY.md +0 -98
  52. package/docs/BUILD.md +0 -165
  53. package/docs/CATALOG-PACKS.md +0 -91
  54. package/docs/CHANGELOG.md +0 -198
  55. package/docs/CLI-STAGES.md +0 -101
  56. package/docs/CLI-UX-PHASE1A-PLAN.md +0 -1293
  57. package/docs/CLI-UX-REDESIGN.md +0 -220
  58. package/docs/CODEMAPS/README.md +0 -15
  59. package/docs/CODEMAPS/agents.md +0 -22
  60. package/docs/CODEMAPS/bridge.md +0 -18
  61. package/docs/CODEMAPS/hooks.md +0 -28
  62. package/docs/CODEMAPS/manifests.md +0 -15
  63. package/docs/CODEMAPS/rules.md +0 -22
  64. package/docs/CODEMAPS/schemas.md +0 -22
  65. package/docs/CODEMAPS/scripts.md +0 -188
  66. package/docs/CODEMAPS/skills.md +0 -31
  67. package/docs/CODEMAPS/tests.md +0 -126
  68. package/docs/CORE-INVARIANTS.md +0 -39
  69. package/docs/DEMO-REPORT.md +0 -119
  70. package/docs/DEMO.md +0 -151
  71. package/docs/EXAMPLE-PROJECT.md +0 -92
  72. package/docs/EXTERNAL-RUN.md +0 -82
  73. package/docs/FAILURE-MODES.md +0 -94
  74. package/docs/FEEDBACK-TRIAGE.md +0 -149
  75. package/docs/INTERNAL-PROVIDER.md +0 -85
  76. package/docs/NAMING.md +0 -46
  77. package/docs/PARALLEL-CANDIDATES.md +0 -95
  78. package/docs/PORTING.md +0 -164
  79. package/docs/PR-PREP.md +0 -35
  80. package/docs/PRODUCT-PRINCIPLES.md +0 -344
  81. package/docs/PUBLISH-ALPHA.md +0 -217
  82. package/docs/QUICKSTART.md +0 -402
  83. package/docs/RELEASE-READINESS.md +0 -216
  84. package/docs/RISK-CLASSIFIER.md +0 -50
  85. package/docs/ROADMAP.md +0 -133
  86. package/docs/RUNBOOK.md +0 -153
  87. package/docs/SAFETY-GUARANTEES.md +0 -54
  88. package/docs/SECURITY.md +0 -79
  89. package/docs/SETUP.md +0 -143
  90. package/docs/TRUST-MODEL.md +0 -46
  91. package/docs/WHY-NEKOWORK.md +0 -95
  92. package/docs/WHY-NOT-AUTOPILOT.md +0 -37
  93. package/docs/assets/demo-terminal.svg +0 -41
  94. package/docs/case-studies/DIARY-LOCAL-APP.md +0 -117
  95. package/docs/case-studies/JSHTTP-BASIC-AUTH.md +0 -168
  96. package/docs/case-studies/MOTDOTLA-DOTENV.md +0 -191
  97. package/docs/case-studies/PYTHON-HYPER-H11.md +0 -168
  98. package/docs/case-studies/README.md +0 -20
  99. package/docs/case-studies/SINDRESORHUS-IS-PLAIN-OBJ.md +0 -141
  100. package/docs/dev-log/2026-04-29-p1-recovery.md +0 -142
  101. package/docs/dev-log/2026-04-29-week1-4.md +0 -81
  102. package/docs/examples/GITHUB-ACTIONS-HARDENING.md +0 -86
  103. package/docs/examples/QUALITY-LIFECYCLE-SMOKE.md +0 -32
  104. package/docs/examples/TRADING-DASHBOARD-MOCK.md +0 -65
  105. package/docs/workflows-stash/README.md +0 -32
  106. package/docs/workflows-stash/harness-review.yml +0 -166
  107. package/docs/workflows-stash/harness-validate.yml +0 -98
  108. package/examples/github-actions-hardening/.github/workflows/hardened-validate.yml +0 -38
  109. package/examples/github-actions-hardening/README.md +0 -31
  110. package/examples/github-actions-hardening/case-study/ASK.md +0 -26
  111. package/examples/github-actions-hardening/case-study/GATE_STATUS.md +0 -28
  112. package/examples/github-actions-hardening/case-study/PLAN.md +0 -25
  113. package/examples/github-actions-hardening/case-study/SHIP_READY.md +0 -21
  114. package/examples/github-actions-hardening/case-study/TASK.md +0 -30
  115. package/examples/github-actions-hardening/case-study/TEAM_HANDOFFS.md +0 -37
  116. package/examples/github-actions-hardening/case-study/VERIFY_SUMMARY.md +0 -35
  117. package/examples/github-actions-hardening/case-study/WORK_SUMMARY.md +0 -24
  118. package/examples/github-actions-hardening/package.json +0 -12
  119. package/examples/github-actions-hardening/scripts/check.mjs +0 -43
  120. package/examples/parallel-candidates-canonical/README.md +0 -32
  121. package/examples/parallel-candidates-canonical/case-study/CANONICAL_VERIFY.md +0 -23
  122. package/examples/parallel-candidates-canonical/case-study/PARALLEL_CANDIDATES.md +0 -38
  123. package/examples/parallel-candidates-canonical/case-study/REPORT.md +0 -48
  124. package/examples/parallel-candidates-canonical/case-study/SHIP_READY.md +0 -11
  125. package/examples/parallel-candidates-canonical/case-study/TASK.md +0 -25
  126. package/examples/parallel-candidates-canonical/package.json +0 -9
  127. package/examples/parallel-candidates-canonical/scripts/check.mjs +0 -31
  128. package/examples/parallel-candidates-canonical/src/parser.js +0 -7
  129. package/examples/quality-lifecycle-smoke/README.md +0 -30
  130. package/examples/quality-lifecycle-smoke/case-study/ASK.md +0 -24
  131. package/examples/quality-lifecycle-smoke/case-study/GATE_STATUS.md +0 -10
  132. package/examples/quality-lifecycle-smoke/case-study/PLAN.md +0 -19
  133. package/examples/quality-lifecycle-smoke/case-study/SHIP_READY.md +0 -11
  134. package/examples/quality-lifecycle-smoke/case-study/TASK.md +0 -19
  135. package/examples/quality-lifecycle-smoke/case-study/TEAM_HANDOFFS.md +0 -21
  136. package/examples/quality-lifecycle-smoke/case-study/VERIFY_SUMMARY.md +0 -44
  137. package/examples/quality-lifecycle-smoke/case-study/WORK_SUMMARY.md +0 -19
  138. package/examples/quality-lifecycle-smoke/package.json +0 -8
  139. package/examples/quality-lifecycle-smoke/scripts/check.mjs +0 -44
  140. package/examples/trading-dashboard-mock/README.md +0 -33
  141. package/examples/trading-dashboard-mock/case-study/ASK.md +0 -24
  142. package/examples/trading-dashboard-mock/case-study/GATE_STATUS.md +0 -28
  143. package/examples/trading-dashboard-mock/case-study/PLAN.md +0 -23
  144. package/examples/trading-dashboard-mock/case-study/SHIP_READY.md +0 -21
  145. package/examples/trading-dashboard-mock/case-study/TASK.md +0 -29
  146. package/examples/trading-dashboard-mock/case-study/TEAM_HANDOFFS.md +0 -49
  147. package/examples/trading-dashboard-mock/case-study/VERIFY_SUMMARY.md +0 -35
  148. package/examples/trading-dashboard-mock/case-study/WORK_SUMMARY.md +0 -27
  149. package/examples/trading-dashboard-mock/fixtures/market.json +0 -9
  150. package/examples/trading-dashboard-mock/index.html +0 -76
  151. package/examples/trading-dashboard-mock/package.json +0 -9
  152. package/examples/trading-dashboard-mock/scripts/check.mjs +0 -54
  153. package/examples/trading-dashboard-mock/src/app.js +0 -83
  154. package/examples/trading-dashboard-mock/src/styles.css +0 -227
  155. package/hooks/hooks.json +0 -44
  156. package/hooks/scripts/config-protection.js +0 -34
  157. package/hooks/scripts/gateguard-fact-force.js +0 -146
  158. package/hooks/scripts/persistent-mode.mjs +0 -27
  159. package/hooks/scripts/pre-bash-dispatcher.js +0 -63
  160. package/hooks/scripts/quality-gate.js +0 -106
  161. package/manifests/build-modes.json +0 -61
  162. package/manifests/install-components.json +0 -200
  163. package/manifests/install-modules.json +0 -102
  164. package/manifests/install-profiles.json +0 -265
  165. package/rules/common/coding-style.md +0 -71
  166. package/rules/common/security.md +0 -69
  167. package/rules/common/testing.md +0 -58
  168. package/rules/python/coding-style.md +0 -80
  169. package/rules/python/testing.md +0 -86
  170. package/rules/typescript/coding-style.md +0 -97
  171. package/rules/typescript/security.md +0 -67
  172. package/rules/typescript/testing.md +0 -78
  173. package/schemas/agent-yaml.schema.json +0 -168
  174. package/schemas/agent.schema.json +0 -32
  175. package/schemas/build-modes.schema.json +0 -42
  176. package/schemas/handoff.schema.json +0 -105
  177. package/schemas/hooks.schema.json +0 -35
  178. package/schemas/install-components.schema.json +0 -46
  179. package/schemas/install-modules.schema.json +0 -39
  180. package/schemas/install-profiles.schema.json +0 -46
  181. package/schemas/install-state.schema.json +0 -42
  182. package/schemas/routing.schema.json +0 -42
  183. package/schemas/skill.schema.json +0 -19
  184. package/scripts/agents/dispatch.js +0 -148
  185. package/scripts/agents/runners/claude.js +0 -214
  186. package/scripts/agents/runners/codex.js +0 -233
  187. package/scripts/agents/runners/gemini.js +0 -92
  188. package/scripts/agents/runners/internal.js +0 -91
  189. package/scripts/agents/runners/mock.js +0 -107
  190. package/scripts/auth/github-import-gh.js +0 -52
  191. package/scripts/auth/github-login.js +0 -79
  192. package/scripts/auth/github-logout.js +0 -21
  193. package/scripts/auth/github-status.js +0 -46
  194. package/scripts/build-claude.js +0 -101
  195. package/scripts/build-codemaps.js +0 -286
  196. package/scripts/build-codex.js +0 -93
  197. package/scripts/build-cursor.js +0 -132
  198. package/scripts/build-gemini.js +0 -117
  199. package/scripts/build-opencode.js +0 -117
  200. package/scripts/ci/catalog.js +0 -127
  201. package/scripts/ci/check-markers.js +0 -48
  202. package/scripts/ci/security-hardening.js +0 -270
  203. package/scripts/ci/validate-agents.js +0 -88
  204. package/scripts/ci/validate-hooks.js +0 -99
  205. package/scripts/ci/validate-manifests.js +0 -158
  206. package/scripts/ci/validate-skills.js +0 -93
  207. package/scripts/cli/commands/auto-command.js +0 -209
  208. package/scripts/cli/commands/build-command.js +0 -259
  209. package/scripts/core/auth-guard.js +0 -22
  210. package/scripts/core/build-roots.js +0 -11
  211. package/scripts/core/cli-resolver.js +0 -64
  212. package/scripts/core/install-state.js +0 -125
  213. package/scripts/core/json-extractor.js +0 -32
  214. package/scripts/core/subprocess.js +0 -74
  215. package/scripts/daemon/wait.js +0 -278
  216. package/scripts/demo-external-project.js +0 -222
  217. package/scripts/demo-quick-run.js +0 -212
  218. package/scripts/demo-review.js +0 -204
  219. package/scripts/doctor.js +0 -296
  220. package/scripts/install-apply.js +0 -198
  221. package/scripts/install-plan.js +0 -451
  222. package/scripts/lib/build-intelligence.js +0 -188
  223. package/scripts/lib/build-modes.js +0 -38
  224. package/scripts/lib/costs.js +0 -82
  225. package/scripts/lib/flag-normalize.js +0 -55
  226. package/scripts/lib/instincts.js +0 -194
  227. package/scripts/lib/keychain.js +0 -85
  228. package/scripts/lib/parallel-candidates.js +0 -602
  229. package/scripts/lib/profile-policy.js +0 -134
  230. package/scripts/lib/profile-safety.js +0 -81
  231. package/scripts/lib/router.js +0 -138
  232. package/scripts/lib/session-id.js +0 -27
  233. package/scripts/lib/token-vault.js +0 -136
  234. package/scripts/lib/ui-errors.js +0 -29
  235. package/scripts/lib/ui-format.js +0 -39
  236. package/scripts/orchestrators/ask.js +0 -143
  237. package/scripts/orchestrators/auto.js +0 -385
  238. package/scripts/orchestrators/build.js +0 -379
  239. package/scripts/orchestrators/ralph.js +0 -179
  240. package/scripts/orchestrators/review.js +0 -453
  241. package/scripts/orchestrators/run.js +0 -151
  242. package/scripts/orchestrators/ship.js +0 -339
  243. package/scripts/orchestrators/team-lite.js +0 -270
  244. package/scripts/orchestrators/team.js +0 -244
  245. package/scripts/orchestrators/verify.js +0 -306
  246. package/scripts/orchestrators/work.js +0 -208
  247. package/scripts/portability/simulate-port.js +0 -220
  248. package/scripts/repair.js +0 -184
  249. package/scripts/sync-claude-md.js +0 -224
  250. package/scripts/verify/claude-live.js +0 -30
  251. package/scripts/verify/codex-live.js +0 -60
  252. package/scripts/verify/gemini-live.js +0 -48
  253. package/scripts/verify/runtime.js +0 -105
  254. package/skills/acceptance-coverage/SKILL.md +0 -37
  255. package/skills/claude-led-codex-review/SKILL.md +0 -133
  256. package/skills/plan-eng-review/SKILL.md +0 -51
  257. package/skills/porting/SKILL.md +0 -69
  258. package/skills/ralph/SKILL.md +0 -48
  259. package/skills/release-readiness/SKILL.md +0 -62
  260. package/skills/review/SKILL.md +0 -42
  261. package/skills/security-hardening/SKILL.md +0 -59
  262. package/skills/ship/SKILL.md +0 -44
  263. package/skills/tdd-workflow/SKILL.md +0 -42
package/README.md CHANGED
@@ -1,526 +1,65 @@
1
- # NEKOWORK
1
+ # @ps-neko/nekowork
2
2
 
3
- [English](README.md) | [한국어](README.ko.md)
3
+ **Local verification gate for AI-written code diffs.**
4
4
 
5
- Verified Autopilot for AI code changes.
5
+ AI can write 100 lines in 10 seconds. Who checks them before they hit `main`?
6
6
 
7
- [![validate](https://github.com/Ps-Neko/NEKOWORK/actions/workflows/harness-validate.yml/badge.svg)](https://github.com/Ps-Neko/NEKOWORK/actions/workflows/harness-validate.yml)
8
-
9
- AI builds. Codex verifies. You approve the boundary.
10
-
11
- NEKOWORK plans, edits, verifies, repairs, and prepares ship-ready AI code changes. Final apply remains human-controlled.
12
-
13
- Note: "Verified" means independently reviewed with recorded evidence, not mathematically proven correctness. NEKOWORK combines Codex review, test evidence, risk policy, Human Gate, and explicit apply boundaries.
14
-
15
- It runs:
16
-
17
- 1. Autonomous planning and build
18
- 2. Independent Codex verification
19
- 3. Bounded repair when findings are fixable
20
- 4. Report, ship/no-ship, and Human Gate
21
- 5. Explicit apply only when the human chooses it
22
-
23
- No auto-commit. No auto-push. No surprise deploy.
24
-
25
- Product principle:
26
-
27
- ```text
28
- NEKOWORK = verified autopilot -> Codex verification -> Human Gate -> explicit apply
29
- ```
30
-
31
- ```text
32
- Autonomous until apply.
33
- Verified before ship.
34
- Human-controlled at the boundary.
35
- ```
36
-
37
- NEKOWORK packages a local runtime with one source catalog, `agent.yaml`, projected into Claude Code, Codex CLI, Cursor, Gemini CLI, and OpenCode surfaces. Use `nekowork` as the public CLI; `harness` remains a legacy/internal alias.
38
-
39
- NEKOWORK is intentionally not a 100-agent pack. Every agent, skill, hook, profile, module, and pack must:
40
-
41
- 1. improve verification,
42
- 2. preserve one-executor writes,
43
- 3. produce auditable evidence,
44
- 4. respect Human Gate.
45
-
46
- **Public alpha evidence:** 345 tests / 0 moderate+ npm audit issues / fresh `npx @alpha` smoke / 9 case-study flows / 5 starter packs
47
-
48
- NEKOWORK does not automatically commit, push, publish, deploy, or apply diffs. `apply` is explicit and requires verified ship-ready evidence.
49
-
50
- For bounded autonomy before that boundary, use `auto`: it can route, build, verify, repair fixable findings within a budget, write a report, and then stop before apply.
51
-
52
- NEKOWORK also maps the verified autopilot flow to 12 practical agentic harness patterns: routing, planning, read-only team review, independent verification, Human Gate, tool gates, memory, and evolution loops. See [docs/AGENTIC-PATTERNS.md](docs/AGENTIC-PATTERNS.md).
53
-
54
- Current alpha.9 track: isolated parallel candidate writer evidence now reaches the canonical ship-readiness path before explicit apply.
55
-
56
- **Latest alpha evidence:** [CI badge](https://github.com/Ps-Neko/NEKOWORK/actions/workflows/harness-validate.yml) / [npm package](https://www.npmjs.com/package/@ps-neko/nekowork) / [smoke transcript](docs/DEMO.md#one-minute-terminal-transcript) / [report artifact](docs/DEMO-REPORT.md)
57
-
58
- **One-minute demo:** [terminal transcript](docs/DEMO.md#one-minute-terminal-transcript) / [full report example](docs/DEMO-REPORT.md) / [external run kit](docs/EXTERNAL-RUN.md) / [alpha feedback](https://github.com/Ps-Neko/NEKOWORK/issues/new?template=alpha-feedback.yml) / [roadmap](docs/ROADMAP.md)
59
-
60
- ![NEKOWORK one-minute terminal demo](docs/assets/demo-terminal.svg)
61
-
62
- ## One Command. One Blocked Risk.
63
-
64
- ```bash
65
- npx -y @ps-neko/nekowork@alpha auto "add OPENAI_API_KEY fallback for Codex auth"
66
- ```
67
-
68
- Typical blocked-risk evidence:
69
-
70
- ```text
71
- Risk: provider-auth / long-lived-secret
72
- Codex verdict: request_changes
73
- Human Gate: required
74
- Ship ready: false
75
- Applied: false
76
-
77
- Blocked because NEKOWORK defaults to delegated CLI auth and rejects long-lived provider API key paths unless the human explicitly opts in.
78
- ```
79
-
80
- That is the thesis: the autopilot can keep working before the boundary, but risky ship/apply decisions stay evidence-backed and human-controlled.
81
-
82
- ## 30-Second First Run
83
-
84
- Use the current npm alpha for the fastest proof of the workflow:
85
-
86
- ```bash
87
- npx -y @ps-neko/nekowork@alpha check
88
- npx -y @ps-neko/nekowork@alpha auto "fix failing tests safely" --session first-auto
89
- npx -y @ps-neko/nekowork@alpha report --session latest
90
- ```
91
-
92
- Start with `auto` when you want NEKOWORK to keep going until report/gate. Use `build` when you want one build pass. Drop down to `work`, `verify`, and `ship` only when you need phase-level control.
93
-
94
- Preview the route before running providers or writing session state:
95
-
96
- ```bash
97
- npx -y @ps-neko/nekowork@alpha auto "fix failing tests safely" --dry-run
98
- npx -y @ps-neko/nekowork@alpha auto "refactor this safely" --parallel-candidates 2 --dry-run
99
- npx -y @ps-neko/nekowork@alpha build "fix this safely" --dry-run
100
- ```
101
-
102
- Use a source checkout for local development:
103
-
104
- ```bash
105
- node scripts/cli.js check
106
- node scripts/cli.js auto "implement this safely" --session first-auto
107
- node scripts/cli.js report --session latest
108
- node scripts/cli.js gate status --session latest
109
- ```
110
-
111
- Or use the decomposed beginner path directly:
112
-
113
- ```bash
114
- node scripts/cli.js check
115
- node scripts/cli.js run "implement this safely" --session first-run
116
- node scripts/cli.js report --session first-run
117
- node scripts/cli.js gate status --session first-run
118
- ```
119
-
120
- The simple paths map to the evidence loop: `check = doctor --quick`, `build = auto routing plus mode presets over run`, `auto = bounded build/verify/repair/report before apply`, and `run = work -> verify -> ship`.
121
-
122
- Use `build --dry-run` when you want to preview auto routing, mode, profile, workers, stages, and apply policy before running providers or writing session state. Use `build --explain` when you want the same routing rationale and evidence list after a real build.
123
-
124
- To add generated NEKOWORK tool surfaces to another local repository:
125
-
126
- ```bash
127
- cd /path/to/my-project
128
- npx -y @ps-neko/nekowork@alpha init --profile developer --project-root .
129
- ```
130
-
131
- ## Example Report
132
-
133
- `report` is the main trust surface. It turns session evidence into a readable `REPORT.md`:
134
-
135
- ```text
136
- Verdict: approve_with_fixes
137
- Ship ready: false
138
- Human gate: required
139
- Applied: false
140
- Profile: quality
141
- Strict quality: enabled
142
- Acceptance coverage: 4/5
143
- Quality warnings: 2
144
-
145
- Evidence:
146
- - work-summary.json
147
- - verify-summary.json
148
- - ship-summary.json
149
- - gate-summary.json
150
- ```
151
-
152
- The first screen of `REPORT.md` is the trust card: work produced, independent verification, Human Gate, ship readiness, apply state, and whether the target project was mutated.
153
-
154
- See the full report contract and example artifact in [docs/DEMO-REPORT.md](docs/DEMO-REPORT.md), and the one-minute terminal transcript in [docs/DEMO.md](docs/DEMO.md).
155
-
156
- ## Human Gate Example
157
-
158
- ```text
159
- Risk: security-sensitive auth parser change
160
- Codex verdict: approve_with_fixes
161
- Ship ready: false
162
-
163
- Required before apply:
164
- [ ] Add parser boundary test
165
- [ ] Remove long-lived API key env fallback
166
- [ ] Re-run verify --strict-quality
167
-
168
- Decision:
169
- - approve
170
- - block
171
- - request fixes
172
- ```
173
-
174
- Human Gate is the point where NEKOWORK stops being an autopilot and becomes an approval system.
175
-
176
- ## Apply Preview
177
-
178
- Before `apply`, NEKOWORK expects the human to inspect the evidence surface:
179
-
180
- ```text
181
- Session: first-work
182
- Diff source: captured live-work diff
183
- Files changed: 3
184
- Verifier verdict: approve
185
- Human gate: clear
186
- Ship ready: true
187
- Apply command: node scripts/cli.js apply --session first-work
188
- ```
189
-
190
- `apply` still does not commit, push, publish, deploy, or create a PR. It only applies the verified `SHIP_READY` diff when gates are clear and the target worktree is clean.
191
-
192
- ## Evidence, Not Agent Count
193
-
194
- | Trust question | NEKOWORK evidence |
195
- |---|---|
196
- | Did the tool record why ship was blocked? | `NO_SHIP`, `REPORT.md`, `gate-summary.json` |
197
- | Did it keep apply human-controlled? | `auto` rejects `--apply`; `apply` is a separate command |
198
- | Did it separate executor and verifier? | `work -> verify` with Codex review evidence |
199
- | Did it block risky mode downgrades? | manifest-backed build mode safety order |
200
- | Did it avoid long-lived provider API keys by default? | delegated CLI auth and API-key override guard |
201
-
202
- ## When To Choose NEKOWORK
203
-
204
- | Use case | NEKOWORK fit |
205
- |---|---|
206
- | You want one command to keep working until report/gate | `auto` routes, builds, verifies, repairs, and stops before apply |
207
- | You want one build pass with safe routing | `build` routes the task into safe mode presets |
208
- | You want daily planning, TDD, debugging, and finish checks | use the `productivity` pack |
209
- | You want team-style review before implementation | use the `team` pack; handoffs stay read-only |
210
- | You need PR or release evidence | use `pr` or `release` before ship/apply |
211
- | You need sensitive-change control | use `security` and keep Human Gate active |
212
- | You need explicit apply instead of autopilot mutation | keep the default `report -> gate -> apply` path |
213
-
214
- Use other AI development tools when they fit your preferred authoring flow. Use NEKOWORK when AI work needs to become verified, reportable, gated, and explicitly applied.
215
-
216
- ## Three Paths
217
-
218
- Most users should start with the Autopilot path. The other paths are for explicit phase control. Legacy compatibility remains available without being the main product path.
219
-
220
- 1. Autopilot: `check -> auto -> report -> gate`
221
- 2. Controlled Build: `check -> build -> report -> gate`
222
- 3. Advanced: `ask -> plan -> team -> work -> verify -> gate -> ship -> report -> apply`
223
-
224
- Legacy: `review` / `review-cycle`
225
-
226
- ## Why NEKOWORK
227
-
228
- NEKOWORK is for teams that want AI-assisted development without making the agent catalog the product. The default path keeps local auth, inspectable handoffs, single-executor writes, independent Codex verification, and Human Gate decisions in front of risky ship/apply steps.
7
+ This package reviews every change your AI tool makes, flags the risky parts with
8
+ deterministic rules, and lets **you** make the final call. It never commits,
9
+ pushes, or deploys on its own.
229
10
 
230
11
  ## Status
231
12
 
232
- - Current repository version: `0.1.0-alpha.9` alpha candidate
233
- - Current package name: `@ps-neko/nekowork`
234
- - Published CLI name: `nekowork` (`harness` remains a legacy/internal alias)
235
- - Current npm alpha: `@ps-neko/nekowork@0.1.0-alpha.8`
236
- - Current npm alpha.9 status: publish-ready; waiting for an authenticated npm owner session
237
- - Supported install path today: npm alpha, clone, submodule, or local repository integration
238
- - Dist-tag note: use `@alpha` until a stable release; `latest` still points at the first alpha line
239
- - Default mode: mock providers, no API keys, no provider CLI calls
240
-
241
- Current local verification:
242
-
243
- - `npm run lint`: pass
244
- - `npm test`: 345 tests pass
245
- - `npm audit --audit-level=moderate`: 0 vulnerabilities
246
- - `npm pack --dry-run --json`: pass
247
- - `npx -y @ps-neko/nekowork@alpha check`: pass with warnings only
13
+ **Phase A skeleton** (2026-05-27). The 4 public verbs work via delegation to
14
+ `@ps-neko/nekowork-cli` in the monorepo. To publish this package
15
+ independently, the verify-pr code path needs to be moved into this package —
16
+ see [HANDOFF-PACKAGE-SPLIT.md](./HANDOFF-PACKAGE-SPLIT.md).
248
17
 
249
- ## Case-study Evidence
250
-
251
- | Flow | Risk type | Evidence produced |
252
- |---|---|---|
253
- | Financial UI mock | UI/product risk | report + Human Gate |
254
- | GitHub Actions hardening | CI/security risk | security findings + no-ship/ship evidence |
255
- | Quality lifecycle smoke | quality risk | strict-quality + acceptance coverage |
256
- | npm package boundary | package/release risk | pack/audit evidence |
257
- | Auth parser boundary | auth/security risk | parser boundary evidence |
258
- | Python protocol parser | protocol correctness risk | test-backed verification |
259
- | Dotenv configuration boundary | config/security risk | no-secret parser evidence |
260
-
261
- ## Starter Packs
262
-
263
- Start with these five public packs. The full catalog remains available in [docs/CATALOG-PACKS.md](docs/CATALOG-PACKS.md) for advanced users.
264
-
265
- | Pack | Adds | Use when |
266
- |---|---|---|
267
- | `core` | minimal verification runtime | first install or repo smoke |
268
- | `builder` | safe build modes entrypoint | one-command build with verification and gates |
269
- | `productivity` | planning, TDD, debugging, finish routines | daily AI-assisted development |
270
- | `security` | auth/secrets/deploy risk prompts | sensitive changes |
271
- | `release` | ship/no-ship evidence | pre-release checks |
272
-
273
- ## Quick Start Details
274
-
275
- Requirements: Node.js 22+, npm, and git.
276
-
277
- For a repository-pinned local demo:
18
+ For the full alpha-stage product today, install:
278
19
 
279
20
  ```bash
280
- git clone https://github.com/Ps-Neko/NEKOWORK.git harness
281
- cd harness
282
- npm ci
283
- npm run demo:quick -- --cleanup
21
+ npm i -g @ps-neko/nekowork-cli@alpha
284
22
  ```
285
23
 
286
- This creates a disposable target project and runs `doctor -> build -> report -> gate status`. It uses mock providers and does not call Claude, Codex, Gemini, or paid APIs.
287
-
288
- To initialize another local repository with the published alpha:
24
+ ## Quickstart (once Phase A is complete)
289
25
 
290
26
  ```bash
291
- cd /path/to/my-project
292
- npx -y @ps-neko/nekowork@alpha init --profile developer --project-root .
27
+ # right after your AI tool changes some files:
28
+ npx -y @ps-neko/nekowork check # 30-sec environment check
29
+ npx -y @ps-neko/nekowork verify-pr # scan the diff → get a verdict
293
30
  ```
294
31
 
295
- For the fuller first-run guide, see [docs/QUICKSTART.md](docs/QUICKSTART.md).
296
-
297
- For the trust and recovery model, see [Safety Guarantees](docs/SAFETY-GUARANTEES.md), [Failure Modes](docs/FAILURE-MODES.md), [Trust Model](docs/TRUST-MODEL.md), and [Why Not Autopilot](docs/WHY-NOT-AUTOPILOT.md).
298
-
299
- To see the repository-based external project flow end to end:
32
+ `verify-pr` reads the diff, writes a plain-English `REPORT.md`, and tells you
33
+ whether the change is safe to merge.
300
34
 
301
- ```bash
302
- npm run demo:external
303
- ```
304
-
305
- To inspect small case-study targets, see [examples/trading-dashboard-mock](examples/trading-dashboard-mock), [examples/github-actions-hardening](examples/github-actions-hardening), [examples/quality-lifecycle-smoke](examples/quality-lifecycle-smoke), [examples/parallel-candidates-canonical](examples/parallel-candidates-canonical), and [docs/case-studies](docs/case-studies). They demonstrate financial UI, CI workflow, quality lifecycle, parallel candidate promotion, npm package, auth parser, Python protocol library, environment configuration, and local diary app flows while still preserving Codex verification, Human Gate policy, and explicit apply control.
306
-
307
- ## Output Shape
308
-
309
- ```text
310
- doctor ... OK
311
- build workflow ... OK
312
- report ... OK
313
- gate status ... OK
314
- Demo completed: verdict=approve_with_fixes, ship_ready=false, applied=false
315
- ```
316
-
317
- Outputs are written under:
318
-
319
- ```text
320
- .harness/state/sessions/<session-id>/handoffs/
321
- .harness/state/sessions/<session-id>/REPORT.md
322
- ```
323
-
324
- ## Repository-Pinned Install
325
-
326
- ```bash
327
- cd <target-project>
328
- git submodule add https://github.com/Ps-Neko/NEKOWORK.git .harness-tool
329
- node .harness-tool/scripts/portability/simulate-port.js . --profile developer --verbose
330
- node .harness-tool/scripts/install-apply.js --profile developer --project-root .
331
- node .harness-tool/scripts/cli.js check --project-root .
332
- ```
333
-
334
- The NEKOWORK tool root stays in `.harness-tool/`. Session state, generated runtime files, and git work happen in the target project root.
335
-
336
- For a disposable external-project walkthrough, see [docs/EXAMPLE-PROJECT.md](docs/EXAMPLE-PROJECT.md).
337
-
338
- ## Live Provider Auth
339
-
340
- Live mode delegates auth to local CLI sessions:
341
-
342
- ```bash
343
- claude auth status
344
- codex login
345
- gemini
35
+ ## The 4 verbs
346
36
 
347
- node scripts/cli.js review "live local smoke" --live --no-ship
348
- ```
349
-
350
- Long-lived API key environment variables are blocked by default before provider CLI calls:
351
-
352
- - Claude: `ANTHROPIC_API_KEY`
353
- - Codex: `OPENAI_API_KEY`
354
- - Gemini: `GEMINI_API_KEY`, `GOOGLE_API_KEY`
355
-
356
- Use API-key paths only with explicit opt-in, for example `HARNESS_AUTH_ALLOW_ENV_OVERRIDE=1`.
357
-
358
- ## Main Surface
359
-
360
- The public alpha surface is intentionally small:
361
-
362
- - `doctor`: inspect local readiness
363
- - `ask`: clarify goal, scope, risk, and success criteria without provider calls
364
- - `plan`: create a planning handoff
365
- - `team`: create read-only handoffs from multiple worker perspectives
366
- - `work`: let a single executor produce an implement handoff and isolated diff
367
- - `verify`: run Codex-only verification on a prior work handoff
368
- - `gate`: inspect, approve, or block a human gate for a session
369
- - `ship`: produce a ship/no-ship readiness handoff after Codex verification
370
- - `apply`: apply a verified `SHIP_READY` live-work diff to the target project
371
- - `run`: execute the decomposed wrapper, `work -> verify -> ship`, with optional apply
372
- - `build`: one-command builder wrapper with default `auto` routing, explicit `fast`, `safe`, `team`, `tdd`, `release`, and `--dry-run` preview
373
- - `auto`: bounded autonomy wrapper that can repair fixable no-ship findings within budget, then report and stop before apply
374
- - `report`: summarize session evidence into `REPORT.md` without project mutation
375
- - `review`: run the legacy full Claude-led/Codex-reviewed workflow
376
- - `review-cycle`: explicit compatibility alias for the legacy full review workflow
377
- - `install --plan` / `install --apply`: project generated NEKOWORK tool surfaces
378
-
379
- Advanced features such as `team-lite`, `ralph`, `wait`, instincts, cost tracking, and the Rust supervisor are documented in [docs/ADVANCED.md](docs/ADVANCED.md).
380
-
381
- `plan` is recommended before `work` for larger changes. The current `run` command intentionally stays compact: it runs `work -> verify -> ship`, records acceptance criteria through `work`, and applies only when `--apply` is explicitly provided.
382
-
383
- Use `build "<task>"` when NEKOWORK should be the single entrypoint. It defaults to `--mode auto`, classifies the task, selects `fast`, `safe`, `team`, `tdd`, or `release`, records build intelligence, and still uses one executor for writes, Codex verification before ship, and explicit apply only. The mode safety ordering is manifest-backed in `manifests/build-modes.json`. Use an explicit `--mode` when you need to override the router.
384
-
385
- Risky explicit overrides are protected. For example, `build "change OAuth token validation" --mode fast` is blocked because auto routing recommends `safe`, and `build "prepare npm package publish release notes" --mode fast` is blocked because auto routing recommends the higher-safety `release` mode. Use the recommended mode or add `--force-mode` only when you intentionally accept that downgrade.
386
-
387
- Use `auto "<task>"` when NEKOWORK should continue before the apply boundary. `auto` routes through the same build intelligence, runs `build`, repeats fixable no-ship work within `--level cautious|normal|aggressive` budgets, writes `auto-summary.json`, generates `REPORT.md`, and never accepts `--apply`.
388
-
389
- Use `auto "<task>" --parallel-candidates N` when you want isolated candidate evidence before the canonical build. In alpha.9, NEKOWORK captures candidate patches, verifies each candidate, records an arbiter selection, promotes the selected candidate into canonical handoffs after final Codex verification, then runs ship readiness. Apply remains explicit.
390
-
391
- Use `--profile quality` or `--profile security` on `work`, `verify`, and `run` when a task needs stronger evidence prompts. Add `--strict-quality` to `verify`, `run`, or `build` when missing evidence or acceptance coverage should become a fix-required verdict before ship.
392
-
393
- Use official packs when choosing an install shape:
394
-
395
- ```bash
396
- node scripts/install-plan.js --list
397
- node scripts/install-plan.js --pack productivity
398
- node scripts/install-plan.js --pack builder
399
- node scripts/install-plan.js --pack security --target codex --json
400
- node scripts/install-plan.js --pack release
401
- ```
402
-
403
- Packs are aliases over validated profiles. They add clearer product packaging without weakening the core gates. `productivity` is the shortest daily discipline pack: brainstorm, plan, TDD, debug, execute, verify, report, and finish over the same safe build loop. Advanced packs remain available in [docs/CATALOG-PACKS.md](docs/CATALOG-PACKS.md).
404
-
405
- ## Advanced Catalog
406
-
407
- - Agents: 11
408
- - Skills: 10
409
- - Hooks: 5
410
- - Modules: 7
411
- - Profiles: `core`, `developer`, `builder`, `productivity`, `security`, `product`, `quality`, `frontend`, `testing`, `research`, `full`
412
- - Full pack catalog: see [docs/CATALOG-PACKS.md](docs/CATALOG-PACKS.md)
413
- - Tool targets: `claude`, `codex`, `cursor`, `gemini`, `opencode`
414
-
415
- Key skills:
416
-
417
- - `claude-led-codex-review`
418
- - `plan-eng-review`
419
- - `tdd-workflow`
420
- - `acceptance-coverage`
421
- - `review`
422
- - `ship`
423
- - `ralph`
424
- - `security-hardening`
425
- - `release-readiness`
426
- - `porting`
427
-
428
- ## Common Commands
429
-
430
- ```bash
431
- node scripts/cli.js doctor
432
- node scripts/cli.js doctor --quick --gemini-smoke
433
- npm run demo:quick
434
- node scripts/cli.js build "builder smoke" --mode team --session build-smoke
435
- node scripts/cli.js auto "fix failing tests safely" --level normal --dry-run
436
- node scripts/cli.js report --session latest
437
- node scripts/install-plan.js --list
438
- node scripts/install-plan.js --pack quality
439
- node scripts/install-plan.js --profile developer
440
- node scripts/install-apply.js --profile developer --project-root <target>
441
-
442
- node scripts/cli.js ask "clarify a risky or ambiguous request"
443
- node scripts/cli.js plan "draft a safe implementation plan"
444
- node scripts/cli.js team "collect read-only worker handoffs" --workers planner,research,security,test --no-write
445
- node scripts/cli.js work "implement the planned change with one executor" --single-executor --session work-smoke
446
- node scripts/cli.js verify "verify the implemented change" --session work-smoke
447
- node scripts/cli.js verify "verify quality evidence" --profile quality --strict-quality --session work-smoke
448
- node scripts/cli.js gate status --session work-smoke
449
- node scripts/cli.js ship "prepare ship readiness" --require-clean-gates --session work-smoke
450
- node scripts/cli.js report --session work-smoke
451
- node scripts/cli.js apply --session work-smoke
452
- node scripts/cli.js run "implement, verify, and prepare ship readiness" --session run-smoke
453
- node scripts/cli.js report --session run-smoke
454
- node scripts/cli.js review "implement and review this change" --no-ship
455
- node scripts/cli.js review-cycle "legacy full-cycle compatibility smoke" --no-ship
456
- node scripts/cli.js review "security-sensitive change" --secure --no-ship
457
-
458
- npm run lint
459
- npm test
460
- npm audit --audit-level=moderate
461
- node scripts/repair.js --check
462
- node scripts/sync-claude-md.js --check
463
- node scripts/build-codemaps.js --check
464
- ```
465
-
466
- ## Release Gates
467
-
468
- Before any tag or public npm decision, run:
469
-
470
- ```bash
471
- npm run lint
472
- npm test
473
- npm audit --audit-level=moderate
474
- node scripts/repair.js --check
475
- node scripts/sync-claude-md.js --check
476
- node scripts/build-codemaps.js --check
477
- npm run security:hardening
478
- npm pack --dry-run --json
479
- ```
480
-
481
- `npm pack --dry-run --json` currently produces a package named like `ps-neko-nekowork-0.1.0-alpha.9.tgz`. It does not publish.
482
-
483
- ## Documentation
484
-
485
- - [docs/QUICKSTART.md](docs/QUICKSTART.md) - first run and common paths
486
- - [docs/BUILD.md](docs/BUILD.md) - build command modes and invariants
487
- - [docs/AUTONOMY.md](docs/AUTONOMY.md) - bounded autonomy, repair budgets, and the apply boundary
488
- - [docs/AGENTIC-PATTERNS.md](docs/AGENTIC-PATTERNS.md) - 12 practical agentic harness patterns and NEKOWORK coverage
489
- - [docs/PARALLEL-CANDIDATES.md](docs/PARALLEL-CANDIDATES.md) - isolated parallel candidate writer preview
490
- - [docs/PR-PREP.md](docs/PR-PREP.md) - planned PR prep artifact contract
491
- - [docs/WHY-NEKOWORK.md](docs/WHY-NEKOWORK.md) - comparison and product positioning
492
- - [docs/CATALOG-PACKS.md](docs/CATALOG-PACKS.md) - curated catalog, official packs, and case-study evidence
493
- - [docs/PUBLISH-ALPHA.md](docs/PUBLISH-ALPHA.md) - public npm alpha release plan
494
- - [docs/ROADMAP.md](docs/ROADMAP.md) - small alpha roadmap and non-goals
495
- - [docs/FEEDBACK-TRIAGE.md](docs/FEEDBACK-TRIAGE.md) - alpha feedback classification and response guide
496
- - [docs/INTERNAL-PROVIDER.md](docs/INTERNAL-PROVIDER.md) - private command adapter protocol
497
- - [docs/DEMO.md](docs/DEMO.md) - sample command output and generated files
498
- - [docs/DEMO-REPORT.md](docs/DEMO-REPORT.md) - readable session report UX
499
- - [docs/EXTERNAL-RUN.md](docs/EXTERNAL-RUN.md) - external run evidence kit and public quote checklist
500
- - [docs/EXAMPLE-PROJECT.md](docs/EXAMPLE-PROJECT.md) - repository-based external project demo
501
- - [docs/case-studies](docs/case-studies) - real external project run evidence
502
- - [examples/trading-dashboard-mock](examples/trading-dashboard-mock) - standalone financial UI mock target and case-study evidence
503
- - [examples/quality-lifecycle-smoke](examples/quality-lifecycle-smoke) - standalone quality profile and strict-quality case-study evidence
504
- - [examples/parallel-candidates-canonical](examples/parallel-candidates-canonical) - standalone parallel candidate promotion and canonical ship-readiness evidence
505
- - [docs/SECURITY.md](docs/SECURITY.md) - local-first auth and safety model
506
- - [docs/ADVANCED.md](docs/ADVANCED.md) - advanced workflows and runtime features
507
- - [docs/SETUP.md](docs/SETUP.md) - local contributor setup and live provider smoke
508
- - [docs/PORTING.md](docs/PORTING.md) - using NEKOWORK in an external project
509
- - [docs/RELEASE-READINESS.md](docs/RELEASE-READINESS.md) - release and publish gates
510
- - [docs/RUNBOOK.md](docs/RUNBOOK.md) - operations guide
511
- - [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) - system architecture
512
- - [docs/PRODUCT-PRINCIPLES.md](docs/PRODUCT-PRINCIPLES.md) - product position, invariants, CLI phase semantics
513
- - [docs/AI-DEVELOPMENT-LIFECYCLE.md](docs/AI-DEVELOPMENT-LIFECYCLE.md) - safe build modes, quality runtime, and disciplined lifecycle
514
- - [docs/NAMING.md](docs/NAMING.md) - product, CLI, pack, and legacy alias naming contract
515
- - [docs/CORE-INVARIANTS.md](docs/CORE-INVARIANTS.md) - non-negotiable runtime safety rules
516
- - [docs/CLI-STAGES.md](docs/CLI-STAGES.md) - stage contract and compatibility transition
517
- - [docs/RISK-CLASSIFIER.md](docs/RISK-CLASSIFIER.md) - shared risk tags, challenge, and gate policy
518
- - [docs/examples/TRADING-DASHBOARD-MOCK.md](docs/examples/TRADING-DASHBOARD-MOCK.md) - financial mockup flow with Human Gate
519
- - [docs/examples/GITHUB-ACTIONS-HARDENING.md](docs/examples/GITHUB-ACTIONS-HARDENING.md) - CI workflow hardening flow with Human Gate
520
- - [docs/examples/QUALITY-LIFECYCLE-SMOKE.md](docs/examples/QUALITY-LIFECYCLE-SMOKE.md) - quality profile flow with evidence and acceptance coverage
521
- - [docs/AUDIT.md](docs/AUDIT.md) - readiness and remaining debt
522
- - [docs/CHANGELOG.md](docs/CHANGELOG.md) - project history
523
- - [SOUL.md](SOUL.md), [RULES.md](RULES.md), [AGENTS.md](AGENTS.md) - project principles and agent rules
37
+ | Verb | What it does |
38
+ |---|---|
39
+ | `check` | Probe environment readiness (Node version, git repo, etc.) |
40
+ | `verify-pr` | Scan working-tree diff. Produce REPORT.md + .nekowork/decision.json |
41
+ | `report` | Render an existing decision.json to a human-readable REPORT.md |
42
+ | `apply` | Apply a stored .diff iff decision.json says `apply_allowed: true` |
43
+
44
+ Anything else (`ask`, `plan`, `team`, `work`, `ship`, `build`, `auto`,
45
+ `pr-prep`, `review`, ...) belongs to `@ps-neko/nekowork-harness` (legacy and
46
+ power-user surface). The slim package rejects those verbs with a redirect.
47
+
48
+ ## How it works
49
+
50
+ 1. Your AI tool writes the code. `nekowork` never writes it for you.
51
+ 2. `verify-pr` runs a fixed set of risk rules over the diff — same diff, same
52
+ verdict, every time. **No LLM gets to "vote" the result.**
53
+ 3. It saves the evidence into a `REPORT.md` you can read.
54
+ 4. You decide at the Human Gate — approve, or don't.
55
+ 5. Only then can `apply` apply the diff. No auto-commit. No auto-push.
56
+
57
+ ## Docs
58
+
59
+ - [Quickstart](../nekowork-cli/docs/QUICKSTART.md)
60
+ - [How verification works](../nekowork-cli/docs/SCOPE-1.0.md)
61
+ - [Benchmark](../nekowork-cli/docs/BENCHMARK.md) 73/74 (99%) recall, 0/47 FP, 38 real OSS positives
62
+ - [Integration](../nekowork-cli/docs/INTEGRATION.md)
524
63
 
525
64
  ## License
526
65