(^、^7 gatto — an AI assistant that runs on your own PC

Roles

A role is a file. It sets how gatto behaves, which checks it has to satisfy, and what it is supposed to be doing. Three of them ship, and you can read or change any of them in Notepad.


A role really is just a file

Roles live in ~\.gatto\roles\, one small JSON file each. Switching role is /role coder in a session, and gatto swaps the instructions it is working under.

The clearest proof that a role is nothing more than a file is the default one. Here is generalist.json, complete:

{}

Empty, on purpose. The generalist is gatto with nothing added — no extra instructions, no extra checks. Everything the other two do, they do by putting something in that file.


The three that ship

/l、 (^、^7 l ~ヽ じしf_,)ノ

generalist

The default, and the one you get if you never think about roles at all. It reads files, writes them, searches, runs commands, and answers questions. Use it for anything that is not specifically writing code or specifically thinking a problem through.

/l、 (▀、▀ 7 l ~ヽ じしf_,)ノ

coder

Wears the visor. Its file turns on checkpoints — before it commits anything to version control, gatto stops, shows you the commit and the current state of your working folder, and waits. That pause cannot be granted permanently; it asks every time.

Its instructions push it towards implementing what was already decided rather than redesigning it: read the plan first, work in small steps, run the tests, and never say something passes without having watched it pass.

▲ ╱☆╲ ⌒‾‾‾⌒ (^、^7 l ~ヽ じしf_,)ノ

oracle

The one in the pointed hat. It is for research, specifications, plans and working out what is actually wrong — and it does not implement. Ask the oracle what to do; ask the coder to do it.

Its file turns on two checks the others do not have: one that pushes back when it states something it has not read, and one that asks it to say where a claim came from.

The three share one body deliberately. They differ where the role differs — the coder's eyes, the oracle's hat — because three unrelated cats would read as three mascots rather than one cat wearing a role.


architect

A fourth role is planned, for the shape of a system rather than its code: the decisions that are expensive to reverse, the boundaries between parts, and what should not be built at all. Coming soon.


Changing one, or writing your own

Open any of the files in ~\.gatto\roles\ and edit it. A role file can add instructions to what gatto is told, turn checkpoints on, switch checks on, set which model that role uses, and adjust how adventurous the model's answers are.

Adding a new one is the same thing under a new name: put architect.json in that folder and /role architect will find it. Nothing has to be registered, compiled or restarted — the folder is the list.

The manual's roles section lists every key a role file can carry, and the checks the oracle turns on.

GGitHub XX BBluesky MMastodon RReddit Windows 10 / 11 GPL-3.0
  /l、
(^、^7   zzz
  l  ~ヽ
  じしf_,)ノ

nothing here yet — a game goes in this space

Close gatto.computer
(^、^7

Are you sure you want to close this window?

It's now safe to close
this tab.
…or come back.