This repository was archived by the owner on Oct 17, 2026. It is now read-only.
Repository navigation
Document the prompt format and add AGENTS.md - #43
Merged
Merged
Conversation
Summary The README opened with internal ownership language and a shdeps paragraph, and never said that `tmux-copy-last-output` only works with one specific two-line prompt. Anyone with a different prompt saw "No command output found" with no hint why. This rewrites the front door around what the three commands do, documents the prompt requirement with tested sample prompts, and adds an `AGENTS.md` for contributors. - README: new pitch, a "Prompt format" section with the exact shape the parser accepts plus matching bash `PS1` and zsh `PROMPT` samples, a tmux setup section (copy bindings, pane-border rendering of `@term_notify_pending`/`@term_busy`, and hooks that clear the pending mark), and a short per-command reference - README: `term-notify-sound` is described as ringing when invoked, not as detecting long jobs - README: the shdeps loader snippet and the no-op `shell.sh` move to an "Integrators" note near the bottom; the `term-pane-mark` ownership detail now lives only in its man page, which already covers it - `tmux-copy-last-output.1`: replace "the two-line prompt shape used by the surrounding terminal setup" with the actual shape and the sample prompts - `AGENTS.md`: layout, invariants (pane option names, prompt coupling, man page per command), local versus CI test commands, test isolation, and the CI-only gates (ShellCheck inventory, generated `install.sh`, actions lock, `ci-contract-test` workflow pinning) Testing - `test/cmdblocks-test`: all suites pass, including `manpage-test` - shared `shellcheck-inventory/run.sh` at the locked actions SHA: ok=4 failed=0 - the sample `PS1` and `PROMPT` were run in real bash and zsh inside a private `tmux -S` server; `tmux-copy-last-output --print` returned the last block and `--print 3` the last three; a non-matching prompt exited 3 - the pane-border format and the `after-select-pane` and `after-select-window` clear hooks were checked on a private tmux server, as was `term-pane-mark set|clear busy` - `groff -man` renders the edited man page cleanly
Summary Review follow-ups for the docs rewrite: make the README match the parser exactly, keep the sample tmux hooks from replacing a user's own hooks, and correct two `AGENTS.md` details. - README: the second prompt line is `$` or `%` optionally followed by a space and the command, as the parser and man page say - README: the sample `after-select-pane`/`after-select-window` hooks use index `[100]`; an unindexed `set-hook` replaces the user's index-0 hook on that event - `AGENTS.md`: `shellcheck-test` does not source `test/helpers.sh` - `AGENTS.md`: `install.sh` only references `support/install-checkout.sh` by path, so the install-logic bullet now says to edit that file directly and to rerun `consumer-ci/sync.sh` only after changing `scripts/checkout-installer.conf`; `<actions@lock>` is spelled out as a cgraf78/actions checkout at the locked SHA Testing - `test/cmdblocks-test`: all suites pass - on a private `tmux -L` server, an unindexed `set-hook -g after-select-pane` replaced an existing index-0 hook, while `[100]` left it in place
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Summary
The README opened with internal ownership language and a shdeps paragraph, and never said that
tmux-copy-last-outputonly works with one specific two-line prompt, so anyone with a different prompt saw "No command output found" with no hint why. This rewrites the front door around what the three commands do, documents the prompt requirement with tested sample prompts, and adds anAGENTS.mdfor contributors. Docs only; no code, test, workflow, or installer changes.PS1and zshPROMPTsamples; a tmux setup section (copy bindings, pane-border rendering of@term_notify_pending/@term_busy, and hooks, at index[100]so they keep any existing hooks on those events, that clear the pending mark); and a short per-command reference.term-notify-soundis described as ringing when invoked, not as detecting long jobs.shell.shmove to an "Integrators" note near the bottom; theterm-pane-markownership detail now lives only in its man page, which already covers it.tmux-copy-last-output.1: replace "the two-line prompt shape used by the surrounding terminal setup" with the actual shape and the sample prompts.AGENTS.md: layout, invariants (pane option names, prompt coupling, man page per command), local versus CI test commands, test isolation, and the CI-only gates (ShellCheck inventory, generatedinstall.sh, actions lock,ci-contract-testworkflow pinning).Testing
test/cmdblocks-test: all suites pass, includingmanpage-test(rerun after the review follow-up).shellcheck-inventory/run.shat the locked actions SHA: ok=4 failed=0.PS1andPROMPTwere run in real bash and zsh inside a privatetmux -Sserver:tmux-copy-last-output --printreturned the last block and--print 3the last three; a non-matching prompt exited 3.after-select-paneandafter-select-windowclear hooks were checked on a private tmux server, as wasterm-pane-mark set|clear busy.groff -manrenders the edited man page cleanly.tmux -Lserver, an unindexedset-hook -g after-select-panereplaced an existing index-0 hook, while[100]left it in place.Review
Group review on three axes: accuracy against the code, public boundary, and newcomer appeal plus
AGENTS.mdusefulness. No blockers or majors. Tightened in a follow-up commit:[100]so they don't replace a user's own hooks.AGENTS.md:shellcheck-testdoes not sourcetest/helpers.sh.AGENTS.md:install.shonly referencessupport/install-checkout.sh; edit that file directly, and rerunconsumer-ci/sync.shafter changingscripts/checkout-installer.conf.<actions@lock>now reads as a cgraf78/actions checkout at the locked SHA.