Skip to content

Getting Started

Get Fermi running in under a minute. Three commands — install, configure, launch.

Fermi TUI — sub-agent spawning, build verification, and live context stats

Platform: macOS (Apple Silicon) / Linux (x86_64) / Windows (x64).

curl -fsSL https://raw.githubusercontent.com/FelixRuiGao/Fermi/main/scripts/install.sh | sh
irm https://raw.githubusercontent.com/FelixRuiGao/Fermi/main/scripts/install.ps1 | iex

Single self-contained binary — no Bun, Node, or other runtime required. The installer extracts to ~/.fermi/bin/ and adds it to your PATH.

Open a new terminal (or run source ~/.zshrc) before continuing — the PATH change does not apply to the shell that ran the installer.

The init wizard walks you through provider selection, API key configuration, and model selection:

fermi init

The wizard will:

  1. Show supported providers (Anthropic, OpenAI, OpenAI ChatGPT Login, GitHub Copilot, DeepSeek, Kimi, MiniMax, GLM, Xiaomi, Qwen, Ollama, oMLX, LM Studio, OpenRouter).
  2. Prompt for API keys or OAuth login.
  3. For local providers (Ollama, oMLX, LM Studio), auto-discover available models from the running server.
  4. Let you pick a default model.

Your provider/model selection is saved to ~/.fermi/settings.json (plus ~/.fermi/state/model-selection.json). API keys are stored in ~/.fermi/.env with 0600 permissions.

Re-run fermi init at any time to add providers or change your default model.

fermi

Type a task and press Enter. The agent will explore, plan, and execute.

CommandDescription
/modelSwitch model/provider at runtime
/summarizeCompress older context to free space
/compactFull context reset with continuation summary
/rewindRoll back to a previous turn (alias: /undo)
/sessionResume a previous session (alias: /resume)
/permissionSet permission mode (read_only / reversible / yolo)
/tierConfigure sub-agent model tiers
/skillsEnable/disable installed skills
/mcpShow MCP server status and tools
/forkFork current session into a new branch
/newStart a new session
/helpShow all commands and shortcuts

See Slash Commands for the full reference.

Fermi manages context through three cooperating layers:

LayerTriggerWhat happens
Hint compressionContext reaches ~60% / ~80%System nudges the agent to summarize older segments
Agent summarizationAgent decides (or user runs /summarize)Agent inspects context map, surgically compresses selected blocks
Auto-compactContext reaches ~85-90%Full reset with continuation prompt — agent resumes seamlessly

In most sessions you will not need to intervene. The three layers handle it automatically.

See Context Management for details.

fermi # Start with auto-detected config
fermi init # Run setup wizard
fermi update # Check GitHub Releases and stage the latest version
fermi update --check # Check for updates without staging
fermi --resume <id> # Resume a specific session by ID
fermi -c key=value # Override a setting for this session
fermi oauth # Log in via OAuth (prompts for Codex or Copilot)
fermi oauth status # Check OAuth login status (both services)
fermi oauth logout # Log out (prompts for which service)
fermi sessions # List saved sessions (add --json for machine output)
fermi fix # Check and repair session storage
fermi --templates <path> # Use a specific templates directory
fermi --verbose # Enable debug logging
fermi --version # Show version

Fermi checks GitHub Releases for new versions in the background (at most once every 24 hours). When a new version is available it downloads to ~/.fermi/staged/, and the next time you launch fermi the new binary is applied automatically.

  • fermi update — check and stage the latest version manually; restart to apply it
  • /autoupdate — toggle background update checks (on/off, persists in global settings)

Fermi does not sandbox shell commands or file edits. It executes commands and writes files directly. The /permission command lets you set the mode:

  • read_only — only read tools auto-allowed; everything else asks for approval
  • reversible — read + reversible writes auto-allowed
  • yolo — everything auto-allowed except catastrophic operations

Two AGENTS.md files are folded into the system prompt (present every turn) and survive compact resets:

  • ~/.fermi/AGENTS.md — global preferences across all projects
  • <project>/AGENTS.md — project-specific patterns, conventions, and decisions

The agent reads these automatically and can write to them when you ask it to save knowledge for future sessions.