atris is an operating system for AI work. It turns any repo into a workspace an agent can actually operate: shared context it reads before it acts, a plan -> do -> review loop, durable tasks and daily logs, and verification that ends work on a real check instead of a promise.
Every owner gets persistent computers to run it:
Owner = User | Business
Owner has many Computers
Computer = workspace + files + tools + secrets + memory + agents + validation loop
A computer can be personal or shared by a business. It can run a job like code, research, CRM, reporting, recruiting, event ops, support, or business ops.
If you're an agent, run:
atrisThen read the workspace's atris/atris.md and follow it exactly. atris.md is the source of truth.
- An AI workspace on top of any repo
- Persistent AI computers for scoped jobs
- A local computer card that makes each workspace inspectable
- A strict
plan -> do -> reviewloop - Daily logs, task tracking, feature packs, and project memory
- Skills, team members, integrations, and cloud sync when you need them
- A plain-English answer to "what did my AI actually do?" — run
atris recap(add--sharefor a paste-ready summary backed by receipts)
| File | Purpose |
|---|---|
atris/atris.md |
Main instructions for agents working in this repo |
atris/MAP.md |
Navigation index with file:line refs |
atris/TODO.md |
Human-readable task view |
atris/logs/YYYY/YYYY-MM-DD.md |
Daily log, inbox, notes, completions |
atris/features/ |
Feature packs with idea.md, build.md, validate.md |
atris/skills/ |
Reusable skills for agents |
atris/team/ |
Team member specs and local context |
atris/
├── atris.md
├── MAP.md
├── TODO.md
├── logs/
├── features/
├── skills/
└── team/
npm install -g atris
atris --versionRequires Node.js 18+.
atris task uses built-in SQLite and requires Node.js 22+.
If you want Atris cloud workspaces, businesses, or integrations, run atris setup after install.
cd your-project
atris init
atrisatris init scaffolds the workspace, including atris/wiki/. atris loads context and hands the workflow off to atris/atris.md.
If you're still shaping the idea, use atris brainstorm. If you want Atris to keep cycling, use atris run or atris autopilot. If you want project memory checked for stale pages and missing context, use atris loop. atris activate surfaces wiki state from atris/wiki/STATUS.md when it exists.
Core loop: plan -> do -> review
Integrates with any agent.
ax is the local Atris 2 coding-agent CLI. It talks to a local AtrisOS backend (default http://127.0.0.1:8000), streams text, shows tool activity, and sends the current folder as the workspace.
cd your-project
ax --pro "find the task system and explain it"
ax --fast "what files are here?"
ax --max "refactor this module and verify the tests"
ax --pro --chat
ax --doctorUse Pro for agentic file work and edit/test loops. Use Fast for quick workspace search, short chats, and small edits. Use Max for the hardest jobs — it runs the highest-reasoning model and takes longer per turn.
AgentXP is the proof-backed game loop for getting better with agents. Start it inside any project folder:
npm exec --yes --package atris@latest -- atris playThe first run creates a local starter mission if one does not exist. The loop is:
start -> proof -> accept -> login -> sync
The player path:
atris play
atris task claim <mission-ref> --as game-manager
atris task ready <mission-ref> --as game-manager --proof "<artifact path + verifier result>"
atris task accept <mission-ref> --as justin --proof "<human review>"
atris xp card --local
atris login
atris xp sync --localThe manager path:
atris gm --player justinNo proof, no AgentXP. atris task done --proof records review/RL context, but
only human atris task accept mints Career XP for the local card or hosted
leaderboard.
If you want a shared owner for a company, lab, collective, community, artist, team, or project, use the business command instead of raw atris init.
atris business init "BLOND:ISH" --owner-email joel@blondish.world
cd ~/arena/atris-business/blondish
atris business onboard --website https://blondish.world --contact "Joel Zimmerman" --note "artist-led brand and ticket sales"
atris align --fixThat creates the shared owner, creates its first/default computer, writes .atris/business.json, initializes .atris/state/ for events and run history, and scaffolds the local atris/ workspace under ~/arena/atris-business/<slug>/ with starter roles, a default recap template, and an initial task queue in atris/TODO.md.
If you do not have a neat source pack yet, atris business onboard is the easiest intake step: give it a website, a named human, a few notes, or run it in a folder with loose files. Atris turns that into raw intake, a starter brief, a first workflow, a safe next action, and a short operator brief.
Use the owner's language when you talk about it:
Your business runs on Atris.
Your lab runs on Atris.
Your collective runs on Atris.
You can also use bare input:
atris business onboard https://example.com "founder-led b2b ops" ./notes.mdIf you already have a folder full of source material, run it from there with atris business init "BLOND:ISH" --here.
When the first recap is done, record it into the RL state logs:
atris business record atris/reports/2026-04-12-operator-recap.md --outcome mixed --metric "operator speed"| Command | Purpose |
|---|---|
atris |
Load context and start |
atris init |
Scaffold an Atris workspace |
atris brainstorm |
Explore before planning |
atris plan |
Create the plan/spec |
atris do |
Execute work |
atris review |
Validate work and capture learnings |
atris run |
Auto-chain plan -> do -> review |
atris autopilot |
Guided loop with approvals |
atris log |
Add inbox items to today's journal |
atris status |
Show active work and completions |
atris task |
Durable local task state and the agent work loop |
atris play |
Enter the AgentXP player loop for one proof-backed mission |
atris gm |
Enter AgentXP General Manager mode for player missions and review queues |
atris xp |
Show the local AgentXP card and sync eligible proof to the hosted leaderboard |
atris codex-goal |
Inspect or clear a completed native Codex thread goal after writing a backup, row dump, and receipt |
atris learn |
Manage structured learnings |
atris ingest |
Stage raw evidence into atris/context/ and compile into atris/wiki/ |
atris loop |
Refresh wiki health, stale/orphan signals, and next ingest candidates |
atris wiki |
Full wiki namespace: ingest, query, lint, search, log, and loop |
atris receipt |
Save evidence from an agent run |
atris experiments |
Run small experiments and compare results |
atris computer card |
Show or write the local owner/computer card |
atris learnstores structured project memory inatris/learnings.jsonlatris wikikeeps repo memory inatris/wiki/by default, with--cloudwhen you want the remote workspace pathatris ingestnow stages local source packs underatris/context/_ingest/, writes a manifest receipt, and refreshesatris/wiki/STATUS.mdpluslog.mdatris wiki --privatestores local-only sensitive notes under.atris/presidio/atris looprefreshesatris/wiki/STATUS.mdandatris/wiki/log.md, flags stale/orphan pages, and suggests the next ingestatris activateloads the current wiki status so the next session starts with project memory, not just tasksatris memberkeeps team-member identity and learning local-first:MEMBER.mdis the role contract,goals.jsonis the machine-readable goal/experiment state,goals.mdis the human readout, andlogs/YYYY-MM-DD.mdrecords what happened. Useatris member goal,tick,status,block, andreview --value 1..5to test whether a member is making useful progress or needs the operator/orchestrator.atris codex-goalis the guarded bridge for native Codex/goal:statusreads~/.codex/state_5.sqlite, whilereset --thread <id> --confirm-complete-goal-resetbacks up the DB, dumps the exact completedthread_goalsrow, deletes only that completed row, and writes a receipt. The next native goal must still be created by the live Codex thread; Atris Mission/member goals remain the durable loop state.atris taskkeeps durable local task state and append-only events for agents;atris/TODO.mdis just a regenerated readable board. Run the loop withatris task new,delegate "..." --to <owner>,next,say, andready <id> --proof "..."; human approval isatris task accept <id>(moves to Done, awards Career XP) orrevise <id> --note "...". Add--jsonfor headless agents,atris task servefor the local board, andatris task show <ref>/events --allfor the full ledger. Commands accept semantic refs (OBL-18), full IDs, or any unique prefix. In cloud business workspaces, Supabasetasksis the source of truth and Swarlo the live claim layer.atris experimentsruns small test packs inatris/experiments/atris pullandatris pushsync cloud workspaces and journalsatris livekeeps a business brain fresh by checking/fixing the workspace, pushing local state, pulling cloud state, and pushing again after local changes go quiet
Under the hood, Atris can keep score on real repo work.
- Tasks can carry a
Verify:command, so work can end on a deterministic check instead of pure prose. - Plan, do, and review now carry the same Confidence Gate: find every plausible loophole, patch it with source/proof/verifier/owner/rollback, or name it as residual risk before advancing.
atris autopilotcan run that check after review and record the result in the journal.- Future task picks can use recent results, so Atris learns from repo-local history without claiming model retraining.
Atris ships one public head-to-head benchmark harness for comparing a pinned single-model baseline against a coordinated stack run on the same task brief.
Quickstart:
node bin/atris.js experiments validate endstate-baseline
node bin/atris.js experiments validate endstate-stack
node bin/atris.js experiments run endstate-baseline --dry-run
node bin/atris.js experiments run endstate-stack --dry-run
node bin/atris.js experiments compare endstateOne-command rehearsal:
node bin/atris.js experiments replay endstateWhat to inspect:
- receipts land in
atris/experiments/endstate-baseline/artifacts/andatris/experiments/endstate-stack/artifacts/ - scores append to each pack's
results.tsv atris experiments compare endstateprints the latest side-by-side comparisonatris experiments replay endstateruns the full public dry-run rehearsal- the benchmark contract lives at
atris/features/endstate/contract.md - the verification log lives at
atris/features/endstate/validate.md
The stack wins Level 1 only if it beats the baseline on total score and does not lose the reviewed completion category.
Atris ships a real skill catalog in atris/skills/, not just one workflow file.
Examples:
atris,autopilot,autoresearch,wiki,loopbackend,design,copy-editor,meta,writinggithub,email-agent,calendar,drive,slack,notion,slides,x-search,youtube,rampapps,create-app,create-member,memory,magic-inbox,improve,skill-improver,flow
atris skill list
atris skill audit [name]
atris skill fix [name]
atris skill create <name>
atris skill link [--all]For Codex, copy any skill folder into ~/.codex/skills/.
- Staleness gate — tasks tagged
[unverified]are skipped at the moment of use, not pruned eagerly. Three-state model: actionable / unverified / deleted. - Lesson gate —
isLessonResolvedchecks whether a lesson already shipped before proposing new work from it. Prevents the loop from re-solving solved problems. atris release— new command: tags the version, bumps package.json, creates a GitHub release, and drafts a/launchpost in one shot.- Shell injection fix —
checkStalenessswitched fromexecSyncstring interpolation toexecFileSyncwith args arrays. Markdown-derived content (task titles, inbox items) no longer reaches a shell. - Codex hardening —
atris activateandatrisentry point detect Codex environments and writeAGENTS.mdso Codex sessions start with workspace context.
atris upgrade # Install latest from npm
atris update # Sync local workspace files to new versionLicense: MIT | Repo: github.com/atrislabs/atris