Make it yours
aayu should feel good to use. Run it on its own in a repository and it tells you where the work stands and what to do next. This page shows how to tune the look, turn it down to plain words, and teach your shell to finish your commands.
The home screen and your next step
aayu
With no command, aayu shows the home screen: where the repository is on the journey (Set up, Shape, Ready, Build,
Prove, Ship, Release, Learn), its adoption level, the stories that are Ready or in progress, the pull requests
waiting for a person, failing floors, measurements that are due, and the one command worth running next.
aayu next
aayu next prints just that command on its first line, then why. Scripts can take the first line. When the next step
is a person's (shipping, releasing, accepting a Decision), next says so, and an agent asking next gets the best
step it may take itself instead.
Tip: every error ends with a
next:line holding the exact command that fixes it. With--json, the same command is inerror.next.
The seats speak
Each command belongs to one seat, and that seat says a line before the facts and signs off after them. The lines come
from the seat's charter in seats/<seat>/CHARTER.md. The facts themselves stay plain, and the seat's lines go to the
error stream, so aayu status > status.md holds only the result.
Themes
Set a theme in your own config, ~/.config/aayudha/config.toml:
[ui]
theme = "saffron"
| Theme | What it looks like |
|---|---|
auto (the default) |
Your terminal's own 16 colours, so a Nord, Catppuccin, Gruvbox, or any other terminal theme applies as it is. The inbox asks the terminal whether its background is light or dark and keeps text readable on either |
saffron |
Warm true colour, made for dark terminals |
contrast |
Bright, bold colours for low vision |
mono |
No colour at all: bold and underline only |
nord, catppuccin-mocha, catppuccin-latte, gruvbox-dark, gruvbox-light, dracula, tokyonight |
That project's published palette, for a terminal that is not themed. The full-screen inbox paints the palette's own background |
solarized |
Solarized, dark or light to match your terminal's background |
If your terminal already uses one of these themes, keep auto: it uses the terminal's colours directly. Every named
palette keeps each colour at 3:1 or more against its background, and muted text at 4:1 or more. The selection in
the inbox is reverse video, so it takes your theme's own colours.
Colours only ever repeat what the words say. A check is always written PASS, WARN, FAIL, or N/A, with or
without its colour and symbol.
Motion
The full-screen inbox moves a little: a skeleton while it first reads GitHub, the next card sliding in, the
selection gliding, a ✓ on a finished item before it leaves the list, a progress bar while it tidies, and a small
shake when an action is refused. Each movement takes about a fifth of a second, and a key you press acts at once.
To keep it still, set this in ~/.config/aayudha/config.toml:
[ui]
motion = false
Plain mode, NO_COLOR, and TERM=dumb are always still.
Plain mode
Plain mode is words only: no colour, no spinners, no emoji, no box drawing. It suits screen readers, braille displays, and anyone who prefers a quiet terminal. Turn it on in any of these ways:
| How | Scope |
|---|---|
aayu --plain … |
One command |
AAYU_PLAIN=1 in your environment |
Every command in that shell |
plain = true under [ui] in ~/.config/aayudha/config.toml |
Always |
aayu also goes plain on its own when TERM=dumb, and drops colour when NO_COLOR is set.
Machines never see any of this. Output for --json, the MCP server, agents (AAYU_AGENT=1), CI, and anything that is
not a terminal is the same stable text it has always been, and exit codes never change.
Celebrations
A few moments deserve a cheer: your first Ready story, your first proven ship, reaching Level 1, and every release. On
a terminal you get a short sparkle; in plain mode, one line that starts with Milestone:. Each first happens once per
checkout.
The guided first run
aayu tour
The tour checks your machine, asks which agent you work in, then runs aayu init and aayu install for you. Each
of them still shows you what it changes and asks before it uses your admin access. At the end, your repository is at
Level 1.
Shell completions
Completions come from the same registry as the commands, so every verb, flag, and choice (grill story,
release --to rolling, install --host codex) completes.
| Shell | Add this to your shell's startup file |
|---|---|
| bash | source <(aayu completion bash) in ~/.bashrc |
| zsh | source <(aayu completion zsh) in ~/.zshrc |
| fish | aayu completion fish | source in ~/.config/fish/config.fish |
| PowerShell | aayu completion powershell | Out-String | Invoke-Expression in your $PROFILE |
The scripts complete the name aayu. If you call the binary aayudha, add alias aayu=aayudha as well.