@ps-neko/nekowork 0.1.0-alpha.1 → 0.1.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +1 -1
- package/README.md +11 -5
- package/agent.yaml +1 -1
- package/docs/ARCHITECTURE.md +2 -2
- package/docs/AUDIT.md +13 -13
- package/docs/CHANGELOG.md +16 -1
- package/docs/DEMO.md +3 -1
- package/docs/EXAMPLE-PROJECT.md +1 -1
- package/docs/PORTING.md +1 -1
- package/docs/PUBLISH-ALPHA.md +61 -13
- package/docs/QUICKSTART.md +2 -2
- package/docs/RELEASE-READINESS.md +35 -10
- package/docs/ROADMAP.md +41 -0
- package/docs/RUNBOOK.md +1 -1
- package/docs/SETUP.md +1 -1
- package/docs/assets/demo-terminal.svg +41 -0
- package/docs/workflows-stash/harness-validate.yml +42 -9
- package/package.json +1 -1
- package/scripts/doctor.js +1 -1
package/CLAUDE.md
CHANGED
package/README.md
CHANGED
|
@@ -20,10 +20,14 @@ NEKOWORK is not meant to become a large agent pack. Skills, hooks, profiles, and
|
|
|
20
20
|
|
|
21
21
|
NEKOWORK intentionally keeps the catalog selective. Every agent, skill, hook, profile, module, and pack must preserve the verification loop.
|
|
22
22
|
|
|
23
|
-
**Public alpha evidence:** 7 packs
|
|
23
|
+
**Public alpha evidence:** 7 packs / 9 profiles / 36 components / 5 harness targets / 6 case-study flows / 245 tests / 0 moderate+ npm audit issues / fresh `npx @alpha` smoke
|
|
24
24
|
|
|
25
25
|
NEKOWORK does not automatically commit, push, publish, deploy, or apply diffs. `apply` is explicit and requires verified ship-ready evidence.
|
|
26
26
|
|
|
27
|
+
**One-minute demo:** [terminal transcript](docs/DEMO.md#one-minute-terminal-transcript) / [full report example](docs/DEMO-REPORT.md) / [alpha feedback](https://github.com/Ps-Neko/NEKOWORK/issues/new?template=alpha-feedback.yml) / [roadmap](docs/ROADMAP.md)
|
|
28
|
+
|
|
29
|
+

|
|
30
|
+
|
|
27
31
|
## Example Report
|
|
28
32
|
|
|
29
33
|
`report` is the main trust surface. It turns session evidence into a readable `REPORT.md`:
|
|
@@ -70,11 +74,11 @@ NEKOWORK is for teams that want AI-assisted development without making the agent
|
|
|
70
74
|
|
|
71
75
|
## Status
|
|
72
76
|
|
|
73
|
-
- Current repository version: `0.1.0-alpha.
|
|
77
|
+
- Current repository version: `0.1.0-alpha.2`
|
|
74
78
|
- Current package name: `@ps-neko/nekowork`
|
|
75
|
-
- npm
|
|
79
|
+
- Current npm alpha: `@ps-neko/nekowork@0.1.0-alpha.2`
|
|
76
80
|
- Supported install path today: npm alpha, clone, submodule, or local repository integration
|
|
77
|
-
- Dist-tag note:
|
|
81
|
+
- Dist-tag note: use `@alpha` until a stable release; `latest` still points at the first alpha line
|
|
78
82
|
- Default mode: mock providers, no API keys, no provider CLI calls
|
|
79
83
|
|
|
80
84
|
Current local verification:
|
|
@@ -83,6 +87,7 @@ Current local verification:
|
|
|
83
87
|
- `npm test`: 245 tests pass
|
|
84
88
|
- `npm audit --audit-level=moderate`: 0 vulnerabilities
|
|
85
89
|
- `npm pack --dry-run --json`: pass
|
|
90
|
+
- `npx -y @ps-neko/nekowork@alpha doctor --quick`: pass with warnings only
|
|
86
91
|
|
|
87
92
|
## Case-study Evidence
|
|
88
93
|
|
|
@@ -333,7 +338,7 @@ npm run security:hardening
|
|
|
333
338
|
npm pack --dry-run --json
|
|
334
339
|
```
|
|
335
340
|
|
|
336
|
-
`npm pack --dry-run --json` currently produces a package named like `ps-neko-nekowork-0.1.0-alpha.
|
|
341
|
+
`npm pack --dry-run --json` currently produces a package named like `ps-neko-nekowork-0.1.0-alpha.2.tgz`. It does not publish.
|
|
337
342
|
|
|
338
343
|
## Documentation
|
|
339
344
|
|
|
@@ -341,6 +346,7 @@ npm pack --dry-run --json
|
|
|
341
346
|
- [docs/WHY-NEKOWORK.md](docs/WHY-NEKOWORK.md) - comparison and product positioning
|
|
342
347
|
- [docs/CATALOG-PACKS.md](docs/CATALOG-PACKS.md) - curated catalog, official packs, and case-study evidence
|
|
343
348
|
- [docs/PUBLISH-ALPHA.md](docs/PUBLISH-ALPHA.md) - public npm alpha release plan
|
|
349
|
+
- [docs/ROADMAP.md](docs/ROADMAP.md) - small alpha roadmap and non-goals
|
|
344
350
|
- [docs/INTERNAL-PROVIDER.md](docs/INTERNAL-PROVIDER.md) - private command adapter protocol
|
|
345
351
|
- [docs/DEMO.md](docs/DEMO.md) - sample command output and generated files
|
|
346
352
|
- [docs/DEMO-REPORT.md](docs/DEMO-REPORT.md) - readable session report UX
|
package/agent.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
spec_version: gitagent/0.1.0
|
|
2
2
|
name: nekowork
|
|
3
3
|
runtime_name: harness
|
|
4
|
-
version: 0.1.0-alpha.
|
|
4
|
+
version: 0.1.0-alpha.2
|
|
5
5
|
description: "NEKOWORK HARNESS - Local-first multi-AI development verification runtime"
|
|
6
6
|
license: MIT
|
|
7
7
|
homepage: https://github.com/Ps-Neko/NEKOWORK
|
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -202,8 +202,8 @@ Builders project the catalog into tool-specific files:
|
|
|
202
202
|
|
|
203
203
|
## Release State
|
|
204
204
|
|
|
205
|
-
The current release line is `0.1.0-alpha.
|
|
205
|
+
The current release line is `0.1.0-alpha.2`:
|
|
206
206
|
|
|
207
207
|
- Repository and GitHub tarball release are available.
|
|
208
208
|
- Public npm alpha is published as `@ps-neko/nekowork@alpha`.
|
|
209
|
-
- Clone, submodule, and local checkout integration remain
|
|
209
|
+
- Clone, submodule, and local checkout integration remain supported for repository-pinned workflows.
|
package/docs/AUDIT.md
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
# Audit
|
|
2
2
|
|
|
3
|
-
Status date: 2026-05-
|
|
3
|
+
Status date: 2026-05-08
|
|
4
4
|
|
|
5
|
-
This audit summarizes the current NEKOWORK state after
|
|
5
|
+
This audit summarizes the current NEKOWORK state after publishing the `0.1.0-alpha.2` public alpha. It replaces the older week-by-week scratch audit, which contained stale planning notes and encoding damage.
|
|
6
6
|
|
|
7
7
|
## Current Status
|
|
8
8
|
|
|
9
9
|
| Area | Status | Notes |
|
|
10
10
|
|---|---|---|
|
|
11
|
-
| Package metadata | OK | `@ps-neko/nekowork@0.1.0-alpha.
|
|
12
|
-
| npm publish |
|
|
11
|
+
| Package metadata | OK | `@ps-neko/nekowork@0.1.0-alpha.2`, `agent.yaml` uses `name: nekowork`, `runtime_name: harness` |
|
|
12
|
+
| npm publish | OK | `@ps-neko/nekowork@alpha` points at `0.1.0-alpha.2` |
|
|
13
13
|
| Source install | OK | Clone, local checkout, and submodule workflows are documented |
|
|
14
|
-
| Public npm alpha | OK | `docs/PUBLISH-ALPHA.md` records the first alpha publish and the
|
|
14
|
+
| Public npm alpha | OK | `docs/PUBLISH-ALPHA.md` records the first alpha publish and the `0.1.0-alpha.2` alpha update |
|
|
15
15
|
| CLI doctor | OK | `doctor`, `doctor --quick`, and `doctor --gemini-smoke` are available |
|
|
16
16
|
| Provider auth | OK | Local delegated CLI auth is the default path |
|
|
17
17
|
| Internal provider adapter | OK | `HARNESS_PROVIDER_OVERRIDE=internal` can call an explicit JSON command adapter without weakening gates |
|
|
18
18
|
| Catalog | OK | 7 official packs, 11 agents, 10 skills, 5 hooks, 7 modules, 36 components, 9 profiles |
|
|
19
19
|
| Multi-harness output | OK | Claude, Codex, Cursor, Gemini, and OpenCode builders are present |
|
|
20
20
|
| Quick demo | OK | `npm run demo:quick` verifies the shortest no-API `doctor -> run -> report -> gate status` path |
|
|
21
|
+
| Fresh npm alpha smoke | OK | CI runs `npx -y @ps-neko/nekowork@alpha doctor --quick --json` from a disposable directory |
|
|
21
22
|
| Report UX | OK | `report` writes inspect-only `REPORT.md` and `report-summary.json` from session evidence |
|
|
22
23
|
| External demo | OK | `npm run demo:external` verifies a disposable target project flow |
|
|
23
24
|
| Third-party case studies | OK | `docs/case-studies/` records real public repository runs for npm package, auth boundary, and Python protocol targets |
|
|
@@ -29,7 +30,7 @@ This audit summarizes the current NEKOWORK state after preparing the `0.1.0-alph
|
|
|
29
30
|
| Persistent wakeup | OK | `wait` resumes supported active sessions and blocks on `HUMAN_GATE` |
|
|
30
31
|
| Generated docs | OK | CODEMAP output is stable ASCII and reproducible |
|
|
31
32
|
| Tests | OK | Unit, integration, and e2e suites pass locally and in CI |
|
|
32
|
-
| Release |
|
|
33
|
+
| Release | OK | `v0.1.0-alpha.2` is tagged and published as a GitHub prerelease |
|
|
33
34
|
|
|
34
35
|
## Verification Gates
|
|
35
36
|
|
|
@@ -62,8 +63,9 @@ Current local result for this working tree:
|
|
|
62
63
|
- `npm audit --audit-level=moderate`: 0 vulnerabilities
|
|
63
64
|
- `npm pack --dry-run --json`: pass
|
|
64
65
|
- `npm publish --dry-run --access public --tag alpha`: pass
|
|
65
|
-
- `npm publish --access public --tag alpha`: `0.1.0-alpha.
|
|
66
|
-
- `
|
|
66
|
+
- `npm publish --access public --tag alpha`: `0.1.0-alpha.2` published
|
|
67
|
+
- `npm view @ps-neko/nekowork dist-tags version versions --json`: `alpha` points at `0.1.0-alpha.2`; `latest` remains `0.1.0-alpha.0`
|
|
68
|
+
- `npx -y @ps-neko/nekowork@alpha doctor --quick`: passed for `0.1.0-alpha.2` with WARN summary from non-git project root and Gemini auth not checked
|
|
67
69
|
|
|
68
70
|
## Completed Work
|
|
69
71
|
|
|
@@ -91,14 +93,13 @@ Current local result for this working tree:
|
|
|
91
93
|
- Official packs expose curated install shapes without creating a second safety model.
|
|
92
94
|
- Checked-in example fixtures now cover financial UI, CI hardening, and quality lifecycle evidence flows.
|
|
93
95
|
- Third-party case studies record NEKOWORK runs against `sindresorhus/is-plain-obj`, `jshttp/basic-auth`, and `python-hyper/h11`.
|
|
94
|
-
- Public npm alpha `0.1.0-alpha.
|
|
96
|
+
- Public npm alpha `0.1.0-alpha.2` is published under the `alpha` dist-tag.
|
|
95
97
|
|
|
96
98
|
## Remaining Optional Work
|
|
97
99
|
|
|
98
100
|
| Item | Priority | Reason |
|
|
99
101
|
|---|---|---|
|
|
100
|
-
|
|
|
101
|
-
| Stable `latest` promotion | Medium | `alpha` is correct; npm also points `latest` at the only published version and rejected removal with `E400`, so move it to a stable version later |
|
|
102
|
+
| Stable `latest` promotion | Medium | `alpha` is correct; npm keeps `latest` on the first alpha line for now, so move it to a stable version later |
|
|
102
103
|
| More third-party case studies | Low | Three public repo case studies exist; more frameworks can still improve adoption evidence later |
|
|
103
104
|
| More skill catalog expansion | Low | Catalog expansion should stay selective to preserve progressive disclosure |
|
|
104
105
|
|
|
@@ -116,7 +117,6 @@ Current external readiness, excluding broader adoption evidence: **9.1 / 10**.
|
|
|
116
117
|
|
|
117
118
|
Main deductions:
|
|
118
119
|
|
|
119
|
-
- `latest` currently
|
|
120
|
-
- `0.1.0-alpha.1` publish requires owner OTP/web auth.
|
|
120
|
+
- `latest` currently remains on the first alpha; docs still recommend `@alpha` until a stable release exists.
|
|
121
121
|
- Three independent real-world external project case studies exist so far.
|
|
122
122
|
- Advanced surfaces exist but are intentionally secondary to the public decomposed workflow and install flow.
|
package/docs/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,21 @@
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
No unreleased changes yet.
|
|
8
|
+
|
|
9
|
+
## [0.1.0-alpha.2] - 2026-05-08
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
- Add GitHub issue templates for alpha feedback and reproducible bug reports.
|
|
13
|
+
- Add CI coverage for a fresh `npx @ps-neko/nekowork@alpha doctor --quick` smoke against the published alpha package.
|
|
14
|
+
- Add an alpha.2 roadmap focused on release smoke evidence, demo assets, and external feedback.
|
|
15
|
+
- Add a static terminal SVG for the one-minute README demo.
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
- Make the published alpha smoke workflow compare against the registry's current `@alpha` version instead of a hard-coded alpha string.
|
|
19
|
+
|
|
20
|
+
## [0.1.0-alpha.1] - 2026-05-07
|
|
21
|
+
|
|
7
22
|
### Added
|
|
8
23
|
- Add `report` to write inspect-only `REPORT.md` and `report-summary.json` from session evidence.
|
|
9
24
|
- Add official catalog packs as install aliases over safety-checked profiles.
|
|
@@ -15,7 +30,7 @@
|
|
|
15
30
|
- Add a third-party `python-hyper/h11` Python protocol case study.
|
|
16
31
|
- Add an opt-in internal provider command adapter.
|
|
17
32
|
- Add the focused `acceptance-coverage` quality evidence skill.
|
|
18
|
-
-
|
|
33
|
+
- Publish public alpha `@ps-neko/nekowork@0.1.0-alpha.1` with the updated adapter, case study, catalog evidence, report sample, and demo transcript.
|
|
19
34
|
- Add `npm run demo:external` to create a disposable target project and verify repository-based porting end to end.
|
|
20
35
|
- Add `docs/EXAMPLE-PROJECT.md` and e2e coverage for the external project demo.
|
|
21
36
|
- Add product principles and core invariants for the Claude work -> Codex verification -> Human Gate runtime.
|
package/docs/DEMO.md
CHANGED
|
@@ -25,6 +25,8 @@ Demo completed: verdict=approve_with_fixes, ship_ready=false, applied=false
|
|
|
25
25
|
|
|
26
26
|
This transcript is the README-friendly demo path. It uses mock providers, so it is safe to run on a fresh checkout without Claude, Codex, Gemini, or API keys.
|
|
27
27
|
|
|
28
|
+

|
|
29
|
+
|
|
28
30
|
```text
|
|
29
31
|
$ npx -y @ps-neko/nekowork@alpha doctor --quick
|
|
30
32
|
NEKOWORK doctor
|
|
@@ -141,7 +143,7 @@ project root : C:\path\to\harness
|
|
|
141
143
|
|
|
142
144
|
STATUS CHECK MESSAGE
|
|
143
145
|
PASS node Node 24.x
|
|
144
|
-
PASS package metadata @ps-neko/nekowork@0.1.0-alpha.
|
|
146
|
+
PASS package metadata @ps-neko/nekowork@0.1.0-alpha.2; public alpha package
|
|
145
147
|
PASS git worktree project root is inside a git worktree
|
|
146
148
|
WARN gemini cli installed, auth status is not checked non-interactively
|
|
147
149
|
|
package/docs/EXAMPLE-PROJECT.md
CHANGED
|
@@ -87,6 +87,6 @@ demo-target/
|
|
|
87
87
|
|
|
88
88
|
## What This Does Not Prove
|
|
89
89
|
|
|
90
|
-
- Public npm installation.
|
|
90
|
+
- Public npm installation. This demo intentionally exercises the source-checkout path; run the npm install smoke separately for package resolution.
|
|
91
91
|
- Live provider execution. Run live provider smoke checks separately after local CLI login.
|
|
92
92
|
- A production rollout. Pin a release tag or submodule commit before using the tool in a shared workflow.
|
package/docs/PORTING.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Porting NEKOWORK Into Another Project
|
|
2
2
|
|
|
3
|
-
NEKOWORK `0.1.0-alpha.
|
|
3
|
+
NEKOWORK `0.1.0-alpha.2` is the current repository version and the published `@ps-neko/nekowork@alpha` package. Use a submodule or local checkout for repository-pinned workflows and examples.
|
|
4
4
|
|
|
5
5
|
## Local Demo First
|
|
6
6
|
|
package/docs/PUBLISH-ALPHA.md
CHANGED
|
@@ -1,25 +1,40 @@
|
|
|
1
1
|
# Public Alpha Publish Record
|
|
2
2
|
|
|
3
|
-
NEKOWORK `0.0.3` stays a private/local alpha. The first npm release is the public alpha `0.1.0-alpha.0`; the current
|
|
3
|
+
NEKOWORK `0.0.3` stays a private/local alpha. The first npm release is the public alpha `0.1.0-alpha.0`; the current public alpha is `0.1.0-alpha.2`.
|
|
4
4
|
|
|
5
5
|
Do not publish from the `0.0.3` line.
|
|
6
6
|
|
|
7
|
-
The repository metadata has been advanced to `0.1.0-alpha.
|
|
7
|
+
The repository metadata has been advanced to `0.1.0-alpha.2` with `private: false`. The `0.1.0-alpha.0` publish succeeded on 2026-05-07. The `0.1.0-alpha.1` publish also succeeded on 2026-05-07. The `0.1.0-alpha.2` publish succeeded on 2026-05-08 and moved the `alpha` dist-tag forward.
|
|
8
|
+
|
|
9
|
+
The matching Git tag and GitHub prerelease are published as `v0.1.0-alpha.2`:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
https://github.com/Ps-Neko/NEKOWORK/releases/tag/v0.1.0-alpha.2
|
|
13
|
+
```
|
|
8
14
|
|
|
9
15
|
## Registry State
|
|
10
16
|
|
|
11
|
-
Checked on 2026-05-
|
|
17
|
+
Checked on 2026-05-08:
|
|
12
18
|
|
|
13
19
|
```text
|
|
14
20
|
npm view @ps-neko/nekowork version --json
|
|
15
21
|
-> 0.1.0-alpha.0
|
|
16
22
|
```
|
|
17
23
|
|
|
24
|
+
The default version output follows `latest`, which is not the documented alpha install path.
|
|
25
|
+
|
|
26
|
+
The current alpha install path points at the release line:
|
|
27
|
+
|
|
28
|
+
```text
|
|
29
|
+
npm view @ps-neko/nekowork@alpha version --json
|
|
30
|
+
-> 0.1.0-alpha.2
|
|
31
|
+
```
|
|
32
|
+
|
|
18
33
|
Dist-tags:
|
|
19
34
|
|
|
20
35
|
```text
|
|
21
36
|
npm view @ps-neko/nekowork dist-tags --json
|
|
22
|
-
-> { "alpha": "0.1.0-alpha.
|
|
37
|
+
-> { "alpha": "0.1.0-alpha.2", "latest": "0.1.0-alpha.0" }
|
|
23
38
|
```
|
|
24
39
|
|
|
25
40
|
The publish package shape has been checked:
|
|
@@ -29,43 +44,57 @@ npm publish --dry-run --access public --tag alpha
|
|
|
29
44
|
-> pass
|
|
30
45
|
```
|
|
31
46
|
|
|
32
|
-
The first alpha publish succeeded, and
|
|
47
|
+
The first alpha publish succeeded, and duplicate publish attempts are correctly blocked:
|
|
33
48
|
|
|
34
49
|
```text
|
|
35
50
|
npm publish --access public --tag alpha
|
|
36
51
|
-> E403 previously published versions: 0.1.0-alpha.0
|
|
37
52
|
```
|
|
38
53
|
|
|
39
|
-
The
|
|
54
|
+
The alpha update was published with the same `alpha` dist-tag:
|
|
55
|
+
|
|
56
|
+
```text
|
|
57
|
+
npm publish --access public --tag alpha
|
|
58
|
+
-> published 0.1.0-alpha.1
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
The second alpha update was also published with the same `alpha` dist-tag:
|
|
40
62
|
|
|
41
63
|
```text
|
|
42
64
|
npm publish --access public --tag alpha
|
|
43
|
-
->
|
|
65
|
+
-> published 0.1.0-alpha.2
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
After publish:
|
|
69
|
+
|
|
70
|
+
```text
|
|
71
|
+
npm view @ps-neko/nekowork@0.1.0-alpha.2 version --json
|
|
72
|
+
-> 0.1.0-alpha.2
|
|
44
73
|
```
|
|
45
74
|
|
|
46
75
|
`npx` smoke passed:
|
|
47
76
|
|
|
48
77
|
```text
|
|
49
78
|
npx -y @ps-neko/nekowork@alpha doctor --quick
|
|
50
|
-
-> WARN summary,
|
|
79
|
+
-> WARN summary, 5 pass, 2 warn, 0 fail
|
|
51
80
|
```
|
|
52
81
|
|
|
53
|
-
The registry keeps `latest` on the first alpha. Attempts to remove it after 2FA returned `E400 Bad Request`:
|
|
82
|
+
The registry keeps `latest` on the first alpha line. Attempts to remove it after 2FA returned `E400 Bad Request`:
|
|
54
83
|
|
|
55
84
|
```text
|
|
56
85
|
npm dist-tag rm @ps-neko/nekowork latest
|
|
57
86
|
-> E400 Bad Request
|
|
58
87
|
```
|
|
59
88
|
|
|
60
|
-
Treat `latest` as an unavoidable
|
|
89
|
+
Treat `latest` as an unavoidable alpha-line registry pointer for now. Do not promote it in docs as the stable path. When the first stable package is ready, publish or retag that stable version as `latest`.
|
|
61
90
|
|
|
62
91
|
## Release Shape
|
|
63
92
|
|
|
64
|
-
|
|
93
|
+
Published public alpha package:
|
|
65
94
|
|
|
66
95
|
```text
|
|
67
96
|
name: @ps-neko/nekowork
|
|
68
|
-
version: 0.1.0-alpha.
|
|
97
|
+
version: 0.1.0-alpha.2
|
|
69
98
|
dist-tag: alpha
|
|
70
99
|
bin: harness
|
|
71
100
|
```
|
|
@@ -80,10 +109,29 @@ Before publishing, explicitly confirm:
|
|
|
80
109
|
- npm 2FA readiness
|
|
81
110
|
- package name `@ps-neko/nekowork`
|
|
82
111
|
- binary name `harness`
|
|
83
|
-
- public alpha version `0.1.0-alpha.
|
|
112
|
+
- public alpha version `0.1.0-alpha.2`
|
|
84
113
|
- `private` removed or set to `false`
|
|
85
114
|
- publish tag is `alpha`, not `latest`
|
|
86
115
|
|
|
116
|
+
## Next Alpha Publish Checklist
|
|
117
|
+
|
|
118
|
+
Use this checklist for `0.1.0-alpha.3` or any later alpha. Do not run it until the owner explicitly approves the publish.
|
|
119
|
+
|
|
120
|
+
1. Confirm the candidate scope in [RELEASE-READINESS.md](RELEASE-READINESS.md).
|
|
121
|
+
2. Move the intended changelog entries from `Unreleased` to the new version heading.
|
|
122
|
+
3. Bump `package.json` to the approved alpha version.
|
|
123
|
+
4. Run the required gates below.
|
|
124
|
+
5. Inspect `npm pack --dry-run --json` and confirm issue templates, docs, examples, scripts, and assets are intentional.
|
|
125
|
+
6. Confirm `npm whoami` is the owner account.
|
|
126
|
+
7. Publish with `npm publish --access public --tag alpha`.
|
|
127
|
+
8. Verify `npm view @ps-neko/nekowork@alpha version --json` returns the new version.
|
|
128
|
+
9. Smoke test from a fresh directory with `npx -y @ps-neko/nekowork@alpha doctor --quick`.
|
|
129
|
+
10. Create and push `v<version>`.
|
|
130
|
+
11. Create a GitHub prerelease for `v<version>`.
|
|
131
|
+
12. Update release docs from candidate/pending language to published language.
|
|
132
|
+
|
|
133
|
+
Keep `latest` out of the public install path until a stable release exists.
|
|
134
|
+
|
|
87
135
|
## Required Gates
|
|
88
136
|
|
|
89
137
|
Run:
|
package/docs/QUICKSTART.md
CHANGED
|
@@ -328,13 +328,13 @@ Remove-Item Env:GOOGLE_API_KEY -ErrorAction SilentlyContinue
|
|
|
328
328
|
The public alpha is published as `@ps-neko/nekowork@alpha`:
|
|
329
329
|
|
|
330
330
|
```bash
|
|
331
|
-
npm i --save-dev @ps-neko/nekowork
|
|
331
|
+
npm i --save-dev @ps-neko/nekowork@alpha
|
|
332
332
|
```
|
|
333
333
|
|
|
334
334
|
or:
|
|
335
335
|
|
|
336
336
|
```bash
|
|
337
|
-
npm i -g @ps-neko/nekowork
|
|
337
|
+
npm i -g @ps-neko/nekowork@alpha
|
|
338
338
|
```
|
|
339
339
|
|
|
340
340
|
For alpha pinning, prefer:
|
|
@@ -1,24 +1,47 @@
|
|
|
1
1
|
# Release Readiness
|
|
2
2
|
|
|
3
|
-
Status date: 2026-05-
|
|
3
|
+
Status date: 2026-05-08
|
|
4
4
|
|
|
5
|
-
NEKOWORK / HARNESS is release-ready for local use, repository-based installation, and public npm alpha installation. The repository
|
|
5
|
+
NEKOWORK / HARNESS is release-ready for local use, repository-based installation, and public npm alpha installation. The repository and npm alpha are both at `0.1.0-alpha.2`.
|
|
6
6
|
|
|
7
7
|
## Decision
|
|
8
8
|
|
|
9
9
|
- Decision: do not publish 0.0.3 to npm.
|
|
10
|
-
- Public alpha: `0.1.0-alpha.
|
|
10
|
+
- Public alpha: `0.1.0-alpha.2`, published with `--tag alpha`.
|
|
11
11
|
- `package.json` is set to `private: false` for the public alpha.
|
|
12
12
|
- The canonical repo is `Ps-Neko/NEKOWORK`.
|
|
13
|
-
- Current release track is `0.1.0-alpha.
|
|
13
|
+
- Current release track is `0.1.0-alpha.2`; npm `@alpha` points at this version.
|
|
14
|
+
- GitHub prerelease: `v0.1.0-alpha.2`.
|
|
14
15
|
- Required local provider auth is delegated CLI auth, not long-lived API keys.
|
|
15
16
|
- Core workflow invariant is Claude work -> Codex verification -> Human Gate.
|
|
16
17
|
- Risk classifier, acceptance criteria artifacts, and profile safety validation are part of the release gate.
|
|
17
18
|
- Remaining optional work is stable promotion and broader adoption evidence.
|
|
18
|
-
- Public package metadata is published as `@ps-neko/nekowork@alpha
|
|
19
|
-
- Dist-tag note: `latest`
|
|
19
|
+
- Public package metadata is published as `@ps-neko/nekowork@alpha`.
|
|
20
|
+
- Dist-tag note: `latest` remains on the first alpha line; use `@alpha` until a stable release exists.
|
|
20
21
|
- See [PUBLISH-ALPHA.md](PUBLISH-ALPHA.md) for the public alpha checklist.
|
|
21
22
|
|
|
23
|
+
GitHub Release:
|
|
24
|
+
|
|
25
|
+
- https://github.com/Ps-Neko/NEKOWORK/releases/tag/v0.1.0-alpha.2
|
|
26
|
+
|
|
27
|
+
## 0.1.0-alpha.2 Release Scope
|
|
28
|
+
|
|
29
|
+
The `0.1.0-alpha.2` release scope is documentation, evidence, and feedback-loop hardening only:
|
|
30
|
+
|
|
31
|
+
- fresh `npx @ps-neko/nekowork@alpha doctor --quick --json` smoke coverage in CI
|
|
32
|
+
- static one-minute terminal demo SVG in README and `docs/DEMO.md`
|
|
33
|
+
- alpha feedback and bug report issue forms
|
|
34
|
+
- README evidence links for report, demo, feedback, and roadmap
|
|
35
|
+
- no catalog expansion unless a new surface directly strengthens verification evidence
|
|
36
|
+
|
|
37
|
+
Release exit criteria:
|
|
38
|
+
|
|
39
|
+
- required gates below pass locally
|
|
40
|
+
- `published-alpha-smoke` passes in GitHub Actions
|
|
41
|
+
- `npm pack --dry-run --json` contains only intended files
|
|
42
|
+
- changelog `0.1.0-alpha.2` entries match the release contents
|
|
43
|
+
- `latest` remains documented as non-stable; install examples continue to use `@alpha`
|
|
44
|
+
|
|
22
45
|
## Required Gates
|
|
23
46
|
|
|
24
47
|
Run these before a release tag or public package decision:
|
|
@@ -51,8 +74,10 @@ Current local verification after the decomposed workflow expansion:
|
|
|
51
74
|
- `npm audit --audit-level=moderate`: 0 vulnerabilities
|
|
52
75
|
- `npm pack --dry-run --json`: pass
|
|
53
76
|
- `npm publish --dry-run --access public --tag alpha`: pass
|
|
54
|
-
- `npm publish --access public --tag alpha`: `0.1.0-alpha.
|
|
55
|
-
- `
|
|
77
|
+
- `npm publish --access public --tag alpha`: `0.1.0-alpha.2` published
|
|
78
|
+
- `npm view @ps-neko/nekowork dist-tags version versions --json`: `alpha` points at `0.1.0-alpha.2`; `latest` remains `0.1.0-alpha.0`
|
|
79
|
+
- `npx -y @ps-neko/nekowork@alpha doctor --quick`: passed for `0.1.0-alpha.2` with WARN summary from non-git project root and Gemini auth not checked
|
|
80
|
+
- GitHub Actions `published-alpha-smoke`: validates the fresh `npx @alpha` path against the published package
|
|
56
81
|
|
|
57
82
|
## Install Smoke
|
|
58
83
|
|
|
@@ -131,11 +156,11 @@ Expected target outputs:
|
|
|
131
156
|
|
|
132
157
|
## Public npm Checklist
|
|
133
158
|
|
|
134
|
-
Already completed for
|
|
159
|
+
Already completed for `0.1.0-alpha.2`. Repeat this checklist for the next public alpha:
|
|
135
160
|
|
|
136
161
|
1. Confirm the npm package name is still `@ps-neko/nekowork`.
|
|
137
162
|
2. Confirm the `harness` binary is still intentional.
|
|
138
|
-
3.
|
|
163
|
+
3. Bump `package.json` to the next public alpha version only when publish is approved.
|
|
139
164
|
4. Run the required gates above.
|
|
140
165
|
5. Inspect `npm pack --dry-run --json` and confirm only intended files are included.
|
|
141
166
|
6. Confirm npm account access and 2FA readiness with `npm whoami`.
|
package/docs/ROADMAP.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Roadmap
|
|
2
|
+
|
|
3
|
+
Status date: 2026-05-08
|
|
4
|
+
|
|
5
|
+
This roadmap is intentionally small. NEKOWORK should improve the evidence surface before expanding the agent catalog.
|
|
6
|
+
|
|
7
|
+
## 0.1.0-alpha.2
|
|
8
|
+
|
|
9
|
+
Status: released.
|
|
10
|
+
|
|
11
|
+
Goal: make the published package and first-run story easier to trust from the outside.
|
|
12
|
+
|
|
13
|
+
Planned scope:
|
|
14
|
+
|
|
15
|
+
- Keep fresh `npx @ps-neko/nekowork@alpha doctor --quick` smoke coverage in CI.
|
|
16
|
+
- Keep the generated terminal SVG for the one-minute demo path.
|
|
17
|
+
- Keep README focused on evidence, report output, Human Gate, and explicit apply.
|
|
18
|
+
- Keep the external feedback path for alpha users to paste `doctor --quick --json` and `REPORT.md` summaries.
|
|
19
|
+
- Preserve the current catalog size unless a new agent, skill, hook, or pack directly strengthens verification evidence.
|
|
20
|
+
|
|
21
|
+
## 0.1.0-alpha.3 Candidate
|
|
22
|
+
|
|
23
|
+
Goal: gather external feedback and keep the release path boring.
|
|
24
|
+
|
|
25
|
+
Candidate scope:
|
|
26
|
+
|
|
27
|
+
- Keep `@alpha` smoke evidence green across local and GitHub Actions gates.
|
|
28
|
+
- Add one more third-party case study only if it demonstrates a new risk class.
|
|
29
|
+
- Improve feedback triage docs once alpha users file real reports.
|
|
30
|
+
- Avoid provider/API-key-first setup changes unless they preserve delegated local auth as the default.
|
|
31
|
+
|
|
32
|
+
Non-goals:
|
|
33
|
+
|
|
34
|
+
- No stable `latest` promotion.
|
|
35
|
+
- No automatic commit, push, publish, deploy, or apply.
|
|
36
|
+
- No bulk import of external agent packs.
|
|
37
|
+
- No API-key-first provider setup.
|
|
38
|
+
|
|
39
|
+
## Stable Release Track
|
|
40
|
+
|
|
41
|
+
Promote a stable release only after the alpha install path has repeated smoke evidence, external feedback, and no known moderate+ audit issues. Until then, docs should keep recommending `@alpha`.
|
package/docs/RUNBOOK.md
CHANGED
|
@@ -92,7 +92,7 @@ Do not run this checklist unless public publish is explicitly approved.
|
|
|
92
92
|
5. Confirm npm identity with `npm whoami`.
|
|
93
93
|
6. Confirm account 2FA readiness.
|
|
94
94
|
7. Confirm `private: false`.
|
|
95
|
-
8. Confirm the public alpha version, for example `0.1.0-alpha.
|
|
95
|
+
8. Confirm the public alpha version, for example `0.1.0-alpha.2`.
|
|
96
96
|
9. Run `npm publish --access public --tag alpha`.
|
|
97
97
|
10. Update README, Quickstart, Changelog, and release notes from "future npm path" to "published npm path".
|
|
98
98
|
|
package/docs/SETUP.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Start with [QUICKSTART.md](QUICKSTART.md) if this is your first run. This page is the deeper contributor setup guide.
|
|
4
4
|
|
|
5
|
-
NEKOWORK `0.1.0-alpha.
|
|
5
|
+
NEKOWORK `0.1.0-alpha.2` is the current repository version and the published `@ps-neko/nekowork@alpha` package. Use a source checkout, submodule, or local repository integration when you need examples, tests, or repository-pinned workflows.
|
|
6
6
|
|
|
7
7
|
## Requirements
|
|
8
8
|
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="960" height="610" viewBox="0 0 960 610" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">NEKOWORK one-minute terminal demo</title>
|
|
3
|
+
<desc id="desc">Terminal transcript showing npx alpha doctor, quick demo, and report output.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="frame" x1="0" y1="0" x2="1" y2="1">
|
|
6
|
+
<stop offset="0" stop-color="#101820"/>
|
|
7
|
+
<stop offset="1" stop-color="#18252f"/>
|
|
8
|
+
</linearGradient>
|
|
9
|
+
<filter id="shadow" x="-10%" y="-10%" width="120%" height="130%">
|
|
10
|
+
<feDropShadow dx="0" dy="18" stdDeviation="18" flood-color="#091018" flood-opacity="0.28"/>
|
|
11
|
+
</filter>
|
|
12
|
+
</defs>
|
|
13
|
+
<rect width="960" height="610" rx="0" fill="#eef2f5"/>
|
|
14
|
+
<g filter="url(#shadow)">
|
|
15
|
+
<rect x="40" y="36" width="880" height="538" rx="8" fill="url(#frame)"/>
|
|
16
|
+
<rect x="40" y="36" width="880" height="42" rx="8" fill="#24313b"/>
|
|
17
|
+
<rect x="40" y="69" width="880" height="9" fill="#24313b"/>
|
|
18
|
+
<circle cx="66" cy="57" r="6" fill="#ef6a5f"/>
|
|
19
|
+
<circle cx="86" cy="57" r="6" fill="#f4bd4f"/>
|
|
20
|
+
<circle cx="106" cy="57" r="6" fill="#61c554"/>
|
|
21
|
+
<text x="480" y="62" text-anchor="middle" font-family="Consolas, Menlo, monospace" font-size="13" fill="#c8d2dc">NEKOWORK alpha smoke</text>
|
|
22
|
+
</g>
|
|
23
|
+
<g font-family="Consolas, Menlo, monospace" font-size="18">
|
|
24
|
+
<text x="72" y="114" fill="#7ee787">$ npx -y @ps-neko/nekowork@alpha doctor --quick</text>
|
|
25
|
+
<text x="72" y="147" fill="#d7e3ec">NEKOWORK doctor</text>
|
|
26
|
+
<text x="72" y="179" fill="#8fb3c8">STATUS CHECK MESSAGE</text>
|
|
27
|
+
<text x="72" y="211" fill="#9be9a8">PASS node Node 22+</text>
|
|
28
|
+
<text x="72" y="243" fill="#9be9a8">PASS package metadata @ps-neko/nekowork@0.1.0-alpha.2</text>
|
|
29
|
+
<text x="72" y="275" fill="#9be9a8">PASS api key env no delegated-provider API key overrides</text>
|
|
30
|
+
<text x="72" y="307" fill="#ffd166">WARN gemini cli auth status is not checked non-interactively</text>
|
|
31
|
+
<text x="72" y="339" fill="#d7e3ec">summary: WARN (5 pass, 2 warn, 0 fail)</text>
|
|
32
|
+
|
|
33
|
+
<text x="72" y="387" fill="#7ee787">$ npm run demo:quick -- --cleanup</text>
|
|
34
|
+
<text x="72" y="419" fill="#d7e3ec">NEKOWORK quick run demo</text>
|
|
35
|
+
<text x="72" y="451" fill="#9be9a8">doctor OK / run workflow OK / report OK / gate status OK</text>
|
|
36
|
+
<text x="72" y="483" fill="#d7e3ec">Demo completed: verdict=approve_with_fixes, ship_ready=false, applied=false</text>
|
|
37
|
+
|
|
38
|
+
<text x="72" y="531" fill="#7ee787">$ node scripts/cli.js report --session quick-demo --stdout</text>
|
|
39
|
+
<text x="72" y="563" fill="#d7e3ec">Status: no_ship / Human gate: clear / Evidence: work, verify, ship</text>
|
|
40
|
+
</g>
|
|
41
|
+
</svg>
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
name: harness-validate
|
|
2
2
|
|
|
3
|
-
# 매 push / PR 마다 매니페스트·카탈로그·테스트 빠른 검증. 5분 이내 완료 목표.
|
|
4
|
-
|
|
5
3
|
on:
|
|
6
4
|
push:
|
|
7
5
|
pull_request:
|
|
@@ -10,18 +8,51 @@ permissions:
|
|
|
10
8
|
contents: read
|
|
11
9
|
|
|
12
10
|
jobs:
|
|
11
|
+
published-alpha-smoke:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
timeout-minutes: 5
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/setup-node@v6
|
|
16
|
+
with:
|
|
17
|
+
node-version: '22'
|
|
18
|
+
|
|
19
|
+
- name: Fresh npx alpha doctor smoke
|
|
20
|
+
shell: bash
|
|
21
|
+
run: |
|
|
22
|
+
set -euo pipefail
|
|
23
|
+
workdir="$RUNNER_TEMP/nekowork-alpha-smoke"
|
|
24
|
+
mkdir -p "$workdir"
|
|
25
|
+
cd "$workdir"
|
|
26
|
+
npx -y @ps-neko/nekowork@alpha doctor --quick --json > doctor.json
|
|
27
|
+
node <<'NODE'
|
|
28
|
+
const { execSync } = require('node:child_process');
|
|
29
|
+
const fs = require('node:fs');
|
|
30
|
+
const report = JSON.parse(fs.readFileSync('doctor.json', 'utf8'));
|
|
31
|
+
const expectedVersion = JSON.parse(execSync('npm view @ps-neko/nekowork@alpha version --json', { encoding: 'utf8' }));
|
|
32
|
+
const metadata = report.checks.find((check) => check.name === 'package metadata');
|
|
33
|
+
if (report.summary.fail !== 0) {
|
|
34
|
+
throw new Error(`doctor reported ${report.summary.fail} failure(s)`);
|
|
35
|
+
}
|
|
36
|
+
if (!metadata || !metadata.message.includes(`@ps-neko/nekowork@${expectedVersion}`)) {
|
|
37
|
+
throw new Error(`unexpected package metadata: ${metadata?.message || '<missing>'}`);
|
|
38
|
+
}
|
|
39
|
+
console.log(`published alpha smoke: ${metadata.message}`);
|
|
40
|
+
NODE
|
|
41
|
+
|
|
13
42
|
validate:
|
|
14
43
|
runs-on: ubuntu-latest
|
|
15
44
|
timeout-minutes: 10
|
|
16
45
|
steps:
|
|
17
46
|
- uses: actions/checkout@v5
|
|
47
|
+
|
|
18
48
|
- uses: actions/setup-node@v6
|
|
19
49
|
with:
|
|
20
50
|
node-version: '22'
|
|
21
|
-
cache:
|
|
51
|
+
cache: npm
|
|
52
|
+
|
|
22
53
|
- run: npm ci --no-audit --no-fund
|
|
23
54
|
|
|
24
|
-
- name:
|
|
55
|
+
- name: Validate manifests and catalog
|
|
25
56
|
run: |
|
|
26
57
|
node scripts/install-plan.js --profile core --verbose
|
|
27
58
|
node scripts/install-plan.js --profile developer
|
|
@@ -31,14 +62,16 @@ jobs:
|
|
|
31
62
|
node scripts/ci/catalog.js
|
|
32
63
|
node scripts/ci/check-markers.js
|
|
33
64
|
|
|
34
|
-
- name:
|
|
35
|
-
run:
|
|
36
|
-
|
|
65
|
+
- name: Security hardening gate
|
|
66
|
+
run: npm run security:hardening
|
|
67
|
+
|
|
68
|
+
- name: Unit and integration tests
|
|
69
|
+
run: npm test
|
|
37
70
|
|
|
38
|
-
- name:
|
|
71
|
+
- name: Dependency audit
|
|
39
72
|
run: npm audit --audit-level=moderate
|
|
40
73
|
|
|
41
|
-
- name:
|
|
74
|
+
- name: Build projections
|
|
42
75
|
run: |
|
|
43
76
|
node scripts/build-claude.js
|
|
44
77
|
node scripts/build-codex.js
|
package/package.json
CHANGED
package/scripts/doctor.js
CHANGED
|
@@ -130,7 +130,7 @@ function checkPackageMetadata(root) {
|
|
|
130
130
|
return pass('package metadata', `${pkg.name}@${pkg.version}; private publish disabled`);
|
|
131
131
|
}
|
|
132
132
|
if (pkg.private === false && isPublicAlphaVersion(pkg.version)) {
|
|
133
|
-
return pass('package metadata', `${pkg.name}@${pkg.version}; public alpha
|
|
133
|
+
return pass('package metadata', `${pkg.name}@${pkg.version}; public alpha package`);
|
|
134
134
|
}
|
|
135
135
|
return warn('package metadata', `${pkg.name}@${pkg.version}; publish guard is not explicit`);
|
|
136
136
|
} catch (error) {
|