atris 3.31.0 → 3.33.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -4
- package/atris/CLAUDE.md +8 -0
- package/atris.md +8 -0
- package/ax +458 -15
- package/bin/atris.js +200 -76
- package/commands/autoland.js +78 -12
- package/commands/autopilot-front.js +273 -0
- package/commands/engine.js +299 -0
- package/commands/init.js +21 -0
- package/commands/integrations.js +147 -0
- package/commands/member.js +85 -0
- package/commands/mission.js +500 -43
- package/commands/run-front.js +144 -0
- package/commands/run.js +9 -6
- package/commands/sign.js +90 -0
- package/commands/task.js +380 -20
- package/commands/truth.js +72 -11
- package/lib/autoland.js +133 -25
- package/lib/fleet.js +354 -0
- package/lib/inspect-fields.js +174 -0
- package/lib/operator-next.js +7 -0
- package/lib/pulse.js +4 -3
- package/lib/runner-command.js +54 -11
- package/lib/task-db.js +57 -2
- package/package.json +3 -2
- package/scripts/agent_worktree.py +72 -0
package/README.md
CHANGED
|
@@ -12,6 +12,14 @@ Computer = workspace + files + tools + secrets + memory + agents + validation lo
|
|
|
12
12
|
|
|
13
13
|
A computer can be personal or shared by a business. It can run a job like code, research, CRM, reporting, event ops, support, or business ops.
|
|
14
14
|
|
|
15
|
+
## Quick Start
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install -g atris
|
|
19
|
+
cd your-project
|
|
20
|
+
atris init && atris
|
|
21
|
+
```
|
|
22
|
+
|
|
15
23
|
## For Coding Agents
|
|
16
24
|
|
|
17
25
|
**Read [`FOR_AGENTS.md`](FOR_AGENTS.md) first** — why agents adopt Atris, 60-second start, spread-it instructions.
|
|
@@ -47,6 +55,7 @@ Then read the workspace's `atris/atris.md` and follow it exactly. `atris.md` is
|
|
|
47
55
|
| `atris/features/` | Feature packs with `idea.md`, `build.md`, `validate.md` |
|
|
48
56
|
| `atris/skills/` | Reusable skills for agents |
|
|
49
57
|
| `atris/team/` | Team member specs and local context |
|
|
58
|
+
| `atris/wiki/` | Repo memory, briefs, concepts, and wiki health |
|
|
50
59
|
|
|
51
60
|
```text
|
|
52
61
|
atris/
|
|
@@ -56,7 +65,8 @@ atris/
|
|
|
56
65
|
├── logs/
|
|
57
66
|
├── features/
|
|
58
67
|
├── skills/
|
|
59
|
-
|
|
68
|
+
├── team/
|
|
69
|
+
└── wiki/
|
|
60
70
|
```
|
|
61
71
|
|
|
62
72
|
## Install
|
|
@@ -81,7 +91,7 @@ atris
|
|
|
81
91
|
|
|
82
92
|
`atris init` scaffolds the workspace, including `atris/wiki/`. `atris` loads context and hands the workflow off to `atris/atris.md`.
|
|
83
93
|
|
|
84
|
-
If you're still shaping the idea, use `atris brainstorm`. If you want
|
|
94
|
+
If you're still shaping the idea, use `atris brainstorm`. If you want one bounded mission pursued to proof, use `atris run "<objective>"`. If you want Atris to keep picking the next mission or member until you say stop, use `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.
|
|
85
95
|
|
|
86
96
|
Core loop: `plan` -> `do` -> `review`
|
|
87
97
|
|
|
@@ -186,14 +196,14 @@ atris business record atris/reports/2026-04-12-operator-recap.md --outcome mixed
|
|
|
186
196
|
| `atris plan` | Create the plan/spec |
|
|
187
197
|
| `atris do` | Execute work |
|
|
188
198
|
| `atris review` | Validate work and capture learnings |
|
|
189
|
-
| `atris run` |
|
|
199
|
+
| `atris run` | One bounded mission pursuit: start or resume, tick, complete (`--legacy` for the old plan/do/review chain) |
|
|
190
200
|
| `atris run logs` | Browse glass run logs (phase reasoning persisted to disk) |
|
|
191
201
|
| `atris run prune-logs` | Prune old run logs, keeping only the most recent N |
|
|
192
202
|
| `atris run search` | Search phase reasoning across all run logs by keyword |
|
|
193
203
|
| `atris run stats` | Show run log stats: phase counts, avg durations |
|
|
194
204
|
| `atris run export` | Export all run logs as a JSON bundle |
|
|
195
205
|
| `atris run diff` | Compare two run logs side by side |
|
|
196
|
-
| `atris autopilot` |
|
|
206
|
+
| `atris autopilot` | Keep the workspace moving: mission/member legs until `atris autopilot stop` (`--legacy` for the old approval loop) |
|
|
197
207
|
| `atris pulse` | Install or run the durable overnight heartbeat |
|
|
198
208
|
| `atris log` | Add inbox items to today's journal |
|
|
199
209
|
| `atris now` | Show the current operating truth |
|
|
@@ -232,6 +242,38 @@ atris business record atris/reports/2026-04-12-operator-recap.md --outcome mixed
|
|
|
232
242
|
- `atris pull` and `atris push` sync cloud workspaces and journals
|
|
233
243
|
- `atris live` keeps a business brain fresh by checking/fixing the workspace, pushing local state, pulling cloud state, and pushing again after local changes go quiet
|
|
234
244
|
|
|
245
|
+
## Engines
|
|
246
|
+
|
|
247
|
+
An engine is the intelligence that builds a mission. Every installed headless coding CLI is a swappable worker behind one contract: a bounded prompt goes in, verified proof comes out, and engines never self-certify their own work. The house default is `atris-fast` (`ax`); the roster also covers `claude`, `codex`, `cursor`, and `devin` when their CLIs are installed.
|
|
248
|
+
|
|
249
|
+
Show the roster and the current default:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
atris engine
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Flip the default for this workspace (persists to `.atris/engine.json`):
|
|
256
|
+
|
|
257
|
+
```bash
|
|
258
|
+
atris engine cursor
|
|
259
|
+
atris engine reset # back to the house default (atris-fast)
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
Ride a different engine for one run only, without changing the default. `--engine <name>` works on `mission run`, `autopilot`, and `run`. Per-run flags and `ATRIS_RUNNER_PROFILE` always beat the saved file.
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
atris mission run "fix the flaky login test" --engine codex
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### Fleet Flight
|
|
269
|
+
|
|
270
|
+
`atris mission run --fleet` staffs every idle installed engine on the board's claimable safe-lane tasks — one mission per task, one worktree per engine. Builds run in parallel; arrivals land serially with rebase-before-ship, so a rebase conflict pauses that landing (never auto-resolved) and keeps its worktree instead of orphaning work. Each flight writes a receipt to `atris/runs/fleet-<stamp>.json`.
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
atris mission run --fleet --slots 3 # staff up to 3 engines
|
|
274
|
+
atris mission run --fleet --dry-run # preview the staffing only
|
|
275
|
+
```
|
|
276
|
+
|
|
235
277
|
## Verifiable Feedback Loop
|
|
236
278
|
|
|
237
279
|
Under the hood, Atris can keep score on real repo work.
|
package/atris/CLAUDE.md
CHANGED
|
@@ -90,6 +90,14 @@ release/publish work; clean old merged worktrees with `atris worktree cleanup`.
|
|
|
90
90
|
|
|
91
91
|
If the task produces durable project knowledge, update `atris/wiki/` or run the local wiki flow (`atris ingest`, `atris query`, `atris lint`).
|
|
92
92
|
|
|
93
|
+
## How to Report
|
|
94
|
+
|
|
95
|
+
The human approves work by reading, so how you report IS the product.
|
|
96
|
+
|
|
97
|
+
- **Results are capabilities.** State what someone can do now that they couldn't before, then what it means for them or the business. Tests are one word ("verified"). Shape: "We did X, so you can now Y." Detail stays under the hood; the reader asks if they want more.
|
|
98
|
+
- **Three results, air between them, rest on ask.** A report fits one screen with no scrolling.
|
|
99
|
+
- **Stake first, then the move.** "Agents burn tokens hand-rolling parsers: add one shared view." Flags, ids, and identifiers belong in the body, never the headline.
|
|
100
|
+
|
|
93
101
|
## Rules (Non‑Negotiable)
|
|
94
102
|
|
|
95
103
|
- Plan = ASCII visualization + approval gate. Do not execute during planning.
|
package/atris.md
CHANGED
|
@@ -80,6 +80,14 @@ The same discipline for words. Output stays sharp no matter how bloated the cont
|
|
|
80
80
|
- **Cut filler.** Drop "it's worth noting", "in order to", "leverage", "seamless", "robust", "delve", stacked hedges, and em dashes. `atris slop` flags the prose tells (em-dash, hype-copy) too.
|
|
81
81
|
- **Bound verbosity by information, not context.** Say the load-bearing thing and stop. Length tracks what the reader needs to act, nothing more.
|
|
82
82
|
- **Match the register.** The operator wants the next move; a spec wants the contract; a journal wants one line. Jargon is a lever only when shared: use the reader's precise terms, define a new one once.
|
|
83
|
+
- **Specific AND workable.** Vocabulary carries both: precise enough that another agent can act on it, plain enough that the operator gets it on a phone. A sentence only one of those audiences can use is half-written.
|
|
84
|
+
- **Every queue item earns its surface.** Anything an operator might see (task title, mission objective, roadmap item, tick summary) carries its own why in the same sentence: what it costs to skip, or what it buys. "Agents burn tokens hand-rolling state parsers: add one shared inspect view" surfaces; "novel goal-chain demo" does not. Digests refuse raw titles that can't explain themselves.
|
|
85
|
+
- **Day-one PM test.** Every sentence that reaches an operator must make sense to a PM who joined the company this morning: no internal codenames, no problem-titles standing in for results. If they'd have to ask "what does that mean?", the sentence is unfinished. Detail stays one ask away, always.
|
|
86
|
+
- **Results are capabilities, not test counts.** When work lands, the sentence states what someone can do now that they couldn't before, then what it means for them or the business. Tests are one word ("verified"); the meaning is the sentence. Copy these shapes:
|
|
87
|
+
- "One word now runs the work: `atris autopilot` picks the next mission and keeps going until you say stop. Autonomy stopped being a setup and became a feature."
|
|
88
|
+
- "Missions survive everything: one engine starts the work, another picks it up cold, a third lands it. Work is no longer tied to a chat window, a session, or a vendor."
|
|
89
|
+
- "The system reports in plain English: one daily message with what landed, what waits on you, and who should own what's next. One person can supervise many projects."
|
|
90
|
+
- **Fit the screen.** An operator-facing report shows three results, air between them, and holds the rest on ask. No scrolling: reading it is one glance, and the reader asks for more if they want more.
|
|
83
91
|
|
|
84
92
|
`expected`: this is how an Atris agent writes and builds. Shipping slop or rambling is a failure smell, same as drift or a stale task.
|
|
85
93
|
|