Skip to content

docs(cli): the client runs on Bun, and refusals name their flag - #202

Merged
indykish merged 9 commits into
mainfrom
chore/m202-cli-effect-parser-changelog
Sep 22, 2026
Merged

indykish merged 9 commits into
mainfrom
chore/m202-cli-effect-parser-changelog

Conversation

@indykish

@indykish indykish commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

Documents the effect/unstable/cli parser cutover shipping in agentsfleet#TBD.

Pages

  • changelog.mdx — one Sep 20 entry: the Bun runtime lead, two breaking changes, three new behaviours, four fixes.
  • cli/agentsfleet.mdx — a Login options section holds --no-open, --no-input, --force and --token-name. The last two were undocumented.
  • cli/flags.mdx — points at that section rather than leaving a hole where the rows were.
  • cli/install.mdx, quickstart.mdx — name Bun 1.4 as the runtime. npm install --global is unchanged; npm bin-links the file and the shebang runs Bun.

Why the second commit

245e808 updates the same entry for behaviour that landed after it was written:

  • A refusal opens with the flag or argument it is about and echoes the value passed — invalid --limit: must be ≥ 1 (got "0"), reading the same for flags and positionals.
  • --json prints the error envelope alone. A rejected invocation used to print the help page above it, so reading stdout as JSON failed on the first character.

Verification

make lint — documentation check passed, 22 tests OK.

The openapi drift failure on GET /v1/users/me is present on main with this branch stashed and does not come from these pages.

🤖 Generated with Claude Code

RetriggerConfidence Score: 5/5

The PR appears safe to merge; no actionable new issues or outstanding previous findings remain.

Summary

This PR updates the CLI documentation for its Bun 1.4 runtime, login-specific flags, parser behavior, JSON-only error output, retry behavior, and related installation commands. Since the previous review, it also adds three previously omitted OpenAPI operations to the documentation navigation.

  • Documents Bun-based installation and removal consistently across the install guide, quickstart, and changelog.
  • Moves login-only options out of the global flag tables and documents --force and --token-name.
  • Adds navigation entries for the current-user and workspace library-entry API operations.
  • Both previous review findings are resolved.

Reviews (7) · Last reviewed commit: "docs(api): nav covers whoami and the wor..."

indykish and others added 2 commits September 20, 2026 21:31
The command-line client's parser changed, and two of its promises to a
reader changed with it.

`install.mdx` and `quickstart.mdx` name Bun 1.4 as the runtime. npm
still installs the package and Bun runs it, so the install command is
unchanged; the troubleshooting section says what a missing `bun` looks
like, because that is the failure a reader will actually meet.

`--no-open` and `--no-input` are read by `agentsfleet login` alone, so
they leave the global options table for a Login options section on the
command reference. `--force` and `--token-name` join them there; both
were undocumented. `flags.mdx` points at the new section rather than
leaving a hole where the rows were.

The changelog entry leads with the runtime, because that is the line a
reader acts on before anything else works, and separates the two
breaking changes from the fixes.

make lint: documentation check passed, 22 tests OK. The openapi drift
failure on `GET /v1/users/me` is present on main with this branch
stashed and is not from these pages.

📝 CHANGELOG: 8 bullets · no marketing words · load-bearing facts kept · history append-only

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…arseable

Two changes to the same Sep 20 entry, both from behaviour that landed after it
was written.

The bound-naming bullet now covers the whole sentence a reader sees. A refusal
opens with the flag or argument it is about and echoes the value passed, so
`invalid --limit: must be ≥ 1 (got "0")` reads the same whether the value came
from a flag or a positional.

The `--json` bullet is new. A rejected invocation printed the help page above
the error envelope, which made the output unreadable as JSON — the failure a
script hits on its first character, and the one a person never notices because
the text looks fine.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Comment thread cli/install.mdx
The workspace override had two spellings. `list` and `workspace show` took
`--workspace-id`; `connector list`, `memory list` and `schedule list` took
`--workspace`. One survives, and it is the one matching `--fleet` — the only
spelling the fleet id flag has ever had.

Filed under Breaking changes rather than Bug fixes because `list
--workspace-id <id>` worked and now returns an unknown-flag refusal. The flag
was never documented on these pages, so nothing else here changes; the bullet
exists so a reader who used it learns why it stopped.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Comment thread changelog.mdx Outdated
indykish and others added 6 commits September 21, 2026 09:42
…ed socket

The command-line client's replay gate now lets a write through after a
transport failure when its caller declared the write replay-safe. Two
commands claim it; the entry names them, says why a repeat cannot take
effect twice, and names the two that still stop at one attempt.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A connection lost while the reply is read is retried and answered
already_exists; the entry says so, and that the value sent is the one
stored, so an operator does not follow the printed update hint.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A dropped socket is now retried for every command, not two. The entry
says what that buys, what a server answer still refuses, and what a
retry can cost: a second write when the drop lands after the server
accepted the first, with the one check an operator can run.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The install prerequisites named Bun alone while the only install
command invokes npm. Name both, on the install page and in the
quickstart.

Narrow the --workspace-id migration note to the commands that
actually offered a workspace override: list, workspace show, and
the schedule subcommands.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Bun is the only prerequisite, so the install and uninstall commands
are Bun's. The npm prerequisite added in the previous commit is
removed, and the PATH note points at ~/.bun/bin.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The OpenAPI drift check failed on three operations the navigation
never listed: GET /v1/users/me, and the list and remove calls for
the library entries a workspace onboarded.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@indykish
indykish merged commit 557c7e3 into main Sep 22, 2026
4 checks passed
@indykish
indykish deleted the chore/m202-cli-effect-parser-changelog branch September 22, 2026 09:23
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