You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Changed — may break callers
The skeleton runs on cli-core 0.424.0. When no profile exists on the computer, the error shows the command
that was typed with a profile added, such as clidev personal mcp. It used to suggest a setup command, which the
skeleton does not have. A run made without a profile is now recorded with no profile instead of as default, so runs list and runs show leave profile out for such a run.
doctor --json reports the config file's problems as config: { path, found, issues }, the shape the shared
messenger doctor has (cli-core 0.423.0).config.exists and config.error are gone. Each issue has a kind
(invalid_json, unknown_setting, invalid_value, …), the file, the key, line and column for invalid JSON,
a sentence that says what the value has to be, and fix, the config unset command that removes it. A profile lock
or an environment variable the settings refuse is reported in settings.error. A CLI started from an older template
copies src/commands/doctor.ts.
The skeleton runs on cli-core 0.423.0.config set and unset no longer list default_profile, analysis_provider, analysis_model or analysis_base_url; analysis is set with models.analysis.*. A file that
still has one of them is refused with the config unset that removes it.
pnpm docs:check checks the user pages for internal ids, correction marks and struck-out text. It now loads scripts/docs-rules.ts, which names README.md, SECURITY.md and docs/*.md as user pages. A page that carries
a journal id fails the check until the id is removed.
The spell check covers SECURITY.md and imports only the shared word list.cspell.json no longer imports the
British English and Russian dictionaries again, and skips the generated docs/commands.md as tg and max do.
The coverage floor holds for each file too: every file in src/ keeps at least half of its lines covered.
Each excluded file now says why it is excluded.
Only src/mcp.ts may import the MCP SDK.biome.json refuses @modelcontextprotocol/* anywhere else in src/, so commands and services do not learn the protocol.
bin/release takes the next free version when npm already has the one in package.json, or a higher one. It
used to stop and ask for a new pull request. Now it raises the number (after x.y.0 the next minor, else the next
patch), lands that through its own pull request once the checks pass, and publishes it, as tg, max and memo do. A
pre-release version is still chosen by hand. A CLI made from the template gets this with upgrade.
Fixed
<profile> mcp stops when the stop comes before its server is up. A stop that arrived while the server was
still loading was lost, and the command served until it was killed. A command result that is not an object, such
as a list, now reaches the agent as { "result": … }, because MCP accepts only an object as a tool's structured
result. A CLI made from an older template takes both from src/mcp.ts.
The missing-profile contract tests the missing profile. It ran mcp --json, which is refused for --json
before the profile is read. It now runs mcp. A CLI made from an older template changes the case's args in contracts/plan.json the same way.
The package no longer ships kit/README.md and the kit's tsconfig files. npm reads a name in files with no
leading slash as a match in every folder; the three root files are now anchored with /. pnpm package:check
fails when npm pack would ship a path that files does not name.
The monthly run starts at 03:02 UTC, inside the window the handbook gives. The last step new prints asks for
a free minute in that window; it spoke of a day and of a placeholder CI rejects, and no check rejects one.
The 0.1.4 notes cite a handbook rule and a lint rule that no published cli-base has. The run-log rule and
cli-base's missing-run-log lint rule are only on cli-base's main branch. They are in no release up to 0.55.1, so
nothing reports a CLI without runs until a cli-base release ships them. The 0.1.4 section stays as it was released.
The README introduces the skeleton in full: profiles, settings and permissions, limits, security, and what to do
when it does not work.
The Reference CLIs page says how a new CLI's records join search. A CLI with a provider of its own registers it
with cli-core's registerProvider; until it does, search lists its accounts as skipped. The page said that cli-core
had no provider registry, and that search would read such records as messages.