@asermax/pi-tentacles 0.0.0-stage → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,3 +1,52 @@
1
- # Temporary Holding Version
1
+ # tentacles plugin
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ One source builds a pi package (`build/out/pi`) and a Claude Code plugin (`build/out/claude`). Each gives the parent agent the tentacles tools, a status line of its open remote sessions, and a wake when a remote agent asks, finishes or fails. Every tool runs the bundled helper, the only client of the Worker API.
4
+
5
+ ## Install
6
+
7
+ The plugin needs a deployed tentacles Worker: its URL and the API key it was deployed with go in `TENTACLES_URL` and `TENTACLES_API_KEY` (see Variables).
8
+
9
+ On pi, install the npm package:
10
+
11
+ ```sh
12
+ pi install npm:@asermax/pi-tentacles
13
+ ```
14
+
15
+ On Claude Code, add the marketplace and install the plugin:
16
+
17
+ ```sh
18
+ claude plugin marketplace add asermax/tentacles@claude-marketplace
19
+ claude plugin install tentacles@tentacles
20
+ ```
21
+
22
+ ## Variables
23
+
24
+ The helper reads these where it runs, on your machine. On pi, set them in pi's settings env; on Claude Code, in the environment Claude Code starts with.
25
+
26
+ | Variable | What it sets | Default |
27
+ | ------------------------------ | ------------------------------------------- | ------------------ |
28
+ | `TENTACLES_URL` | the Worker's URL | required |
29
+ | `TENTACLES_API_KEY` | the API key | required |
30
+ | `TENTACLES_HELPER` | the helper's path | the bundled helper |
31
+ | `TENTACLES_SESSION_PROVIDER` | the model provider | `cloudflare` |
32
+ | `TENTACLES_SESSION_MODEL` | the model | `glm-5.2` |
33
+ | `TENTACLES_SESSION_EFFORT` | the effort level | `max` |
34
+ | `TENTACLES_WORKSPACE_IMAGE` | the workspace image | `default` |
35
+ | `TENTACLES_WORKSPACE_SIZE` | the workspace container's instance type | `basic` |
36
+ | `TENTACLES_WORKSPACE_LIFETIME` | the workspace's inactivity time, in minutes | `15` |
37
+
38
+ A setting the agent passes to `spawn` wins over its variable.
39
+
40
+ ## Build
41
+
42
+ `pnpm build` bundles the helper, the pi extension and the Claude mod with vite, then `build/emit.ts` lays out both plugins with their manifests and the skill.
43
+
44
+ ## Release
45
+
46
+ The version is the content of the `VERSION` file at the repository root; the build writes it into both manifests and the marketplace entry. Nobody edits it: on every push to `master`, CI runs semantic-release (config in `.releaserc.json`), which picks the next version from the conventional commits since the last `v*` tag (`fix` is a patch, `feat` a minor, a breaking change a major; other types release nothing), writes it to `VERSION`, rebuilds, and then:
47
+
48
+ - **pi package**: publishes `build/out/pi` to npm with provenance. npm authenticates with one of these, set up once:
49
+ - **Trusted publisher**: on npmjs.com, open the package's Settings, then Trusted publishing. Add GitHub Actions with user `asermax`, repository `tentacles`, workflow filename `ci.yml` and no environment. Allow both `npm publish` and `npm stage publish`. npm offers trusted publishing only for a package that already exists.
50
+ - **Token**: a granular npm access token with publish rights on the package, stored as the repository secret `NPM_TOKEN`. When both are set up, npm uses the trusted publisher.
51
+ - **Claude plugin**: runs `scripts/publish-marketplace.sh <version>`, which force-pushes `build/out/claude` as the root of the orphan `claude-marketplace` branch. `scripts/publish-marketplace.sh <version> /path/to/bare.git` pushes the same branch to a local bare repository instead of GitHub; run `pnpm build` first.
52
+ - **Repository**: commits `VERSION` and `CHANGELOG.md` to `master` with `[skip ci]`, creates the `v<version>` tag and the GitHub release.