Skip to content

docs: new-user onboarding path, Node 20 floor, neutral examples - #135

Merged
ThinkOffApp merged 1 commit into
mainfrom
docs/new-user-onboarding
Sep 23, 2026
Merged

ThinkOffApp merged 1 commit into
mainfrom
docs/new-user-onboarding

Conversation

@ThinkOffApp

Copy link
Copy Markdown
Owner

Fixes the nine items in @Hermes's new-user review of main at f68dec4. I checked each item against the code before changing anything. Where hermes's claim turned out only partly right, that is noted under the item.

The nine items

# Item Outcome Evidence
1 README says npm install -g ide-agent-kit, but npm has an old version Fixed (docs). npm publish is left for petrus. npm view ide-agent-kit versions returns ["0.2.0"], while package.json is 0.10.1. The primary install is now the installer. The manual path is git clone + npm install, which is what install.sh itself does. The npm line is marked stale until a current version is published. Nothing was published and nobody logged in to npm.
2 Node floor: README said 18, engines >=18, installer NODE_MIN_MAJOR=20 Fixed: unified on 20 The runtime code runs on 18: AbortSignal.timeout needs 17.3 and util.parseArgs needs 18.3. The test suite does not: packages/user-intent-kit/test/state-publisher.test.js calls t.mock.timers.enable({ apis: [...] }), and the option-object form was added in Node v21.2.0/v20.11.0 (nodejs.org/api/test.html history table). Node 18 reached end-of-life on 2025-04-30 and Node 20 on 2026-04-30 (nodejs/Release schedule.json). The floor is now 20: engines >=20, and the README matches the installer. The README recommends 22+, which is the installer's default. Negative control: a stub node that prints v18.19.1 makes the installer dry-run plan brew install node.
3 TOC links #quick-start, but no such section exists Fixed A real Quick Start is now the first section, with six numbered steps: get a key, put the agent in a room, install, fill the two fields the installer names, rooms watch, first message. It is honest that hearing the room needs poller.rooms + poller.handle + rooms watch as well as the two daemon fields, because the daemon alone only handles approval cards. I verified on a fresh install that rooms watch and the daemon both refuse, with clear errors, until those fields are set.
4 Getting a key is not explained where the reader needs it Fixed Quick Start step 1 covers the signed-in groupmind.one/agents "+ Add agent" flow and the no-sign-in POST /api/v1/agents/register flow, and links docs/AGENT-ONBOARDING.md#1-mint-the-agents-own-identity. docs/phone-first-setup.md is linked from the Quick Start. The installer's "EDIT THIS FILE" message now says you must be signed in at groupmind.one/agents, or points to the self-register section of docs/AGENT-ONBOARDING.md. AGENT-ONBOARDING.md told readers to copy config/dogfood.json, which is not in a clone; it now points to config/grok.example.json or the installer's config.
5 Internal dogfood defaults in public docs and examples Fixed in docs, examples and example configs. Runtime fallbacks deliberately unchanged. I grepped the whole repo. Changed to my-room / @myagent / @mycodex / your-username / your_user_id: README examples, config/codex.desktop.example.json, config/grok.example.json, config/models.example.json, the CLI help examples in bin/cli.mjs, docs/AGENT-ONBOARDING.md, the UIK READMEs and examples, and examples/flow-pr-opened.md. That last file also used a team-relay CLI that does not exist; it now uses ide-agent-kit. The License section now links this repo instead of ThinkOffApp/team-relay@be641cf. Not changed: the env fallbacks in scripts/room-poll-check.py (rooms, @claudemm, petrus) and tools/*_autopost.sh. Existing deployments may rely on them, and I could not check the Mac mini from here. The README tables now label them as the maintainers' own fallbacks and say to always set them. The config-driven rooms watch has no such fallbacks. Also left alone as historical or internal: CHANGELOG, docs/task-lifecycle.md, docs/auto-wake.md (which describes the real claudemb-* scripts), CHAT_RULES.md, skills/*, and the dated verification record under "Verify Enrichment".
6 Key prefix inconsistency (xfb_xxx vs groupmind_xxx) Fixed Today the server issues antfarm_ followed by 64 hex characters. Sources: groupmind.one/skill.md shows the register response "api_key": "antfarm_xxx...", and a live key was checked by regex only, never printed. There is now one placeholder, YOUR_AGENT_KEY, in the README, docs/, example configs and UIK docs. The real format is stated in the Quick Start and in AGENT-ONBOARDING (older keys start xfb_). Also fixed: the "Verify Enrichment" curl sent Authorization: Bearer, but the intent API expects X-API-Key (CHANGELOG 0.9.0).
7 README says "142 tests" Fixed (no count) The count is removed, because any number goes stale. The Tests section now says npm test runs the IAK and embedded UIK suites and needs Node 20.11+. Current total: see Tests below.
8 install.sh header claims 8788 / 0.0.0.0, but the config writes 127.0.0.1:8787 Fixed. The claim was half right. The starter config writes both: listen on 127.0.0.1:8787 (webhook server, local) and mcp.confirmations on 0.0.0.0:8788 (LAN, for CodeWatch). The old comment named only the second one. It now names both.
9 The changelog narrative comes before the newcomer path Fixed (moved, not deleted) New order: intro, Quick Start, Install, TOC, How it works, Features, IDE-Specific Setup, then "What's new in v0.10.1" (unchanged apart from the test count), then the reference sections.

Checks

  • Link check: I wrote a script that pulls every relative link and #anchor from the markdown (skipping code fences) and checks each target file exists and each anchor matches a heading under GitHub's slug rules. A negative control plants two broken links in a test file, and both are caught. Result: README, docs/AGENT-ONBOARDING.md, docs/phone-first-setup.md and examples/flow-pr-opened.md have 49 links checked, 0 broken. On main the README had 3 broken anchors: #quick-start, #gemini--antigravity and #whats-new-in-v070. Second instrument: I rendered the README through GitHub's /markdown API and slugged the rendered headings. Result: 34 in-page hrefs, 0 unresolved. The first rendered <h2> is Quick Start.
  • Installer: bash -n scripts/install.sh passes. IAK_DRY_RUN=1 under HOME=$(mktemp -d) exits 0 and leaves the fake HOME empty. I also ran it fully under a fake HOME, with a unique tmux session name and the install dir inside the fake HOME. It reached "Installed.", wrote the starter config, created the hooks, and printed the new key pointer and rooms watch lines. The daemon exited as expected because the config was empty.
  • Tests: see below.
  • node scripts/check-stageable-secrets.mjs: PASS.

Tests

npm test on this branch (MacBook, macOS), run after the final commit:

  • Node v26.9.0 (default node): 814 tests, 814 pass, 0 fail, 0 cancelled, 0 skipped
  • Node v22.22.1 (/opt/homebrew/opt/node@22): 814 tests, 814 pass, 0 fail
  • Baseline origin/main f68dec4 on Node 26: 814 / 814 pass

The 5 model-tidy failures expected on macOS did not reproduce on this machine: 0 failures on both runs. Hermes's "655" was an earlier count. node --test reports 650 top-level entries and 814 tests in total.

Left for petrus

  • npm publish of 0.10.x (item 1). Once it is published, the README's "npm: stale" paragraph can go.
  • A decision on whether to drop the maintainer fallbacks in scripts/room-poll-check.py / tools/*_autopost.sh and make those vars required (item 5). That is a behaviour change for any deployment relying on them.

🤖 Generated with Claude Code

Fixes the nine items from @Hermes's new-user review of main f68dec4:

- README opens with a Quick Start (key, room, install, the config
  fields, rooms watch, first message), then Install; the v0.10.x
  release notes move below the setup path.
- npm install -g is marked stale (npm has 0.2.0); git clone is the
  manual path. Nothing is published.
- Node floor unified at 20: engines >=20 (was >=18), README matches
  the installer. The test suite needs 20.11+ (mock.timers option
  object) and Node 18 is end-of-life.
- Key acquisition: README and installer point at the signed-in
  groupmind.one/agents flow and the self-register docs; README links
  docs/AGENT-ONBOARDING.md and docs/phone-first-setup.md.
- Neutral examples (my-room, @myagent, YOUR_AGENT_KEY) in README,
  example configs, CLI help, UIK docs and the flow example; the
  License section links this repo, not team-relay. Runtime fallbacks
  in room-poll-check.py are unchanged and documented as the
  maintainers' own.
- One key placeholder; real format stated (antfarm_ + 64 hex, older
  xfb_). The enrichment curl uses X-API-Key, as the intent API expects.
- "142 tests" dropped; Tests section says npm test runs the suite.
- install.sh header now names both listeners the starter config
  writes (127.0.0.1:8787 webhook, 0.0.0.0:8788 confirmations).
- Three dead in-page anchors fixed (#quick-start, #gemini--antigravity,
  #whats-new-in-v070).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-23T09:32:58.065844Z c39a134 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c39a134f8c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread README.md
3. **Install** (macOS/Linux, Node.js 20+, npm, git, tmux): `curl -fsSL https://raw.githubusercontent.com/ThinkOffApp/ide-agent-kit/main/scripts/install.sh | bash`
4. **Fill the two fields the installer names** in `~/ide-agent-kit/ide-agent-kit.json`: `poller.api_key` (your key) and `mcp.confirmations.room` (`my-room`). Re-run the installer: the daemon starts and approval cards can reach your phone.
5. **Let your agent hear the room:** also set `poller.rooms` (`["my-room"]`) and `poller.handle` (`@myagent`), then run `node bin/cli.mjs rooms watch` from `~/ide-agent-kit`.
6. **See it work:** open a Claude Code session (the installer wired its hooks), then post `@myagent hello` in the room at [groupmind.one](https://groupmind.one) or in CodeWatch. The message reaches the session and your agent answers in the room.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Register the room MCP before promising an end-to-end reply

On a clean install, the message can reach Claude through the installed hooks, but the agent cannot send the promised room reply: scripts/claudecode-stop-resume.sh directs it to mcp__ide-agent-kit__room_post, while scripts/install.sh never registers bin/iak-mcp.mjs with Claude Code and the rooms CLI only implements check and watch. Add MCP registration to the installer/Quick Start (or another configured posting path) before using this as the final verification step.

Useful? React with 👍 / 👎.

Comment thread README.md
git clone https://github.com/ThinkOffApp/ide-agent-kit.git ~/ide-agent-kit
```
```bash
cd ~/ide-agent-kit && npm install

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Expose the CLI in the manual installation steps

When a user chooses this new manual path, npm install only installs dependencies and does not put this package's own ide-agent-kit binary on PATH. Consequently later instructions such as ide-agent-kit init --ide claude-code fail with command-not-found for precisely these users; include an npm link/equivalent step or consistently tell manual users to invoke node bin/cli.mjs.

Useful? React with 👍 / 👎.

@ThinkOffApp
ThinkOffApp merged commit 6f1430c into main Sep 23, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant