Code Agent CLI
noetic — the interactive terminal coding agent built on the framework.
noetic is an interactive coding agent that runs in your terminal. You drop a noetic.config.ts in your repo, run noetic, and chat with an LLM that has read/write/edit/bash/grep/find/ls/lsp tools, plus a sub-agent system, persistent sessions, and a background daemon for long-running task automation.
It is built on top of @noetic/core — every long-lived behavior (the autopilot loop, validator queue, worktree reaper, file-watcher reconciler) is a Step composition. You can extend it without forking by writing a plugin.
Install
npm i -g @noetic/cli
# or: bun add -g @noetic/cliYou also need an OpenRouter API key in OPENROUTER_API_KEY (or NOETIC_API_KEY).
First run
cd path/to/your/project
noeticIf no config file is found, the CLI uses CLI-arg defaults: model anthropic/claude-sonnet-4, max turns 50, and the OpenRouter key from your environment. The TUI launches and you can start chatting.
For anything beyond a one-shot trial, write a noetic.config.ts:
import type { AgentConfig } from '@noetic/cli';
export default {
model: 'anthropic/claude-sonnet-4',
apiKey: process.env.NOETIC_API_KEY!,
cwd: process.cwd(),
maxTurns: 100,
} satisfies AgentConfig;See Configuration for the full schema.
Mental model
Three layers stack to make up a session:
- The TUI (Ink + React) renders the chat, autocomplete, slash commands, and modals (ask-user, plan approval, model picker, session resume).
- The harness is a
AgentHarnessfrom@noetic/coreconfigured with a tool pool, memory layers, skills, and an OpenRouter LLM client. Each user turn drives one harness execution. - The daemon (optional) is a separate long-lived process that runs the task system — autopilot, validator, health, reconcile flows — alongside your interactive sessions.
What you can configure
Each surface has its own page:
- Configuration —
noetic.config.tsschema, discovery order, env vars, built-in commands, built-in tools. - AGENT.md — project & user instruction files surfaced into every turn.
- Rules — granular
.agent/rules/*.mdfiles attached to AGENT.md. - Hooks — worktree lifecycle hooks (
pre-start,post-start,post-merge,pre-remove). - Skills — markdown + YAML personas, sub-agent presets, slash-command-invocable workflows.
- Plugins — npm-installable extensions that contribute tools, memory layers, skills, commands, footer UI, sub-agent presets, reminder triggers, and language servers.
- Custom flows — programmatic state machines composed from
every/fork/spawn/branch/step.run, plus plan-mode JSON flows. - Tasks — the unified
noetic taskssystem: hierarchies, kanban, autopilot, validator runs.