Repository navigation
docs: cut internals, edge-case mechanics, and deprecated behavior - #4157
Conversation
Remove passages that describe how a command is implemented, edge cases the command already reports when they happen, or deprecated behavior: - wt switch: picker filter operators, `--prs` fetch mechanics, upstream-tracking rationale - wt remove: trash-directory mechanics, integration-check internals, the second-checkout retention note - wt merge / wt step rebase / wt list: local-vs-upstream measurement details - wt hook: preview placeholder mechanics, `--var` (deprecated) - wt step: `wt step diff` "How it works", copy-ignored background priority and `WORKTRUNK_FOREGROUND`, promote's rename(), push rollback race details - wt config: the hidden `state ci-status` page, internal env vars, default-branch cache internals - FAQ, extending, agent integration, tips, shell integration, troubleshooting: plugin runtime internals, shell-install migration mechanics, retired template-file keys Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
worktrunk-bot
left a comment
There was a problem hiding this comment.
Three inline suggestions, plus two points that need a decision rather than a fix.
troubleshooting.md: the retired template-file keys lose their only migration path. Most of these cuts hold up because the command already says the thing itself — dropping the post-commit-skipped paragraph is safe because report_dropped_pipelines prints Skipped post-commit: … — worktree removed @ <path> followed by a To run commands in a worktree before it is removed, use pre-remove hint. This cut doesn't have that backstop. A config still carrying commit.generation.template-file gets the generic … has unknown field commit.generation.template-file (will be ignored) from src/config/deprecation.rs, and the custom prompt silently reverts to the built-in default. Nothing in that message names template as the replacement, and with this entry gone the instruction to paste the file's contents inline survives only in the 0.76.0 changelog. Worth keeping the entry until the key is old enough that nobody is still carrying it.
The wt remove cap paragraph collides with #4100. This PR deletes The default-branch walk is capped so a single check stays fast; a squash merge with hundreds of commits landed since the merge point falls outside the cap and needs -D to remove.; #4100 rewrites that same line in place to describe its new oldest-first path scan. Whichever merges second gets a conflict, and if this one goes first, #4100's doc update has no paragraph left to edit. That overlap is also an argument for keeping something there: the cap is the answer to "why won't this squash-merged branch delete", and the only thing the command reports is retained_unmerged.
…ile migration, abandoned-query caching Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Follows #4153, which cut two
wt config updateparagraphs describing internals and deprecated behavior. This sweeps the rest of the docs for passages of the same kind: how a command is implemented, edge cases the command already reports with an error or warning when they happen, and deprecated or removed behavior. The edits are to the help text insrc/cli/*.rsand the non-command docs pages; everything else in the diff is regenerated (command pages, skill mirrors, help snapshots,dev/*.example.toml).What went, by kind:
wt hook --varparagraph and its row in the extending guide's hooks-vs-aliases table; the page for the hiddenwt config state ci-statussubcommand; theapproved-commandssentence in user config (now about pattern keys inapprovals.toml); the "retired wrapper" wording in the "shell wrapper is out of date" warning.wt step diff's "How it works";copy-ignored's background-priority section andWORKTRUNK_FOREGROUND;promote'srename(); the three env vars marked "Internal:" in the config page's table; how the OpenCode plugin loads; skim query operators in the picker; the--prslog tab's data source.post-commithooks skipped whenwt mergeremoves their worktree; a branch retained because a second worktree has it checked out (the FAQ keeps this); a registered worktree whose directory is gone and rollback races inwt step push; template errors infor-each;.bak-2backup names inrelocate.wt merge,wt step rebase,wt list); default-branch cache internals other than the rule that a guess made during an outage isn't cached; the statusline pace forecast and cell-dropping rules; the FAQ's fsmonitor and shell-install migration detail, trimmed down to the facts; the "Three things to get right" list for agent CLIs without a plugin; thewt uprecipe's guard explanations, condensed to the two details that matter when adapting it.A few label-then-colon-then-link sentences ("How the fragment renders: [the LLM commits guide]") are rewritten as sentences. The built-site test's heading count for the config page's table of contents drops from 33 to 32 with the
ci-statussection gone.Kept on purpose: the "Local CI" section, the homepage, the FAQ's lists of files Worktrunk creates and deletes, the warning that
post-*hooks from user and project config can race, the directgit configmarker example,wt remove's notes on the capped default-branch walk and what "target" means (the command reports neither), the troubleshooting entry for the retiredtemplate-filekeys (the unknown-field warning doesn't name the replacement), and thewt list"Schema 1" mapping table (json-schema = 1is still supported without a deprecation warning).🤖 Generated with Claude Code