Skip to content

feat(cli-registry): nine more tools + version capture, recovered from a worktree - #2725

Merged
POWERFULMOVES merged 2 commits into
mainfrom
feat/cli-registry-followup-tools
Aug 25, 2026
Merged

POWERFULMOVES merged 2 commits into
mainfrom
feat/cli-registry-followup-tools

Conversation

@POWERFULMOVES

Copy link
Copy Markdown
Owner

Found uncommitted in the pmoves-cli-registry worktree during a worktree sweep. #2599 had already merged; this work was done afterwards and never committed, so it existed only in that working tree.

What it adds

category tools
host_clis tailscale, opencode, node, npm
project_devtools jest, eslint
pinokio_ecosystem pinokio, pterm, gepeto

Plus install_tools.py::_cli_version() — best-effort version capture that runs the manifest's own check command and swallows OSError/ValueError/TimeoutExpired, so a broken or missing CLI degrades to "no version" rather than taking the whole --check run down.

pterm and gepeto matter beyond the count — they're the Pinokio-ecosystem tools that were being run from a downloaded install rather than the fork. That conflict is exactly what this registry exists to make visible.

The tailscale entry carries its own warning in the purpose string: raw tailscale status prints fleet IPs, so the manifest points at the make target instead. Kept as written rather than trimmed.

Conflict resolution

main had since added a skills: entry at the same position in host_clis, so the 3-way apply conflicted. Both sides are additive entries in the same map, so both were kept rather than either taken.

Verified after: host_clis holds skills and tailscale/opencode/node/npm, with zero surviving conflict markers.

Verified

install_tools.py --check runs against the merged manifest and correctly resolves tailscale, node and npm on this host, while reporting opencode and skills as optional-missing.

An earlier check of mine looked for these keys at the top level and reported them all MISSING. The file is categorised (host_clis / project_devtools / pinokio_ecosystem) — that was my lookup being wrong, not the merge. Worth stating because "the tools are missing" and "I looked in the wrong place" produce identical output.

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 47432b6a-2451-4a4b-b89c-1044d44943a4


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the config pmoves/config(s)/ changes label Aug 24, 2026

@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: e09a38b143

ℹ️ 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 pmoves/tools/install_tools.py
Comment thread pmoves/configs/cli_tools.yaml Outdated
@POWERFULMOVES

Copy link
Copy Markdown
Owner Author

Both P2s addressed in 99e224115. Version capture: --check now passes report_versions (default on; --no-report-versions opts out for deterministic-script consumers) — verified live, the check output now carries gh version 2.98.0, ollama version is 0.30.5 etc., and the opt-out suppresses them (grep count 0). Devtools workspace pinning: run_via for jest/eslint now points at the owning workspace (npm --prefix pmoves/ui test, npm --prefix pmoves/ui run lint) — you were right that bare npx from the repo root resolves unrelated versions (no root package.json, and npx ignores the ui lockfile); the jest entry pointer also corrected to pmoves/ui (both a root and a ui jest.config.js exist; the pinned tooling lives in the ui workspace).

@POWERFULMOVES
POWERFULMOVES force-pushed the feat/cli-registry-followup-tools branch 3 times, most recently from 663eb82 to b4afcdb Compare August 25, 2026 15:58
POWERFULMOVES and others added 2 commits August 25, 2026 12:09
… a worktree

Found uncommitted in the pmoves-cli-registry worktree during a worktree sweep.
#2599 (feat/cli-tools-registry) had merged; this work was done afterwards and
never committed, so it existed only in that working tree.

WHAT IT ADDS
  host_clis          tailscale, opencode, node, npm
  project_devtools   jest, eslint
  pinokio_ecosystem  pinokio, pterm, gepeto

  install_tools.py   _cli_version() - best-effort version capture: runs the
                     manifest's own check command, keeps line 1, and swallows
                     OSError/ValueError/TimeoutExpired so a broken or missing
                     CLI degrades to "no version" rather than taking the whole
                     --check run down.

pterm and gepeto matter beyond the count: they are the Pinokio-ecosystem tools
that were being run from a downloaded install rather than the fork, which is the
conflict this registry exists to make visible.

The tailscale entry carries its own warning in the purpose string - raw
`tailscale status` prints fleet IPs, so the manifest points at the make target
instead. Worth keeping as written rather than trimming to a one-liner.

CONFLICT RESOLUTION
main had since added a `skills:` entry at the same position in host_clis, so the
3-way apply conflicted. Both sides are additive entries in the same YAML map, so
both were kept rather than either being taken. Verified afterwards: host_clis
holds skills AND tailscale/opencode/node/npm, and no conflict markers survive.

VERIFIED
`install_tools.py --check` runs against the merged manifest and correctly
resolves tailscale, node and npm on this host while reporting opencode and
skills as optional-missing. An earlier check of mine looked for these keys at
the top level and reported them all MISSING - the file is categorised
(host_clis / project_devtools / pinokio_ecosystem), so that was my lookup being
wrong, not the merge.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
… their workspace

--check now passes report_versions (default on, --no-report-versions
opts out): the parser never exposed a flag and main() never passed the
argument, so _cli_version() was dead code and the advertised version
capture printed nothing.

jest/eslint run_via now point at the owning workspace (npm --prefix
pmoves/ui ...): run from the repo root there is no package.json, so
`npm test` fails outright and bare `npx jest`/`npx eslint` resolve
unrelated versions instead of the ones the ui lockfile pins.
@POWERFULMOVES
POWERFULMOVES force-pushed the feat/cli-registry-followup-tools branch from b4afcdb to cdac816 Compare August 25, 2026 16:09
@POWERFULMOVES
POWERFULMOVES merged commit 381a9c0 into main Aug 25, 2026
26 checks passed
@POWERFULMOVES
POWERFULMOVES deleted the feat/cli-registry-followup-tools branch August 25, 2026 16:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

config pmoves/config(s)/ changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant