feat!: rename commands to the naming standard (CLI-59) - #253
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
No aliases: every old name now fails as an unknown command or option. - backup messages -> store fetch; it fetches by default, --estimate only prices the work (replaces --run). Every run is still capped by --max-pages (40) with the same pacing. --pause takes a duration (5s). --since/--last are optional: without them a run goes on toward the chat's start from where the last stopped (held stretches are skipped). Result key run -> estimate. - export messages -> store export - --cid -> --send-id (messages send, messages forward); the MCP input cid -> send_id and the outcome_unknown detail cid -> sendId - chats read -> chats mark-read; MCP max_chats_read -> max_chats_mark_read - chats settings removed: chats show carries description, access, link and settings; chats update takes --<setting> on|off. A title and a setting are sent as two requests, as each was measured alone. - update -> upgrade, and the newer-version notice names it - recipients off -> recipients clear (result key off -> cleared); bot recipients off -> bot recipients clear - account sessions end-others -> account sessions end --others - complete is shown in help Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…og (CLI-59) User pages state the new names only. CHANGELOG lists each rename under «Изменено — может сломать скрипты»; two released entries keep their text and point at the renamed usage.md headings. The live-scenario table in TESTING.md names store fetch --estimate / --last 20, chats show|update for settings, upgrade --check and complete. CLI-59 leaves the backlog. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…he invite link out - store fetch --estimate with neither --since nor --last priced the way back to a chat's start it never reached from epoch 0; it now answers missing: null and an unread stretch with from: null. - chats show (and MCP max_chats_show) no longer carries the invite link: anyone with it can join, and chats link show already gives it. - The fetch result keeps its run key, so estimate never sits beside the estimator's estimated. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
leemour
force-pushed
the
feat/cli-59-renames
branch
from
September 30, 2026 12:14
982c033 to
74ddb95
Compare
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Task
CLI-59: rename the commands to the naming standard in CONVENTIONS, "Command names". No aliases.
Why
The standard puts the resource first and gives each verb one meaning. Several names broke it: a verb used as a group (
backup,export), a wire field used as an option (--cid), one command that both showed and changed a thing (chats settings), andupdatenaming the tool itself.What
backup messages <chat>store fetch <chat>. Fetches by default;--estimateonly prices the work (it replaces--run).--max-pages(40) and the pause are unchanged.--pausetakes a duration, parsed as--timeoutis (5s,500ms; a bare number or0is refused). The JSON keepsrunexport messages <chat>store export <chat>--cid(send, forward)--send-id. Theoutcome_unknowndetailcid→sendId; MCP inputcid→send_idchats readchats mark-read; MCPmax_chats_read→max_chats_mark_readchats settingschats show(and MCPmax_chats_show) now carriessettings,descriptionandaccess(nullfor a dialog, offline, or a group the login did not carry); the invite link stays withchats link show.chats updatetakes the five--<setting> on|offflagsupdate [--check]upgrade [--check], and the newer-version notice names itrecipients offrecipients clear(JSONoff→cleared);bot recipients off→bot recipients clearaccount sessions end-othersaccount sessions end --others(required for now;--yesstill required)completehiddenmax --helpDecisions to review:
--since/--lastare now optional. Removing the requirement is safe. Each run is still capped by--max-pages, and the fetch already skips the stretches it holds, so a run without either continues toward the chat's start and needs no new state. A test shows it over three runs. Passing both is still refused. Without either,--estimateanswersmissing: nulluntil the chat's start has been read, instead of pricing back to 1970.chats update --title … --all-can-pin …sends two requests. Nobody has measured one request that carries both a title and settings. If the second request fails, the title change has already landed.max update.src/update.tsrewrites that line and stays silent afterupgrade. The real fix belongs in cli-core.1(commander's code for an unknown command or option).backup,exportandupdateare now read as a profile name, so their error is "unknown command '1'" or "unknown option". Nothing is sent; a test covers every old form.max_chats_showanswers with the new fields.storeandupgradeare now command words. A profile with either name is hidden behind the command, aschatswould be.The CHANGELOG lists every rename under «Изменено — может сломать скрипты».
Testing
pnpm lint && pnpm typecheck && pnpm test(1194 passed),pnpm test:matrix(408 tested, 0 missing),pnpm docs:check, andpnpm generategives no diff.store fetchcontinues run after run to the chat's start.--sinceand--last, or a pause with no unit, are refused.chats updatewith a title and a setting sends two requests, and with no change it is refused.account sessions endwithout--othersis refused.chats show --offlinegivessettings: null.max upgrade.store fetch --estimate, then--last 20on one small test chat), P8, G2, T5 and X1 with the new names.Leave this open for the owner's review.
🤖 Generated with Claude Code