atris 2.1.0 → 2.2.1

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.
Files changed (44) hide show
  1. package/AGENT.md +35 -0
  2. package/AGENTS.md +46 -0
  3. package/GETTING_STARTED.md +2 -2
  4. package/PERSONA.md +5 -1
  5. package/README.md +16 -8
  6. package/atris/AGENTS.md +25 -0
  7. package/atris/GEMINI.md +8 -0
  8. package/atris/GETTING_STARTED.md +2 -2
  9. package/atris/atris.md +4 -3
  10. package/atris/features/README.md +41 -15
  11. package/atris/policies/LESSONS.md +1 -0
  12. package/atris/skills/README.md +45 -14
  13. package/atris/skills/atris/SKILL.md +7 -0
  14. package/atris/skills/autopilot/SKILL.md +9 -4
  15. package/atris/skills/autopilot/atris-autopilot.md +71 -0
  16. package/atris/skills/autopilot/hooks/stop-hook.sh +79 -0
  17. package/atris/skills/backend/SKILL.md +6 -1
  18. package/atris/skills/calendar/SKILL.md +301 -0
  19. package/atris/skills/clawhub/atris/SKILL.md +121 -0
  20. package/atris/skills/copy-editor/SKILL.md +470 -0
  21. package/atris/skills/design/SKILL.md +5 -1
  22. package/atris/skills/drive/SKILL.md +333 -0
  23. package/atris/skills/email-agent/SKILL.md +376 -0
  24. package/atris/skills/memory/SKILL.md +8 -0
  25. package/atris/skills/meta/SKILL.md +4 -0
  26. package/atris/skills/skill-improver/SKILL.md +147 -0
  27. package/atris/skills/writing/SKILL.md +3 -0
  28. package/atris/team/brainstormer.md +1 -0
  29. package/atris/team/executor.md +27 -0
  30. package/atris/team/launcher.md +1 -0
  31. package/atris/team/navigator.md +44 -5
  32. package/atris/team/validator.md +44 -3
  33. package/atris.md +37 -1
  34. package/bin/atris.js +58 -5
  35. package/commands/auth.js +24 -4
  36. package/commands/init.js +140 -17
  37. package/commands/integrations.js +330 -0
  38. package/commands/skill.js +496 -0
  39. package/commands/status.js +9 -1
  40. package/commands/sync.js +64 -19
  41. package/commands/workflow.js +7 -0
  42. package/package.json +4 -2
  43. package/utils/auth.js +33 -0
  44. package/commands/stubs.txt +0 -10
package/AGENT.md ADDED
@@ -0,0 +1,35 @@
1
+ # AGENT.md
2
+
3
+ This file provides guidance to any coding agent (Claude Code, Cursor, Windsurf, etc) when working with code in this repository.
4
+
5
+ ## Using Atris (If atris/ folder exists)
6
+
7
+ **You are in an Atris-managed project.**
8
+
9
+ **FIRST:** Read `atris/PERSONA.md` and adopt that personality.
10
+
11
+ **Then follow this workflow:**
12
+ 1. **Execute first, research only if needed** — Run commands/tools directly. Don't search docs first—see what happens, then investigate if it fails. Saves context.
13
+ 2. **Before any change:** Read `atris/MAP.md` to find relevant files/components
14
+ 3. **When starting a task:** Check `atris/TODO.md` for existing tasks or add new one
15
+ 4. **After completing task:** Delete task from TODO.md
16
+ 5. **If architecture changes:** Update `atris/MAP.md` with new structure
17
+ 6. **Follow agent workflow:** navigator (find) → executor (build) → validator (verify)
18
+
19
+ **Key files:**
20
+ - `atris/PERSONA.md` - How to communicate and work (READ THIS FIRST)
21
+ - `atris/MAP.md` - Navigation guide (where is X?)
22
+ - `atris/TODO.md` - Active tasks (delete when done)
23
+ - `atris/team/*.md` - Agent specs for reference
24
+
25
+ ---
26
+
27
+ **Quick Start:**
28
+ 1. Read PERSONA.md
29
+ 2. Run `atris activate` to load context (no login or agent selection required)
30
+ 3. Check TODO.md for current work
31
+ 4. Use `atris visualize` to see plans before building
32
+ 5. Use `atris autopilot` when you want the CLI to shepherd plan → do → review loops (optional)
33
+ 6. Use `atris brainstorm` to generate a concise conversation starter before handing ideas to coding agents (optional)
34
+
35
+ Need to chat with Atris cloud agents? Set them up later with `atris agent`, then authenticate once via `atris login`, and finally run `atris chat`.
package/AGENTS.md ADDED
@@ -0,0 +1,46 @@
1
+ # AGENTS.md — Universal Agent Instructions
2
+
3
+ > Works with: Claude Code, Cursor, Codex, Windsurf, and any AI coding agent.
4
+
5
+ ## Quick Start
6
+
7
+ ```bash
8
+ atris
9
+ ```
10
+
11
+ Run this first. Follow the output.
12
+
13
+ ## Core Files
14
+
15
+ | File | Purpose |
16
+ |------|---------|
17
+ | `atris/PERSONA.md` | Communication style (read first) |
18
+ | `atris/TODO.md` | Current tasks |
19
+ | `atris/MAP.md` | Navigation (where is X?) |
20
+
21
+ ## Workflow
22
+
23
+ ```
24
+ PLAN → atris plan (break ideas into tasks)
25
+ BUILD → atris do (execute tasks)
26
+ CHECK → atris review (verify + cleanup)
27
+ ```
28
+
29
+ ## Rules
30
+
31
+ - [ ] 3-4 sentences max per response
32
+ - [ ] Use ASCII visuals for planning
33
+ - [ ] Check MAP.md before touching code
34
+ - [ ] Claim tasks in TODO.md before working
35
+ - [ ] Delete tasks when done
36
+
37
+ ## Anti-patterns
38
+
39
+ - Don't explore codebase manually (use MAP.md)
40
+ - Don't skip visualization step
41
+ - Don't leave stale tasks
42
+ - Don't write verbose docs
43
+
44
+ ---
45
+
46
+ **Protocol:** See `atris/atris.md` for full spec.
@@ -39,9 +39,9 @@ The agent will:
39
39
  0. (Optional) Explore with you conversationally (`atris brainstorm`)
40
40
  1. Show you an **atris visualization** (diagram of the plan)
41
41
  2. Wait for your approval
42
- 3. Create `atris/features/[name]/idea.md` + `build.md`
42
+ 3. Create `atris/features/[name]/idea.md` + `build.md` + `validate.md`
43
43
  4. Execute step by step
44
- 5. Review and update docs (2-pass validation)
44
+ 5. Validate (fill in validate.md, harvest lessons if anything surprised you)
45
45
 
46
46
  💡 Tip: Use `atris brainstorm` if you're exploring options. Use `atris plan` when ready to build.
47
47
 
package/PERSONA.md CHANGED
@@ -28,6 +28,8 @@ This defines how Atris agents communicate, decide, and work.
28
28
 
29
29
  ## Core Workflow
30
30
 
31
+ **Read before you act.** Before planning or building, read the relevant files. Understand the current state. Your first action in any new area is always reconnaissance — not execution.
32
+
31
33
  **Always ask for intent.** Clarify before acting.
32
34
 
33
35
  **Use ASCII visualization to confirm understanding:**
@@ -42,7 +44,9 @@ Then go 3-4 sentences one by one through each task.
42
44
 
43
45
  Once every task is confirmed, create a plan.
44
46
 
45
- **Process:** Complete tasks in order of high reward, low risk first.
47
+ **If a task is too big, break it down.** One job per task. If you can't describe "done" in one sentence, decompose it. Small precise tasks compound into big results.
48
+
49
+ **Process:** Complete tasks in order of high reward, low risk first. Explore first, execute after.
46
50
 
47
51
  Always aim to be efficient and Pareto (80/20).
48
52
 
package/README.md CHANGED
@@ -33,9 +33,9 @@ Then describe what you want to build. The agent will:
33
33
  0. (Optional) Explore with `atris brainstorm` if uncertain
34
34
  1. Show you a visualization
35
35
  2. Wait for approval
36
- 3. Create `atris/features/[name]/idea.md` + `build.md`
36
+ 3. Create `atris/features/[name]/idea.md` + `build.md` + `validate.md`
37
37
  4. Execute step by step
38
- 5. Review and update docs (2-pass)
38
+ 5. Validate (fill in validate.md, harvest lessons if anything surprised you)
39
39
 
40
40
  Commands: `brainstorm` (optional) → `plan` → `do` → `review`
41
41
 
@@ -44,17 +44,25 @@ Works with: Claude Code, Cursor, Windsurf, GitHub Copilot, any agent.
44
44
  ## Update
45
45
 
46
46
  ```bash
47
- npm update -g atris
48
- atris update
47
+ atris upgrade # Install latest from npm
48
+ atris update # Sync local files to new version
49
49
  ```
50
50
 
51
- ---
51
+ ## Skills
52
52
 
53
- ## Latest Updates
53
+ Atris includes agent-agnostic skills that work with Claude, Cursor, Codex, any LLM:
54
54
 
55
+ | Skill | Purpose |
56
+ |-------|---------|
57
+ | atris | Workflow enforcement + plan/do/review |
58
+ | autopilot | PRD-driven autonomous execution |
59
+ | backend | Backend architecture anti-patterns |
60
+ | design | Frontend aesthetics policy |
61
+ | meta | Metacognition for agents |
62
+ | writing | Essay process with approval gates |
55
63
 
56
- See [releases](https://github.com/atrislabs/atris.md/releases) for full changelog.
64
+ Install to Codex: `cp -r atris/skills/[name] ~/.codex/skills/`
57
65
 
58
66
  ---
59
67
 
60
- **License:** MIT | **Repo:** [github.com/atrislabs/atris.md](https://github.com/atrislabs/atris.git)
68
+ **License:** MIT | **Repo:** [github.com/atrislabs/atris](https://github.com/atrislabs/atris.git)
@@ -0,0 +1,25 @@
1
+ # AGENTS.md — atris_team
2
+
3
+ Instructions for coding agents working inside this repository.
4
+
5
+ ## Workflow (Default)
6
+
7
+ 1. Read `atris/PERSONA.md` and follow it (anti-slop, 3–4 sentences, ASCII for planning).
8
+ 2. Run `atris activate` to load the current working context.
9
+ 3. Use `atris/MAP.md` for navigation (file:line refs) when present.
10
+ 4. Track work in `atris/TODO.md` (target state = 0).
11
+ 5. Preferred loop: `atris plan` → `atris do` → `atris review`.
12
+
13
+ ## Repo Layout
14
+
15
+ - `bin/atris.js` — CLI entrypoint + routing + natural-language entry.
16
+ - `commands/` — most command implementations.
17
+ - `lib/` — journal/task/file helpers (`journal`, `file-ops`, `state-detection`).
18
+ - `utils/` — auth/API/config/update-check and cloud execution helpers.
19
+ - `atris.md` — master spec template copied into user projects.
20
+
21
+ ## Notes
22
+
23
+ - `TODO.md` is the current task file; `TASK_CONTEXTS.md` is legacy (fallback only).
24
+ - Feature templates live in `atris/features/_templates/`.
25
+
package/atris/GEMINI.md CHANGED
@@ -12,6 +12,14 @@ atris atris.md
12
12
 
13
13
  This is the Atris boot sequence. Show the output to the user, then respond naturally.
14
14
 
15
+ ## MAPFIRST (Enforced)
16
+
17
+ **Before ANY file search/grep:**
18
+ 1. READ `atris/MAP.md`
19
+ 2. Search for your keyword in MAP
20
+ 3. If found → go directly to file:line
21
+ 4. If not found → grep ONCE, then UPDATE MAP.md
22
+
15
23
  ## Setup
16
24
 
17
25
  - Read `atris/PERSONA.md` (tone + operating rules).
@@ -39,9 +39,9 @@ The agent will:
39
39
  0. (Optional) Explore with you conversationally (`atris brainstorm`)
40
40
  1. Show you an **atris visualization** (diagram of the plan)
41
41
  2. Wait for your approval
42
- 3. Create `atris/features/[name]/idea.md` + `build.md`
42
+ 3. Create `atris/features/[name]/idea.md` + `build.md` + `validate.md`
43
43
  4. Execute step by step
44
- 5. Review and update docs (2-pass validation)
44
+ 5. Validate (fill in validate.md, harvest lessons if anything surprised you)
45
45
 
46
46
  💡 Tip: Use `atris brainstorm` if you're exploring options. Use `atris plan` when ready to build.
47
47
 
package/atris/atris.md CHANGED
@@ -91,9 +91,9 @@ Stage: PLAN → do → review (capitalize current stage)
91
91
  plan → do → review
92
92
  ```
93
93
 
94
- - **PLAN** — ASCII visualization, get approval, NO code yet
95
- - **DO** — Execute step-by-step, update journal
96
- - **REVIEW** — Test, validate, clean up, delete completed tasks
94
+ - **PLAN** — ASCII visualization, get approval, NO code yet. Create `atris/features/[name]/idea.md` + `build.md` + `validate.md` for substantial work.
95
+ - **DO** — Execute build.md step-by-step, update journal
96
+ - **REVIEW** — Fill in validate.md, test, clean up. If anything surprised you, append to `atris/lessons.md`.
97
97
 
98
98
  ---
99
99
 
@@ -141,6 +141,7 @@ Specs loaded at activate from `team/*.md`
141
141
  |------|---------|
142
142
  | `MAP.md` | Where is X? (navigation) |
143
143
  | `TODO.md` | Task queue (target: 0) |
144
+ | `lessons.md` | What we learned (append-only, read by navigator, written by validator) |
144
145
  | `logs/YYYY/MM-DD.md` | Journal (daily) |
145
146
  | `PERSONA.md` | Communication style |
146
147
  | `team/` | Agent behaviors |
@@ -10,15 +10,18 @@ Each feature gets its own folder:
10
10
 
11
11
  ```
12
12
  atris/features/
13
- ├── _templates/ # Templates for new features
14
- │ ├── idea.md.template # Problem, solution, visualization
15
- └── build.md.template # Step-by-step build instructions
13
+ ├── _templates/ # Templates for new features
14
+ │ ├── idea.md.template # Problem, solution, visualization
15
+ ├── build.md.template # Step-by-step build instructions
16
+ │ └── validate.md.template # Proof it works (or didn't)
16
17
  ├── feature-name-1/
17
- │ ├── idea.md # Why we're building this
18
- └── build.md # How to build it
18
+ │ ├── idea.md # Why we're building this
19
+ ├── build.md # How to build it
20
+ │ └── validate.md # Proof it works
19
21
  └── feature-name-2/
20
22
  ├── idea.md
21
- └── build.md
23
+ ├── build.md
24
+ └── validate.md
22
25
  ```
23
26
 
24
27
  ---
@@ -30,7 +33,7 @@ atris/features/
30
33
  Run `atris` or `atris plan` and describe what you want. The agent will:
31
34
  1. Show visualization
32
35
  2. Wait for approval
33
- 3. Create the feature folder with idea.md + build.md
36
+ 3. Create the feature folder with idea.md + build.md + validate.md
34
37
 
35
38
  ### Manual
36
39
 
@@ -41,31 +44,33 @@ If you want to create a feature manually:
41
44
  mkdir atris/features/your-feature-name
42
45
  cp atris/features/_templates/idea.md.template atris/features/your-feature-name/idea.md
43
46
  cp atris/features/_templates/build.md.template atris/features/your-feature-name/build.md
47
+ cp atris/features/_templates/validate.md.template atris/features/your-feature-name/validate.md
44
48
 
45
49
  # Fill in the templates
46
50
  # Edit idea.md (problem, solution, visualization)
47
51
  # Edit build.md (step-by-step implementation)
52
+ # Edit validate.md (proof it works — filled by validator)
48
53
  ```
49
54
 
50
55
  ---
51
56
 
52
57
  ## Workflow
53
58
 
54
- **Navigator Agent:**
59
+ **Navigator Agent (idea.md):**
55
60
  1. Shows visualization
56
61
  2. Gets approval
57
- 3. Creates `idea.md` + `build.md`
62
+ 3. Creates `idea.md` + `build.md` + `validate.md` (from templates)
58
63
  4. Adds entry to this README
59
64
 
60
- **Executor Agent:**
65
+ **Executor Agent (build.md):**
61
66
  1. Reads `build.md`
62
67
  2. Executes step by step
63
68
  3. Updates status as work progresses
64
69
 
65
- **Validator Agent:**
66
- 1. Verifies build matches spec
67
- 2. Runs tests
68
- 3. Updates status to "complete"
70
+ **Validator Agent (validate.md):**
71
+ 1. Fills in `validate.md` — runs every check, records pass/fail
72
+ 2. If all pass → status "complete", lessons learned to journal
73
+ 3. If any fail → status stays "in-progress", lessons learned to journal
69
74
  4. Updates MAP.md if needed
70
75
 
71
76
  ---
@@ -74,12 +79,33 @@ cp atris/features/_templates/build.md.template atris/features/your-feature-name/
74
79
 
75
80
  ### Active Features
76
81
 
77
- (No active features in development)
82
+ #### audit-gaps
83
+ Close remaining audit gaps from self-audit
84
+ - **Files:** atris/team/*.md, atris/features/README.md
85
+ - **Status:** complete
86
+ - **Keywords:** audit, persona, cleanup
87
+ - **What:** Add PERSONA.md reference to all 5 agent specs, clean up stale feature statuses
78
88
 
79
89
  ---
80
90
 
81
91
  ### Completed Features
82
92
 
93
+ #### self-improving-loop
94
+ Make Atris recursive — validate.md lessons feed back into the next idea.md
95
+ - **Files:** atris/lessons.md (new), atris.md, atris/team/navigator.md, atris/team/validator.md, atris/MAP.md
96
+ - **Status:** complete
97
+ - **Keywords:** recursion, lessons, feedback-loop, self-improving, lessons.md
98
+ - **What:** lessons.md accumulates validated learnings; navigator reads them before planning; validator harvests them after validating
99
+ - **Completed:** 2026-02-09
100
+
101
+ #### wire-the-loop
102
+ Connect lessons.md and validate.md to every CLI command and doc that references them
103
+ - **Files:** commands/init.js, commands/workflow.js, commands/status.js, bin/atris.js, GETTING_STARTED.md, README.md, atris/atris.md
104
+ - **Status:** complete
105
+ - **Keywords:** wiring, cli, docs, lessons, validate, init, plan, review, status
106
+ - **What:** 8 surgical edits to wire lessons.md and validate.md into init, plan, review, status, docs, and spec
107
+ - **Completed:** 2026-02-09
108
+
83
109
  #### brainstorm — v2.0.0
84
110
  Conversational exploration mode for uncertain ideas
85
111
  - **Files:** bin/atris.js, atris/atris.md, atris/PERSONA.md, GETTING_STARTED.md, README.md, atris/MAP.md
@@ -10,3 +10,4 @@ Purpose: Capture short, actionable lessons after REVIEW misses.
10
10
 
11
11
  ## Entries
12
12
  - 2026-01-04 | meta | JSON edits break easily on quote boundaries → use Read tool to verify after Edit on .json files
13
+ - 2026-01-28 | init | Meta-frameworks must be detected before base frameworks → Next.js check before React check (tests caught this)
@@ -9,29 +9,60 @@ Every process = **Skill + Policy**
9
9
  - `skills/[name]/SKILL.md` — How to DO (process)
10
10
  - `policies/[name].md` — How to REVIEW (validation)
11
11
 
12
- ## Claude Integration
13
-
14
- Skills auto-detect via symlinks:
12
+ ## Integration
15
13
 
14
+ ### Claude Code
15
+ ```bash
16
+ cd .claude/skills && ln -s ../../atris/skills/[name] [name]
16
17
  ```
17
- atris/skills/writing/SKILL.md ← source of truth
18
-
19
- .claude/skills/writing/ ← symlink
18
+
19
+ ### Codex
20
+ ```bash
21
+ cp -r atris/skills/[name] ~/.codex/skills/
20
22
  ```
21
23
 
22
24
  ## Available Skills
23
25
 
24
26
  | Skill | Description | Policy |
25
27
  |-------|-------------|--------|
26
- | atris | Atris workflow enforcement + plan/do/review | `policies/ANTISLOP.md` |
27
- | autopilot | PRD-driven autonomous execution - loops until done | — |
28
- | meta | Metacognition for agents - how to think about thinking | `policies/LESSONS.md` |
29
- | design | Frontend aesthetics - avoid generic AI look | `policies/atris-design.md` |
30
- | backend | Backend architecture - prevent over-engineering | `policies/atris-backend.md` |
31
- | writing | Essay process with approval gates | `policies/writing.md` |
28
+ | atris | Workflow enforcement + plan/do/review | `policies/ANTISLOP.md` |
29
+ | autopilot | PRD-driven autonomous execution | — |
30
+ | backend | Backend architecture anti-patterns | `policies/atris-backend.md` |
31
+ | design | Frontend aesthetics policy | `policies/atris-design.md` |
32
+ | calendar | Google Calendar integration via AtrisOS | |
33
+ | drive | Google Drive + Sheets integration via AtrisOS | |
34
+ | email-agent | Gmail integration via AtrisOS | — |
35
+ | memory | Context and memory management | — |
36
+ | meta | Metacognition for agents | `policies/LESSONS.md` |
37
+ | writing | Essay process with gates | `policies/writing.md` |
38
+ | copy-editor | Detects and fixes AI writing patterns | - |
39
+ | skill-improver | Audit and improve skills against Anthropic guide | — |
40
+
41
+ ## ClawHub (External Distribution)
42
+
43
+ Skills we publish to OpenClaw's ClawHub marketplace. These have YAML frontmatter and are formatted for external agents.
44
+
45
+ | Skill | Description | Status |
46
+ |-------|-------------|--------|
47
+ | clawhub/atris | Codebase intelligence — MAP.md navigation for any agent | Ready to publish |
48
+
49
+ ```bash
50
+ # Publish to ClawHub
51
+ clawhub publish atris/skills/clawhub/atris --slug atris --name "Atris" --version 1.0.0
52
+ ```
53
+
54
+ ## Managing Skills
55
+
56
+ ```bash
57
+ atris skill list # Show all skills with compliance status
58
+ atris skill audit [name|--all] # Validate against Anthropic skill guide
59
+ atris skill fix [name|--all] # Auto-fix common issues
60
+ ```
32
61
 
33
62
  ## Creating Skills
34
63
 
35
64
  1. Create `atris/skills/[name]/SKILL.md`
36
- 2. Create `atris/policies/[name].md`
37
- 3. Symlink: `cd .claude/skills && ln -s ../../atris/skills/[name] [name]`
65
+ 2. Run `atris skill audit [name]` to validate
66
+ 3. Create `atris/policies/[name].md` (optional)
67
+ 4. Install to your agent (see Integration above)
68
+ 5. For external distribution, put in `atris/skills/clawhub/[name]/`
@@ -1,6 +1,13 @@
1
1
  ---
2
2
  name: atris
3
3
  description: Atris workflow enforcement for repos using atris/ (MAP, TODO, journal, features, plan-do-review, anti-slop). Use when the user asks to follow the Atris system or mentions atris, MAP.md, TODO.md, journal/logs, features, plan/do/review, or anti-slop policies.
4
+ version: 1.0.0
5
+ tags:
6
+ - atris
7
+ - workflow
8
+ - memory
9
+ - navigation
10
+ - anti-slop
4
11
  ---
5
12
 
6
13
  # Atris Skill
@@ -1,6 +1,11 @@
1
1
  ---
2
- description: PRD-driven autonomous execution - give it a task, it loops until done
3
- triggers: [autopilot, autonomous, "get it done", "finish this", "ship it"]
2
+ name: autopilot
3
+ description: PRD-driven autonomous execution - give it a task, it loops until done Triggers on "autopilot", "autonomous", "get it done", "finish this", "ship it".
4
+ version: 1.0.0
5
+ tags:
6
+ - autopilot
7
+ - workflow
8
+ - automation
4
9
  ---
5
10
 
6
11
  # Autopilot Skill
@@ -41,7 +46,7 @@ Autonomous task execution. Plan → Do → Review loop until acceptance criteria
41
46
  │ │ REVIEW: Validator checks │ │
42
47
  │ │ - Check acceptance criteria │ │
43
48
  │ │ - If fail: [REVIEW_FAILED] reason │ │
44
- │ │ - If pass: <promise>COMPLETE</promise>
49
+ │ │ - If pass: [COMPLETE]
45
50
  │ └──────────────────────────────────────┘ │
46
51
  │ │
47
52
  │ 3. OUTPUT │
@@ -83,7 +88,7 @@ atris autopilot "Add feature" --iterations=3 --verbose
83
88
 
84
89
  ## Stop Conditions
85
90
 
86
- 1. `<promise>COMPLETE</promise>` — All acceptance criteria met
91
+ 1. `[COMPLETE]` — All acceptance criteria met
87
92
  2. Max iterations reached (default: 5)
88
93
  3. Error that can't be recovered
89
94
 
@@ -0,0 +1,71 @@
1
+ ---
2
+ description: Start autonomous loop - plan/do/review until done
3
+ arguments:
4
+ - name: task
5
+ description: What to build (e.g., "Add dark mode toggle")
6
+ required: true
7
+ - name: max-iterations
8
+ description: Max loops before stopping (default 10)
9
+ required: false
10
+ ---
11
+
12
+ # Atris Autopilot
13
+
14
+ You are entering **autonomous mode**. You will loop until the task is complete or max iterations reached.
15
+
16
+ ## Setup
17
+
18
+ First, create the state file:
19
+
20
+ ```bash
21
+ mkdir -p .claude
22
+ cat > .claude/atris-autopilot.state.md << 'EOF'
23
+ ---
24
+ iteration: 1
25
+ max_iterations: $ARGUMENTS.max-iterations|default:10
26
+ completion_promise: <promise>COMPLETE</promise>
27
+ ---
28
+
29
+ $ARGUMENTS.task
30
+ EOF
31
+ ```
32
+
33
+ ## Your Task
34
+
35
+ **$ARGUMENTS.task**
36
+
37
+ ## Process
38
+
39
+ Each iteration:
40
+ 1. **PLAN** — Read MAP.md, identify files, create approach
41
+ 2. **DO** — Implement ONE thing, commit changes
42
+ 3. **REVIEW** — Check acceptance criteria
43
+
44
+ ## Acceptance Criteria
45
+
46
+ - Task implemented and working
47
+ - Tests pass (if they exist)
48
+ - Build passes
49
+ - Code follows patterns in MAP.md
50
+
51
+ ## Rules
52
+
53
+ - ONE thing per iteration (trust the loop)
54
+ - Search MAP.md before grepping
55
+ - Search codebase before assuming not implemented
56
+ - Update TODO.md with progress
57
+ - Log learnings to atris/logs/
58
+
59
+ ## Completion
60
+
61
+ When ALL acceptance criteria pass, output exactly:
62
+
63
+ ```
64
+ <promise>COMPLETE</promise>
65
+ ```
66
+
67
+ This signals the stop hook to end the loop.
68
+
69
+ ## Start
70
+
71
+ Read atris/MAP.md now. Then begin iteration 1.
@@ -0,0 +1,79 @@
1
+ #!/bin/bash
2
+ # Atris Autopilot Stop Hook
3
+ # Catches exit, re-injects with MAP/TODO context
4
+
5
+ STATE_FILE=".claude/atris-autopilot.state.md"
6
+
7
+ # Read stdin JSON for transcript path
8
+ INPUT=$(cat)
9
+ TRANSCRIPT_PATH=$(echo "$INPUT" | jq -r '.transcript_path // empty')
10
+ STOP_HOOK_ACTIVE=$(echo "$INPUT" | jq -r '.stop_hook_active // false')
11
+
12
+ # Prevent infinite loops
13
+ if [ "$STOP_HOOK_ACTIVE" = "true" ]; then
14
+ exit 0
15
+ fi
16
+
17
+ # No state file = not in autopilot mode
18
+ if [ ! -f "$STATE_FILE" ]; then
19
+ exit 0
20
+ fi
21
+
22
+ # Parse state from YAML frontmatter
23
+ iteration=$(grep "^iteration:" "$STATE_FILE" | cut -d' ' -f2)
24
+ max_iterations=$(grep "^max_iterations:" "$STATE_FILE" | cut -d' ' -f2)
25
+
26
+ # Validate numbers
27
+ if ! [[ "$iteration" =~ ^[0-9]+$ ]] || ! [[ "$max_iterations" =~ ^[0-9]+$ ]]; then
28
+ echo '{"decision": "block", "reason": "Error: Invalid state file. Run /cancel-autopilot and restart."}'
29
+ exit 0
30
+ fi
31
+
32
+ # Max iterations reached - allow exit
33
+ if [ "$iteration" -ge "$max_iterations" ]; then
34
+ rm -f "$STATE_FILE"
35
+ exit 0
36
+ fi
37
+
38
+ # Check transcript for completion promise
39
+ if [ -n "$TRANSCRIPT_PATH" ] && [ -f "$TRANSCRIPT_PATH" ]; then
40
+ if grep -q "<promise>COMPLETE</promise>" "$TRANSCRIPT_PATH"; then
41
+ rm -f "$STATE_FILE"
42
+ exit 0
43
+ fi
44
+ fi
45
+
46
+ # Increment iteration
47
+ new_iteration=$((iteration + 1))
48
+ sed -i.bak "s/^iteration:.*/iteration: $new_iteration/" "$STATE_FILE"
49
+ rm -f "${STATE_FILE}.bak"
50
+
51
+ # Extract original prompt
52
+ prompt=$(sed -n '/^---$/,/^---$/!p' "$STATE_FILE" | tail -n +2)
53
+
54
+ # Load context
55
+ map_context=""
56
+ [ -f "atris/MAP.md" ] && map_context=$(head -200 atris/MAP.md)
57
+
58
+ todo_context=""
59
+ [ -f "atris/TODO.md" ] && todo_context=$(cat atris/TODO.md)
60
+
61
+ # Build reason (this is what Claude sees)
62
+ reason="[AUTOPILOT ITERATION $new_iteration/$max_iterations]
63
+
64
+ TASK: $prompt
65
+
66
+ CONTEXT:
67
+ - MAP.md loaded (use for navigation)
68
+ - TODO.md loaded (track progress)
69
+
70
+ RULES:
71
+ - ONE thing this iteration
72
+ - Search before assuming not implemented
73
+ - When ALL done: output <promise>COMPLETE</promise>
74
+
75
+ Continue working."
76
+
77
+ # Block exit, provide reason
78
+ echo "{\"decision\": \"block\", \"reason\": $(echo "$reason" | jq -Rs .)}"
79
+ exit 0
@@ -1,7 +1,12 @@
1
1
  ---
2
- name: atris-backend
2
+ name: backend
3
3
  description: Backend architecture policy. Use when building APIs, services, data access, or any backend work. Prevents over-engineering.
4
+ version: 1.0.0
4
5
  allowed-tools: Read, Write, Edit, Bash, Glob, Grep
6
+ tags:
7
+ - backend
8
+ - architecture
9
+ - anti-patterns
5
10
  ---
6
11
 
7
12
  # atris-backend