Skip to main content

First Run

Starting the REPL

bunx @algiras/ak-coder

You'll see the Ink UI banner with model, workspace, and keyboard hints:

╭──────────────────────────────────────╮
│ ak-coder v0.1.8 │
│ model gemma3:4b │
│ cwd my-project │
╰──────────────────────────────────────╯
/help for commands · Shift+Tab cycles modes · Ctrl+R history

Slash commands

CommandDescription
/helpList commands and loaded skills
/newStart a new conversation (clears history)
/providersList or switch LLM providers
/modelSwitch model (interactive picker when Ollama is available)
/plan onEnable planning mode — no writes or commands
/plan offReturn to normal execution
/plan listList saved plan files
/plan show <file>Display a saved plan
/agent <role> | <task>Spawn a sub-agent for a focused task
/historyList saved sessions for this workspace
/resumeResume a previous session (this workspace only)
/forkFork the current session at a turn
/rewindRewind conversation to an earlier turn
/skillsList loaded skills
/skills reloadRescan workspace for SKILL.md files
/contextDump session, tools, skills, and system prompt
/settingsView or edit config keys
/statsToken and latency summary
/budgetLifetime and recent spend
/diffShow unstaged git diff
/pingCheck LLM endpoint latency
/exitExit the REPL

Skills appear in /help and are invoked as /skills:<name> (e.g. /skills:review). Press Tab after /skills or /skills: for completion. A legacy /skillname form also works.

Sessions are stored under ~/.ak-coder/history/workspaces/<folder>-<hash>/ — only sessions from the directory you started ak-coder in appear in /history.

Keyboard shortcuts

KeyAction
Shift+TabCycle confirmation mode (defaultplan)
Ctrl+RFuzzy search input history
Ctrl+CInterrupt in-flight request (or clear input / exit)
TabComplete slash commands and /skills:<name>
!cmdRun shell command without sending to agent

For stuck prompts or missing tool activity, run with --debug — see Configuration: Debug logging.

Your first conversation

> Read the files in src/ and summarize what this project does

The agent will call list_directory and read_file, then summarize. Read-only tools like these can run in parallel when the LLM requests several at once.

Confirmation policy

By default ak-coder prompts before file writes and unsafe shell commands. Safe read-only commands (ls, git status, etc.) run automatically.

ActionHow
Plan mode (no mutations)/plan on or Shift+Tab until mode shows plan, or start with ak-coder --plan
Normal mode (prompt before writes)/plan off or Shift+Tab until mode shows default
Approve a single actionUse the permission prompt in the UI
Approve all similar this sessionChoose "approve all" in the write or bash confirmation dialog

The core engine supports additional presets (yolo, confirm-writes, confirm-commands) for programmatic use and evals — see ADR 05: Confirmation Policy.

Working with your codebase

Run ak-coder from your project root. It uses the current directory as the workspace — all file tools operate relative to it.

cd ~/my-project
bunx @algiras/ak-coder
> Add TypeScript strict mode to tsconfig.json

Project-level overrides can live in .ak-coder/config.json — see Configuration.

One-shot and piping modes

# Single prompt argument
bunx @algiras/ak-coder "Summarize this repo"

# Pipe context on stdin
cat README.md | bunx @algiras/ak-coder "Summarize this document"