agentpack-cli 0.1.0 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -29,47 +29,66 @@ The first version is intentionally small:
29
29
  - run a minimal local MCP server for coding-agent clients
30
30
  - export a budgeted markdown handoff for manual fallback workflows
31
31
 
32
- ## Quick Start
32
+ ## Install
33
+
34
+ Agentpack requires Node.js >= 20.
33
35
 
34
36
  ```bash
35
37
  npm install -g agentpack-cli
38
+ agentpack --version
39
+ ```
40
+
41
+ If you don't have Node yet, install it through [`fnm`](https://github.com/Schniz/fnm):
42
+
43
+ ```bash
44
+ brew install fnm
45
+ fnm install 22
46
+ fnm default 22
47
+ echo 'eval "$(fnm env --use-on-cd --shell zsh)"' >> ~/.zshrc
48
+ exec zsh
49
+ ```
50
+
51
+ ## Quick Start
52
+
53
+ ```bash
54
+ cd path/to/your/repo
36
55
  agentpack init
37
56
  agentpack install codex --write
38
57
  # or: agentpack install claude --write
39
58
  # or: agentpack install cursor --write
59
+ # or: agentpack install claude-desktop (prints a snippet to merge manually)
40
60
  ```
41
61
 
42
62
  Restart or reconnect the coding-agent client. The generated project instructions tell the agent to load Agentpack context at the start, record durable decisions/sources/evidence while working, and checkpoint meaningful progress.
43
63
 
44
64
  Use `agentpack doctor` to verify the local setup. Use `agentpack resume --preset agent --query "<topic>"` when you want to inspect the task state yourself.
45
65
 
46
- For local development in this repo:
66
+ See [docs/INTEGRATIONS.md](docs/INTEGRATIONS.md) for safe Codex, Claude Code, Cursor, and Claude Desktop setup.
67
+ See [docs/agentpack-flow.md](docs/agentpack-flow.md) for a visual execution flow.
47
68
 
48
- ```bash
49
- fnm use 22
50
- npm ci --ignore-scripts
51
- npm test
52
- npm run mcp:smoke
53
- node dist/src/agentpack.js --help
54
- ```
69
+ ## Verify a workflow-published release
55
70
 
56
- If `npm` is not available yet, install Node through `fnm` first:
71
+ Versions published by the GitHub Actions release workflow ship with [npm provenance](https://docs.npmjs.com/generating-provenance-statements). To verify that tarball was built from a known commit of this repo:
57
72
 
58
73
  ```bash
59
- brew install fnm
60
- fnm install 22
61
- fnm default 22
74
+ npm audit signatures
62
75
  ```
63
76
 
64
- Then add this to `~/.zshrc` and restart the terminal:
77
+ For those versions, you can also inspect the attestation manually at <https://www.npmjs.com/package/agentpack-cli> under the **Provenance** tab — it links back to the exact commit, workflow run, and build environment that produced the package.
78
+
79
+ ## Contributing / local development
80
+
81
+ Clone the repo and use Node 22:
65
82
 
66
83
  ```bash
67
- eval "$(fnm env --use-on-cd --shell zsh)"
84
+ fnm use 22
85
+ npm ci --ignore-scripts
86
+ npm test
87
+ npm run mcp:smoke
88
+ node dist/src/agentpack.js --help
68
89
  ```
69
90
 
70
- See [docs/SETUP.md](docs/SETUP.md) for the full setup guide.
71
-
72
- This repo uses Agentpack itself through MCP. See [docs/DOGFOOD.md](docs/DOGFOOD.md) for the working protocol.
91
+ This repo uses Agentpack itself through MCP — see [docs/DOGFOOD.md](docs/DOGFOOD.md) for the working protocol and [docs/SETUP.md](docs/SETUP.md) for the full setup guide. Release process is documented in [docs/RELEASING.md](docs/RELEASING.md).
73
92
 
74
93
  To verify the local MCP server without configuring an agent client yet:
75
94
 
@@ -79,9 +98,6 @@ npm run mcp:smoke
79
98
 
80
99
  The smoke runner creates a temporary Agentpack workspace, starts `agentpack mcp`, sends `initialize`, `tools/list`, and a short `resume` flow, then deletes the temporary workspace.
81
100
 
82
- See [docs/INTEGRATIONS.md](docs/INTEGRATIONS.md) for safe Codex, Claude Code, and Cursor setup.
83
- See [docs/agentpack-flow.md](docs/agentpack-flow.md) for a visual execution flow.
84
-
85
101
  ## Coding-Agent Loop
86
102
 
87
103
  Agentpack's core loop is built for coding agents working in the same repo over long sessions, compaction, restarts, or handoffs:
@@ -109,7 +125,7 @@ Agentpack keeps the v0 supply chain deliberately small:
109
125
  - no telemetry
110
126
  - no network calls during normal CLI or MCP operation
111
127
  - best-effort redaction for common secret-looking values in stored context and handoff outputs
112
- - npm provenance prepared for future public releases
128
+ - release workflow publishing through GitHub Actions with npm provenance and Trusted Publisher OIDC (no long-lived npm tokens)
113
129
 
114
130
  ## Core Idea
115
131
 
package/SECURITY.md CHANGED
@@ -17,14 +17,27 @@ Agentpack is designed as a local-first developer tool. The default threat model
17
17
 
18
18
  The project uses a conservative npm setup:
19
19
 
20
+ - zero runtime dependencies
20
21
  - exact dependency versions
21
22
  - committed lockfile
22
23
  - `ignore-scripts=true` for installs
23
- - TypeScript compiler only for builds
24
- - npm provenance enabled for future public releases
25
- - trusted publishing preferred over long-lived npm tokens
24
+ - TypeScript compiler is the only build dependency
25
+ - the release workflow publishes from GitHub Actions via a Trusted Publisher OIDC binding
26
+ - versions published by that workflow ship with [npm provenance](https://docs.npmjs.com/generating-provenance-statements) — no long-lived npm tokens are stored anywhere
26
27
 
27
- Before publishing, maintainers should run:
28
+ ## Verifying a release
29
+
30
+ To verify a downloaded version of `agentpack-cli`:
31
+
32
+ ```bash
33
+ npm audit signatures
34
+ ```
35
+
36
+ For workflow-published versions, the npmjs.com page for the package also shows a **Provenance** tab linking back to the exact commit, workflow run, and build environment that produced the tarball.
37
+
38
+ ## Maintainer pre-publish checklist
39
+
40
+ Before cutting a new release, maintainers should run:
28
41
 
29
42
  ```bash
30
43
  npm ci
@@ -33,12 +46,18 @@ npm test
33
46
  npm pack --dry-run
34
47
  ```
35
48
 
49
+ The full release flow is documented in [docs/RELEASING.md](docs/RELEASING.md).
50
+
36
51
  ## Sensitive Data
37
52
 
38
53
  Agentpack redacts common secret-looking values and configured environment variable values from generated context and key local records such as source summaries, evidence, checkpoints, replay output, and MCP context responses.
39
54
 
40
55
  Redaction is best-effort, not a guarantee. Users should treat `.agentpack/` as project-sensitive data and review exported handoff files before sharing them.
41
56
 
42
- ## Reporting
57
+ ## Reporting a vulnerability
58
+
59
+ Please report security issues privately through GitHub Security Advisories:
60
+
61
+ <https://github.com/ihorponom/agentpack/security/advisories/new>
43
62
 
44
- Until a public repository security contact exists, report issues privately to the project maintainer.
63
+ This keeps the report hidden until a fix is ready and gives credit to the reporter. Do not open a regular issue for security problems.
File without changes
@@ -0,0 +1,80 @@
1
+ # Releasing Agentpack
2
+
3
+ Agentpack publishes to npm as `agentpack-cli` from GitHub Actions, signed with
4
+ npm provenance via a Trusted Publisher. No `NPM_TOKEN` is stored in the repo.
5
+
6
+ ## One-time setup (already done)
7
+
8
+ - npmjs.com → package `agentpack-cli` → Settings → Trusted Publisher:
9
+ - Repository: `ihorponom/agentpack`
10
+ - Workflow: `publish.yml`
11
+ - Environment: *(empty)*
12
+ - `.github/workflows/publish.yml` requests `id-token: write` so it can present
13
+ a short-lived OIDC token that npm verifies against the Trusted Publisher
14
+ binding.
15
+ - The publish workflow uses Node 24 so the bundled npm is new enough for
16
+ Trusted Publishing without upgrading npm while npm is running.
17
+ - `publishConfig.provenance: true` in `package.json` makes workflow publishes
18
+ include the provenance attestation.
19
+
20
+ ## Cutting a release
21
+
22
+ ```bash
23
+ # 1. Decide the bump and update package.json + create the git tag.
24
+ npm version patch # 0.1.x -> 0.1.(x+1)
25
+ # or: npm version minor # 0.1.x -> 0.2.0
26
+ # or: npm version major # 0.x.y -> 1.0.0
27
+
28
+ # 2. Push the new commit and the tag.
29
+ git push --follow-tags
30
+
31
+ # 3. Create a GitHub Release for that tag. The publish workflow fires on
32
+ # release: published.
33
+ gh release create "v$(node -p "require('./package.json').version")" \
34
+ --title "v$(node -p "require('./package.json').version")" \
35
+ --generate-notes
36
+ ```
37
+
38
+ That's it. The workflow will:
39
+
40
+ 1. Check out the tag.
41
+ 2. Install dependencies with `npm ci`.
42
+ 3. Build (`npm run build`).
43
+ 4. Run tests (`npm test`).
44
+ 5. Verify `package.json` version matches the release tag.
45
+ 6. Publish with `npm publish --access public`.
46
+
47
+ Watch the run at <https://github.com/ihorponom/agentpack/actions>. When it
48
+ finishes, npm shows the green `Provenance` badge on the package page.
49
+
50
+ ## Manual fallback
51
+
52
+ If a release is published while Actions is disabled, or the publish step
53
+ fails, re-run from the Actions tab:
54
+
55
+ 1. GitHub → Actions → "Publish to npm" → Run workflow.
56
+ 2. Pick the tag (or `main`) and choose `dry-run: true` first to verify.
57
+ 3. Re-run with `dry-run: false`.
58
+
59
+ ## Pre-flight checklist
60
+
61
+ Before `npm version`:
62
+
63
+ - `npm test` is green locally.
64
+ - `agentpack doctor` is clean in the repo (warnings about source-cache
65
+ staleness are ok; errors are not).
66
+ - `npm pack --dry-run` shows the expected set of files and a reasonable
67
+ tarball size (~85 kB at the time of writing).
68
+ - README, CHANGELOG (if any), and docs reflect the version about to ship.
69
+
70
+ ## Rollback
71
+
72
+ `npm unpublish agentpack-cli@<version>` is allowed only within 72 hours of
73
+ publish, and only if no other package depends on it. Prefer publishing a
74
+ new patch version with the fix.
75
+
76
+ Deprecation (recommended when a version has a bug but unpublish is closed):
77
+
78
+ ```bash
79
+ npm deprecate agentpack-cli@<version> "Use <newer-version>: <reason>"
80
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentpack-cli",
3
- "version": "0.1.0",
3
+ "version": "0.1.3",
4
4
  "description": "Local task-state ledger for AI coding agents.",
5
5
  "type": "module",
6
6
  "repository": {
@@ -12,7 +12,7 @@
12
12
  "url": "https://github.com/ihorponom/agentpack/issues"
13
13
  },
14
14
  "bin": {
15
- "agentpack": "./dist/src/agentpack.js"
15
+ "agentpack": "dist/src/agentpack.js"
16
16
  },
17
17
  "scripts": {
18
18
  "build": "tsc -p tsconfig.json",