@cooked-ham/hamgoose 0.1.1 → 0.1.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/README.md CHANGED
@@ -38,7 +38,7 @@ npx -y @cooked-ham/hamgoose
38
38
  (If you did `npm i -g @cooked-ham/hamgoose`, the command is simply `hamgoose`.)
39
39
 
40
40
  …or the equivalent `extensions:` entry in `config.yaml`. Then in any repo:
41
- `goose` → `/start_mission`.
41
+ `goose` → `/prompts` (list) or `/prompt start_mission` (guided setup).
42
42
 
43
43
  Equivalent channels: `pip install git+https://github.com/cooked-ham/hamgoose.git`
44
44
  or, once on PyPI, `pip install hamgoose` / `uvx hamgoose`.
package/bin/hamgoose.mjs CHANGED
@@ -187,7 +187,8 @@ function printHelp() {
187
187
  Runs the Python hamgoose server (github.com/cooked-ham/hamgoose).
188
188
 
189
189
  Usage (after \`npm i -g @cooked-ham/hamgoose\`, or via \`npx -y @cooked-ham/hamgoose\`):
190
- hamgoose run the MCP stdio server (what Goose spawns)
190
+ hamgoose in a terminal: one-shot setup (install + register)
191
+ piped/stdio (what Goose spawns): run the MCP server
191
192
  hamgoose install install the Python package (idempotent)
192
193
  hamgoose register install + register with Goose's config.yaml
193
194
  hamgoose unregister remove hamgoose from Goose's config.yaml
@@ -195,7 +196,11 @@ Usage (after \`npm i -g @cooked-ham/hamgoose\`, or via \`npx -y @cooked-ham/hamg
195
196
  hamgoose --version print version
196
197
 
197
198
  Use with Goose: Add Extension (STDIO), Name "hamgoose", Command:
198
- hamgoose`);
199
+ hamgoose
200
+
201
+ In any repo: run \`goose\`, then type \`/mission <goal>\` (or just ask for a
202
+ mission in plain English). Manage with \`hamgoose unregister\` or
203
+ \`goose configure\` -> Extensions.`);
199
204
  }
200
205
 
201
206
  const [, , ...args] = process.argv;
@@ -227,7 +232,18 @@ if (first) {
227
232
  process.exit(2);
228
233
  }
229
234
 
230
- // No args: stdio server mode (Goose's extension command).
235
+ // No args, real terminal: one-shot interactive setup (install + register).
236
+ // Goose spawns us with piped stdio, which falls through to server mode below.
237
+ if (process.stdin.isTTY && process.stdout.isTTY) {
238
+ console.log(`hamgoose v${VERSION} — setting up (idempotent, safe to rerun)`);
239
+ const setup = ensureInstalled(false);
240
+ if (!setup) process.exit(1);
241
+ console.log("Registering with Goose…");
242
+ const r = launch(setup, ["register"], true);
243
+ process.exit(r.status ?? 1);
244
+ }
245
+
246
+ // No args + non-TTY: stdio server mode (Goose's extension command).
231
247
  if (process.env.HAMGOOSE_LAUNCHER) {
232
248
  console.error("error: hamgoose launcher recursion guard tripped — refusing to spawn. " +
233
249
  "Check that `where hamgoose` / `which hamgoose` is not resolving to this launcher.");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cooked-ham/hamgoose",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "npm launcher for hamgoose — Factory-Droid-style Mission orchestration extension for Goose (goal → plan → approve → isolated workers → validated code)",
5
5
  "keywords": [
6
6
  "goose",