atria-code
v1.0.14
Published
Coding agent CLI with read, bash, edit, write tools and session management
Downloads
4,009
Readme
atria
atria is a terminal coding agent. You give it a task in plain language; it reads files, runs shell commands, edits code, and writes new files in your working directory, asking for permission before mutating anything. It keeps a minimal, extensible core — TypeScript extensions, skills, prompt templates, and themes — and ships the product features on top as built-in extensions: a permission system, in-process subagents with workflow orchestration, an MCP client, web tools, an opt-in todo list with a task panel, and hierarchical .atria configuration.
atria runs in four CLI modes: interactive (TUI), print, JSON event stream, and RPC over stdin/stdout. The source workspace also exposes an SDK for embedding in Node.js applications; the published npm package contains the native CLI only.
Highlights
- Permissions - four modes (default, accept-edits, plan, yolo); confirmation dialogs for shell commands, file mutations, subagents, and MCP tools; persistent allow/deny rules like
bash(git push *); Alt+M cycles modes. See docs/permissions.md. - Subagents - delegate work to background agents (single, parallel, or chained), running in-process for fast startup; fork the parent conversation; continue finished agents; agent definitions in
agents/directories. See docs/subagents.md. - Workflows - deterministic JS orchestration scripts running many subagents in a sandbox, with phases, budgets, journaling, and resume. See docs/workflows.md.
- MCP client - stdio and streamable HTTP servers via project
.mcp.jsonand global~/.atria/mcp.json;/mcpfor status. See docs/mcp.md. - Web tools -
web_fetch(URL to markdown) andweb_search. See docs/tools.md. - Task tracking - an opt-in
todo_writelist (ATRIA_ENABLE_TODO_TOOLS=1) rendered above the editor, and a task panel showing running background work. - Interactive TUI - mouse support (click, drag-select, scroll), session tree navigation, theming, message queueing while the agent works, and ephemeral
/btwside questions that do not alter the main conversation. - Hierarchical project resources - skills, prompts, themes, extensions, agents, and workflows load from
~/.atriaplus.atria/in the working directory and every ancestor directory; nearest wins name conflicts. Every hierarchical.atria/ATRIA.mdis concatenated into project context. Settings, system-prompt files, and MCP configuration use narrower scopes documented in Configuration Layout. - Sessions - JSONL session files with in-place branching (
/tree,/fork,/clone) and automatic context compaction. See docs/sessions.md. - Extensible - custom tools, commands, event handlers, and UI via TypeScript extensions; reusable skills and prompt templates; custom themes. See docs/extensions.md.
Installing and running atria
Install the published native CLI from npm (Node.js >= 22.19.0):
npm install -g atria-code
atriaFor development, run directly from a source checkout:
cd /path/to/atria-code
npm install --ignore-scripts
./dev.shSee docs/quickstart.md for installation details, source development, first-start project trust, and authentication (/login or provider API-key environment variables such as ANTHROPIC_API_KEY).
Documentation
Full index: docs/index.md
Start here
- Quickstart - install or run from source, authenticate, first session.
- Using atria - interactive mode, slash commands, mouse, CLI reference.
Features
Configuration
- Config layout
- Settings
- Providers
- Custom models / Custom providers
- Keybindings
- Themes
- Skills
- Prompt templates
Extending & internals
- Architecture
- Development
- Extensions
- SDK
- Packages
- RPC mode / JSON mode
- TUI components
- Session format
- Security
Platform setup: Windows | Termux | tmux | Terminal setup | Shell aliases
Fork lineage
atria is a fork of earendil-works/pi. It retains pi's layered architecture — atria-tui (terminal UI), atria-ai (LLM providers and streaming), and atria-agent (the agent loop) — plus its extension model. Most atria product features live as built-in extensions in this package (src/core/builtin-extensions/); lower layers change only when terminal behavior, provider protocol normalization, or agent-loop semantics belong there. See docs/architecture.md.
License
MIT
