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 +38 -22
- package/SECURITY.md +25 -6
- package/dist/src/agentpack.js +0 -0
- package/docs/RELEASING.md +80 -0
- package/package.json +2 -2
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
60
|
-
fnm install 22
|
|
61
|
-
fnm default 22
|
|
74
|
+
npm audit signatures
|
|
62
75
|
```
|
|
63
76
|
|
|
64
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
24
|
-
-
|
|
25
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
package/dist/src/agentpack.js
CHANGED
|
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.
|
|
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": "
|
|
15
|
+
"agentpack": "dist/src/agentpack.js"
|
|
16
16
|
},
|
|
17
17
|
"scripts": {
|
|
18
18
|
"build": "tsc -p tsconfig.json",
|