jinion

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:

  • /diff groups 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 as 4 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.

On this page