@asermax/pi-tentacles 0.0.0-stage → 0.1.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 +50 -2
- package/extension/index.js +16950 -0
- package/package.json +34 -4
- package/skills/tentacles/SKILL.md +45 -0
- package/tentacles-helper +30155 -0
package/README.md
CHANGED
|
@@ -1,3 +1,51 @@
|
|
|
1
|
-
#
|
|
1
|
+
# tentacles plugin
|
|
2
2
|
|
|
3
|
-
|
|
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
|
+
## Publish
|
|
45
|
+
|
|
46
|
+
The version is the `version` in `apps/plugin/package.json`; the build writes it into both manifests and the marketplace entry.
|
|
47
|
+
|
|
48
|
+
- **pi package**: CI runs `scripts/publish-npm.sh` on every push to `master`. The script builds the plugin and publishes `build/out/pi` to npm with provenance when npm has no `@asermax/pi-tentacles` at that version. To release, bump the version. The script 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, so the first version needs the token below or a manual `npm publish` from `build/out/pi`.
|
|
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**: CI runs `scripts/publish-marketplace.sh` on every push to `master`. The script builds the plugin and force-pushes it as the root of the orphan `claude-marketplace` branch. `scripts/publish-marketplace.sh /path/to/bare.git` pushes the same branch to a local bare repository instead of `origin`.
|