Ninoo

Ninoo Code

The complete reference

New here? Start with Download and install and How it works.

Install & sign in

$ curl -fsSL https://ninoo.ai/install.sh | sh
ninoo loginOpens nicrron.ai to authorize this device; the minted key is saved to ~/.ninoo/config.json and never passes through the browser.
ninoo logoutRemoves the stored key from this machine. Revoke it fully from the Nicrron dashboard's API Keys page.

Usage

ninoo                          # interactive session in the current directory
ninoo "fix the failing test"   # one task, then exit (scripts and pipes OK)
ninoo -m nicrron/coding        # start with a specific model or mode
ninoo -y "run the linter and fix what it finds"   # auto-approve tools
-m, --model <slug>Model or routing mode for this run (default: nicrron/auto).
--base-url <url>Gateway URL (default: https://api.nicrron.ai).
-y, --yesAuto-approve writes, shell commands and fetches. Explicit opt-in for tasks you fully trust.
-h, --helpPrint usage.

Slash commands

Type / for a live-filtering dropdown. move, tab completes, runs.

/model [slug]Opens the model picker (modes first, then the live catalog with prices), or switches directly with a slug. The choice is saved.
/initExplores the repo and writes NINOO.md project notes, or improves an existing one. Confirmations and /undo apply.
/undoReverts the last turn's file changes from the per-turn snapshot and tells the model.
/compactReplaces the history with a short summary to reclaim context.
/clearClears the conversation history.
/statusModel, gateway, key tail, cwd and the session's token totals.
/helpLists commands, modes and shortcuts.
/exitQuits. Plain exit or quit work too.

Keyboard

escInterrupt the running turn; the half-finished step is discarded.
(just type)Keep typing while Ninoo works; messages queue and run in order.
↑ / ↓Walk your prompt history (~/.ninoo/history).
ctrl+a / ctrl+eJump to start or end of line.
ctrl+u / ctrl+kDelete to start or end of line.
ctrl+wDelete the previous word.
pasteMulti-line pastes are one block (bracketed paste).

Routing modes

Virtual slugs the gateway resolves at request time. Use them anywhere a model slug is accepted.

nicrron/autoRight-sizes the model per request. The default.
nicrron/codingStrongest coding models first, with cheaper fallbacks.
nicrron/reasoningDeep-reasoning models for hard problems.
nicrron/fastestLowest-latency lightweight models.
nicrron/cheapestCheapest model per token; quality varies.

Project memory (NINOO.md)

At startup Ninoo loads two Markdown files into its context, personal notes first, then the project's. Edit or prune them by hand anytime.

~/.ninoo/NINOO.mdPersonal notes that apply everywhere: preferences, common commands.
./NINOO.mdThis repo's build and test commands, conventions and gotchas. Created by /init, extended by the remember tool with approval. Commit it.

Configuration

Everything lives in ~/.ninoo/config.json with owner-only permissions. Environment variables override the file; the file overrides defaults.

{
  "apiKey": "sk-af-…",              // from ninoo login
  "baseUrl": "https://api.nicrron.ai",
  "webUrl": "https://nicrron.ai",
  "model": "nicrron/auto"           // saved by /model
}
NINOO_API_KEYThe stored key. Useful in CI without a login.
NINOO_BASE_URLGateway URL.
NINOO_WEB_URLThe web app used by ninoo login.
NINOO_MODELModel or mode.

Troubleshooting

Not logged inRun ninoo login.
Invalid API keyThe key was revoked or rotated. Run ninoo login again.
Out of creditsTop up at nicrron.ai/dashboard/credits and rerun; the session's history is preserved.
command not found: ninooAdd export PATH="$HOME/.local/bin:$PATH" to your shell profile.
Could not load the catalogThe gateway was unreachable when /model opened; the nicrron/* modes are still offered. Check your network or --base-url.

Still stuck? Email support@nicrron.ai.