Review changes
See what the agent changed with /diff, turn by turn, in one repository or a folder of several.
Every edit the agent makes shows as a diff in the conversation. To look at everything together, type /diff.
See what a turn changed
When a turn has changed files, it ends with a card of them: each file with the lines it gained and lost, and the total in its title.
+--- 4 files changed +63 -3 ---------------------------------------------------------------+ | src/middleware/rate-limit.ts new +30 | | src/server.ts +2 -1 | | src/routes/auth.ts +2 -2 | | src/middleware/rate-limit.test.ts new +29 | +------------------------------------------------------------------------------------------+
Click a file to open its diff in /diff, in the view of that turn; esc goes back to the turn's list. A card of more
than eight files counts the rest on its last line, which opens the turn's list.
See what isn't committed
/diff opens full screen. Its Current view lists every file that isn't committed, staged or not, new files included,
with the lines added and removed. Files the agent changed in this conversation are marked agent, so they stand apart
from your own edits.
+- Changes main · 3 files · +27 -0 --------------------------------------------------------+ | Current add rate limiting to th… | +------------------------------------------------------------------------------------------+ | > src/middleware/rate-limit.test.ts new +8 agent | | src/middleware/rate-limit.ts new +17 agent | | src/server.ts +2 agent | | | +------------------------------------------------------------------------------------------+ | Left/Right turn · Enter open · Up/Down move · Esc close | +------------------------------------------------------------------------------------------+
When nothing is uncommitted, Current shows what your branch adds on top of the default branch.
Open a file
Press enter on a file to see its diff. up and down scroll, pgup and pgdn go a page at a time, and esc goes
back to the list.
+- Diff src/middleware/rate-limit.ts ------------------------------------------------------+ | + 1|import type { RequestHandler } from 'express'; | | + 2|import { TooManyRequests } from '../http/errors'; | | + 3| | | + 4|export function rateLimit({ limit = 100, windowMs = 60_000 } = {}): RequestHandler { | | + 5| const hits = new Map<string, { count: number; start: number }>(); | | + 6| return (req, _res, next) => { | | + 7| const now = Date.now(); | | + 8| const key = req.ip ?? 'unknown'; | | + 9| const entry = hits.get(key); | | +10| if (!entry || now - entry.start >= windowMs) { | | +11| hits.set(key, { count: 1, start: now }); | | +12| return next(); | | +13| } | | +14| if (++entry.count > limit) return next(new TooManyRequests()); | | +15| next(); | | +16| }; | | +17|} | | | +------------------------------------------------------------------------------------------+ | Up/Down scroll · PgUp/PgDn page · Esc back | +------------------------------------------------------------------------------------------+
Go turn by turn
left and right step through the turns in which the agent changed files, newest first. Each turn shows only that
turn's edits, so you can see what a single request did.
Turn views come from the agent's own edits. A change made by a command shows only under Current.
Several repositories in one folder
You can start Jinion in a folder that holds several repositories, for context across them. Jinion finds the repositories up to three folders down, and:
/diffgroups the changes under each repository, with its branch;- the status line's Git segment, once you turn it on in
/statusline, sums them up, such as4 repos *7; - the agent runs git in the repository a change belongs to.
Take a change back
To undo what the agent did, rewind to before the message that caused it.