atris 2.0.7 → 2.0.9

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.
@@ -2,6 +2,12 @@
2
2
 
3
3
  > **Role:** Validate execution, update docs, ensure quality | **Source:** build.md, MAP.md, code
4
4
 
5
+ ## Project Context
6
+
7
+ **Project Type:** nodejs (nodejs)
8
+
9
+ **Validation:** Run `npm test` to verify changes work correctly.
10
+
5
11
  ---
6
12
 
7
13
  ## Your Job
package/atris/atris.md CHANGED
@@ -8,7 +8,10 @@
8
8
 
9
9
  **STOP. When you read this or hear "atris activate", do this immediately:**
10
10
 
11
- 1. Read today's journal: `atris/logs/YYYY/YYYY-MM-DD.md` (use current date)
11
+ 1. Load context (ONE time, remember for session):
12
+ - `atris/logs/YYYY/YYYY-MM-DD.md` (today's journal)
13
+ - `atris/MAP.md` (navigation overview)
14
+ - `atris/agent_team/*.md` (all agent specs)
12
15
 
13
16
  2. Output this EXACT box:
14
17
 
@@ -42,11 +45,19 @@ Stage: PLAN → do → review (capitalize current stage)
42
45
 
43
46
  1. Read today's journal
44
47
 
45
- 2. Check state and act:
46
- - **If In Progress has task** → show it
47
- - **Else if Backlog has task** show first one
48
- - **Else if Inbox has items**ask "Convert [item] to task?"
49
- - **Else** → ask "Queue empty. What's next?"
48
+ 2. Check state and progress through stages:
49
+
50
+ **No task in progress?**
51
+ - If Backlog has taskmove to In Progress, stage = PLAN
52
+ - Else if Inbox has items → ask "Convert [item] to task?"
53
+ - Else → go to BRAINSTORM
54
+
55
+ **Task in progress?** Progress to next stage:
56
+ - **PLAN** → Show ASCII plan, wait for approval → next stage = DO
57
+ - **DO** → Execute the work → next stage = REVIEW
58
+ - **REVIEW** → Run validator checks (test, verify, quality check)
59
+ - If passes → move to Completed, show DONE
60
+ - If fails → show issues, stay in DO
50
61
 
51
62
  3. Output this EXACT box:
52
63
 
@@ -54,21 +65,23 @@ Stage: PLAN → do → review (capitalize current stage)
54
65
  ┌─────────────────────────────────────────────────────────────┐
55
66
  │ NEXT: [task name] [PLAN|DO|REVIEW]
56
67
  │ │
57
- │ [1-2 sentences: what you'll do]
68
+ │ [1-2 sentences: what you'll do in this stage]
58
69
  └─────────────────────────────────────────────────────────────┘
59
70
  ```
60
71
 
61
- 4. Wait for input. User says anything → execute → update journal → show:
72
+ 4. Wait for input. User says anything → execute current stage → update journal.
73
+
74
+ 5. After REVIEW passes, show:
62
75
 
63
76
  ```
64
77
  ┌─────────────────────────────────────────────────────────────┐
65
- │ DONE: [task name] [REVIEW] │
78
+ │ DONE: [task name] [✓ REVIEWED] │
66
79
  │ │
67
- │ [1-2 sentences: what was done]
80
+ │ [1-2 sentences: what was done + review result]
68
81
  └─────────────────────────────────────────────────────────────┘
69
82
  ```
70
83
 
71
- **DO NOT explain. DO NOT summarize. Output the box, wait for input.**
84
+ **Every task goes through PLAN DO REVIEW. No shortcuts.**
72
85
 
73
86
  ---
74
87
 
@@ -84,6 +97,44 @@ plan → do → review
84
97
 
85
98
  ---
86
99
 
100
+ ## AGENTS
101
+
102
+ | Command | Agent | Guardrail |
103
+ |---------|-------|-----------|
104
+ | `atris plan` | navigator | Plans only, NO code |
105
+ | `atris do` | executor | Builds only, NO unplanned work |
106
+ | `atris review` | validator | Checks only, NO new features |
107
+ | `atris brainstorm` | brainstormer | Ideas only, NO code |
108
+
109
+ `atris next` = auto-selects agent based on journal state
110
+
111
+ Specs loaded at activate from `agent_team/*.md`
112
+
113
+ ---
114
+
115
+ ## BRAINSTORM
116
+
117
+ **When queue empty (no backlog, no inbox):**
118
+
119
+ ```
120
+ ┌─────────────────────────────────────────────────────────────┐
121
+ │ BRAINSTORM [PLAN] │
122
+ ├─────────────────────────────────────────────────────────────┤
123
+ │ [1 sentence: what this project is] │
124
+ │ │
125
+ │ Ideas: │
126
+ │ 1. [suggestion based on MAP.md] │
127
+ │ 2. [suggestion based on journal patterns] │
128
+ │ 3. [suggestion based on product gaps] │
129
+ ├─────────────────────────────────────────────────────────────┤
130
+ │ Pick one, remix, or "something else" │
131
+ └─────────────────────────────────────────────────────────────┘
132
+ ```
133
+
134
+ **NO extra reads. Use loaded context. 3 ideas max.**
135
+
136
+ ---
137
+
87
138
  ## INDEX
88
139
 
89
140
  | File | Purpose |
@@ -101,10 +152,11 @@ plan → do → review
101
152
 
102
153
  ```
103
154
  ## Completed ✅
104
- - **C1:** Description
155
+ - **C1:** Description [✓ REVIEWED]
105
156
 
106
157
  ## In Progress 🔄
107
158
  - **T1:** Description
159
+ **Stage:** PLAN | DO | REVIEW
108
160
  **Claimed by:** [Name] at [Time]
109
161
 
110
162
  ## Backlog
package/atris.md CHANGED
@@ -8,7 +8,10 @@
8
8
 
9
9
  **STOP. When you read this or hear "atris activate", do this immediately:**
10
10
 
11
- 1. Read today's journal: `atris/logs/YYYY/YYYY-MM-DD.md` (use current date)
11
+ 1. Load context (ONE time, remember for session):
12
+ - `atris/logs/YYYY/YYYY-MM-DD.md` (today's journal)
13
+ - `atris/MAP.md` (navigation overview)
14
+ - `atris/agent_team/*.md` (all agent specs)
12
15
 
13
16
  2. Output this EXACT box:
14
17
 
@@ -42,11 +45,19 @@ Stage: PLAN → do → review (capitalize current stage)
42
45
 
43
46
  1. Read today's journal
44
47
 
45
- 2. Check state and act:
46
- - **If In Progress has task** → show it
47
- - **Else if Backlog has task** show first one
48
- - **Else if Inbox has items**ask "Convert [item] to task?"
49
- - **Else** → ask "Queue empty. What's next?"
48
+ 2. Check state and progress through stages:
49
+
50
+ **No task in progress?**
51
+ - If Backlog has taskmove to In Progress, stage = PLAN
52
+ - Else if Inbox has items → ask "Convert [item] to task?"
53
+ - Else → go to BRAINSTORM
54
+
55
+ **Task in progress?** Progress to next stage:
56
+ - **PLAN** → Show ASCII plan, wait for approval → next stage = DO
57
+ - **DO** → Execute the work → next stage = REVIEW
58
+ - **REVIEW** → Run validator checks (test, verify, quality check)
59
+ - If passes → move to Completed, show DONE
60
+ - If fails → show issues, stay in DO
50
61
 
51
62
  3. Output this EXACT box:
52
63
 
@@ -54,21 +65,23 @@ Stage: PLAN → do → review (capitalize current stage)
54
65
  ┌─────────────────────────────────────────────────────────────┐
55
66
  │ NEXT: [task name] [PLAN|DO|REVIEW]
56
67
  │ │
57
- │ [1-2 sentences: what you'll do]
68
+ │ [1-2 sentences: what you'll do in this stage]
58
69
  └─────────────────────────────────────────────────────────────┘
59
70
  ```
60
71
 
61
- 4. Wait for input. User says anything → execute → update journal → show:
72
+ 4. Wait for input. User says anything → execute current stage → update journal.
73
+
74
+ 5. After REVIEW passes, show:
62
75
 
63
76
  ```
64
77
  ┌─────────────────────────────────────────────────────────────┐
65
- │ DONE: [task name] [REVIEW] │
78
+ │ DONE: [task name] [✓ REVIEWED] │
66
79
  │ │
67
- │ [1-2 sentences: what was done]
80
+ │ [1-2 sentences: what was done + review result]
68
81
  └─────────────────────────────────────────────────────────────┘
69
82
  ```
70
83
 
71
- **DO NOT explain. DO NOT summarize. Output the box, wait for input.**
84
+ **Every task goes through PLAN DO REVIEW. No shortcuts.**
72
85
 
73
86
  ---
74
87
 
@@ -84,6 +97,44 @@ plan → do → review
84
97
 
85
98
  ---
86
99
 
100
+ ## AGENTS
101
+
102
+ | Command | Agent | Guardrail |
103
+ |---------|-------|-----------|
104
+ | `atris plan` | navigator | Plans only, NO code |
105
+ | `atris do` | executor | Builds only, NO unplanned work |
106
+ | `atris review` | validator | Checks only, NO new features |
107
+ | `atris brainstorm` | brainstormer | Ideas only, NO code |
108
+
109
+ `atris next` = auto-selects agent based on journal state
110
+
111
+ Specs loaded at activate from `agent_team/*.md`
112
+
113
+ ---
114
+
115
+ ## BRAINSTORM
116
+
117
+ **When queue empty (no backlog, no inbox):**
118
+
119
+ ```
120
+ ┌─────────────────────────────────────────────────────────────┐
121
+ │ BRAINSTORM [PLAN] │
122
+ ├─────────────────────────────────────────────────────────────┤
123
+ │ [1 sentence: what this project is] │
124
+ │ │
125
+ │ Ideas: │
126
+ │ 1. [suggestion based on MAP.md] │
127
+ │ 2. [suggestion based on journal patterns] │
128
+ │ 3. [suggestion based on product gaps] │
129
+ ├─────────────────────────────────────────────────────────────┤
130
+ │ Pick one, remix, or "something else" │
131
+ └─────────────────────────────────────────────────────────────┘
132
+ ```
133
+
134
+ **NO extra reads. Use loaded context. 3 ideas max.**
135
+
136
+ ---
137
+
87
138
  ## INDEX
88
139
 
89
140
  | File | Purpose |
@@ -101,10 +152,11 @@ plan → do → review
101
152
 
102
153
  ```
103
154
  ## Completed ✅
104
- - **C1:** Description
155
+ - **C1:** Description [✓ REVIEWED]
105
156
 
106
157
  ## In Progress 🔄
107
158
  - **T1:** Description
159
+ **Stage:** PLAN | DO | REVIEW
108
160
  **Claimed by:** [Name] at [Time]
109
161
 
110
162
  ## Backlog
package/commands/init.js CHANGED
@@ -277,18 +277,19 @@ function initAtris() {
277
277
  fs.writeFileSync(todoFile, `# TODO.md
278
278
 
279
279
  > Working task queue for this project. Target state = 0.
280
+ > Note: Daily tasks live in \`atris/logs/YYYY/YYYY-MM-DD.md\`
280
281
 
281
282
  ---
282
283
 
283
284
  ## Backlog
284
285
 
285
- (Empty)
286
+ (See today's journal)
286
287
 
287
288
  ---
288
289
 
289
290
  ## In Progress
290
291
 
291
- (Empty)
292
+ (See today's journal)
292
293
 
293
294
  ---
294
295
 
@@ -301,6 +302,47 @@ function initAtris() {
301
302
  console.log('✓ Created TODO.md placeholder');
302
303
  }
303
304
 
305
+ // Create logs directory and today's journal with bootstrap tasks
306
+ const logsDir = path.join(targetDir, 'logs');
307
+ const yearDir = path.join(logsDir, new Date().getFullYear().toString());
308
+ const today = new Date().toISOString().split('T')[0];
309
+ const journalFile = path.join(yearDir, `${today}.md`);
310
+
311
+ if (!fs.existsSync(yearDir)) {
312
+ fs.mkdirSync(yearDir, { recursive: true });
313
+ console.log(`✓ Created logs/${new Date().getFullYear()}/ folder`);
314
+ }
315
+
316
+ if (!fs.existsSync(journalFile)) {
317
+ fs.writeFileSync(journalFile, `# Log — ${today}
318
+
319
+ ## Completed ✅
320
+
321
+ ---
322
+
323
+ ## In Progress 🔄
324
+
325
+ ---
326
+
327
+ ## Backlog
328
+
329
+ - **T1:** Generate MAP.md — scan codebase, create navigation index with file:line refs
330
+ - **T2:** First build — pick something from inbox or brainstorm ideas
331
+
332
+ ---
333
+
334
+ ## Notes
335
+
336
+ **Bootstrap:** Just say "atris next" to start. The system will guide you.
337
+
338
+ ---
339
+
340
+ ## Inbox
341
+
342
+ `);
343
+ console.log(`✓ Created today's journal with bootstrap tasks`);
344
+ }
345
+
304
346
  // Create features directory and README
305
347
  const featuresDir = path.join(targetDir, 'features');
306
348
  const templatesDir = path.join(featuresDir, '_templates');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "atris",
3
- "version": "2.0.7",
3
+ "version": "2.0.9",
4
4
  "description": "atrisDev (atris dev) - CLI for AI coding agents. Works with Claude Code, Cursor, Windsurf. Make any codebase AI-navigable.",
5
5
  "main": "bin/atris.js",
6
6
  "bin": {