Repository navigation
v0.18.0
Critty is the new name of crit. This first release from crittylabs/critty, the original crit repository, brings in everything developed as the TCrit fork since crit 0.2.2. The changelog lists every change in detail under TCrit 0.3.0 through 0.17.0.
Moving to Critty
- Install from the new repository and Go module path,
github.com/crittylabs/critty:go install github.com/crittylabs/critty/cmd/critty@latestormise install github:crittylabs/critty. Release archives are namedcritty_*. - The command and the bundled agent skills are
crittyandcritty-cli. Oldtcritcommands and skills are not aliases: update scripts, reinstall the skills withcritty install, and remove the oldtcritandtcrit-cliskills. - Reviews, configuration, and custom prompts saved by TCrit stay available. Their paths,
.tcrit.config.json, thetcrit_statefield, andTCRIT_HOSTare unchanged. - Codex terminal markers start with
CRITTY-. tfil 0.4.1 and later report them with--critty-notify;--tcrit-notifyremains an alias. - TCrit releases remain available as the
tcrit-v0.3.0throughtcrit-v0.17.0tags. - Critty has its own logo and icon.
Agent workflow
- Review commands follow the Crit workflow: they block until the reviewer finishes, print a result for the agent, and continue in later rounds with
critty --session <id>. Reviews keep Crit-compatiblereview.jsondata, andcritty commentandcritty commentsscript them. critty installadds the sharedcrittyreview loop andcritty-clireference to Claude Code, Codex, OpenCode, and Gemini CLI.critty checkreports stale integrations, and finish prompts can be customized. The skills describe local effects and the scope of a human approval.- Reviews open in a full-width Herdr tab or a tmux split, found from process ancestry when the multiplexer environment is missing. Each round closes its pane or tab.
- Codex reviews find their pane through the bundled
codexwrapper orcritty codex, a one-time marker shown by the skill, and optional notifications from terminal filters such as tfil. critty envprints the terminal variables of the pane a review would use, asNAME=valuelines or JSON.critty env ttyprints only the terminal device, andcritty env run <command>runs a command with those variables.
What to review
--scopeselectsall,staged,unstaged, or a committed comparison such asmain..HEADormain...;--stagedand--unstagedare shortcuts. Each scope keeps its own session, shown in the header.git diff <base> <head> | critty --diffreviews any Git unified diff, including outside a repository.critty plansaves each revision of a plan and carries comment threads forward.- Repeated
--attachment FILEflags show documents such as commit messages before the reviewed files. Task lists in attached Markdown become forms for required confirmations, choices, and individual permissions, and--result FILEexports the approved answers. - Every review gets its own session ID.
critty stop --session <id>keeps it, andcritty --session <id>resumes it. --focus PATH[:LINE]andcritty FILE:LINEstart at a file or line.- The header names the project and the Git branch under review;
--projectand--topicreplace them.
Comments
- Threads support replies, resolution, and reopening.
rtoggles resolution in place, andRresolves and moves to the next unresolved thread, or opens the finish dialog after the last one. fcomments on the whole file, and removed lines can be commented on too.ctrl+vpastes clipboard images into comments as Markdown attachments.- The comment editor has a kill ring (
ctrl+y,alt+y), GitHub-style suggestions (alt+s),$EDITORediting (ctrl+o), and@pathcompletion.alt+wcopies a source or thread reference, and clicking@path L40or a comment ID jumps to it. - Comments follow edits between rounds: anchors match moved text, multi-line ranges resize with insertions and deletions, and comments without a matching line fold into markers at the right edge of the code.
hfolds all resolved threads andHhides comment boxes for reading the diff.- A new round focuses the first thread with a fresh reply from another author.
- Each author has a color, unfocused threads shrink to the latest message, and the focused thread has a bright border.
Navigation and display
- The sidebar has a Files tab with a foldable tree that follows the active file. File tabs use compact paths, follow the tree order, and mark new and deleted files as
(A +12)and(D -8). n/Nvisit changes and unresolved comments across files;[/]and{/}move between all or unresolved threads.alt+pswitches files by fuzzy search.- The top line names what is under review and ends with a Submit button. The mouse can click tabs, lines, threads, and buttons, scroll, and drag the gutter to select lines.
wignores whitespace in diffs.- Text adapts to light terminal backgrounds, approval dialogs are light green, and editors place the real terminal cursor for input methods.
Diffs
- Inline replacements keep whitespace, long highlighted lines wrap, and syntax highlighting starts faster.
- Paths with spaces or special characters work, and binary files keep their added, deleted, modified, or renamed status.
Fixed
- Tab-indented code quoted in comment and reply dialogs stays inside the preview border when it wraps.
- The second click of a double-click that opens a dialog no longer activates a control under the pointer.