atris 3.15.13 → 3.15.22

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 (93) hide show
  1. package/AGENTS.md +84 -8
  2. package/README.md +5 -1
  3. package/atris/AGENTS.md +46 -1
  4. package/atris/CLAUDE.md +36 -1
  5. package/atris/GEMINI.md +14 -1
  6. package/atris/atris.md +12 -1
  7. package/atris/atrisDev.md +3 -2
  8. package/atris/context/README.md +11 -0
  9. package/atris/features/company-brain-sync/validate.md +5 -5
  10. package/atris/learnings.jsonl +1 -0
  11. package/atris/policies/atris-design.md +2 -0
  12. package/atris/skills/aeo/SKILL.md +2 -2
  13. package/atris/skills/atris/SKILL.md +15 -62
  14. package/atris/skills/design/SKILL.md +2 -0
  15. package/atris/skills/imessage/SKILL.md +19 -2
  16. package/atris/skills/loop/SKILL.md +6 -5
  17. package/atris/skills/magic-inbox/SKILL.md +1 -1
  18. package/atris/team/_template/MEMBER.md +23 -1
  19. package/atris/team/brainstormer/START_HERE.md +6 -0
  20. package/atris/team/executor/MEMBER.md +13 -0
  21. package/atris/team/executor/START_HERE.md +6 -0
  22. package/atris/team/launcher/START_HERE.md +6 -0
  23. package/atris/team/mission-lead/MEMBER.md +39 -0
  24. package/atris/team/mission-lead/MISSION.md +33 -0
  25. package/atris/team/mission-lead/START_HERE.md +6 -0
  26. package/atris/team/navigator/MEMBER.md +11 -0
  27. package/atris/team/navigator/START_HERE.md +6 -0
  28. package/atris/team/opus-overnight/MEMBER.md +39 -0
  29. package/atris/team/opus-overnight/MISSION.md +61 -0
  30. package/atris/team/opus-overnight/START_HERE.md +6 -0
  31. package/atris/team/opus-overnight/STEERING.md +35 -0
  32. package/atris/team/researcher/START_HERE.md +6 -0
  33. package/atris/team/validator/MEMBER.md +26 -6
  34. package/atris/team/validator/START_HERE.md +6 -0
  35. package/atris/wiki/concepts/agent-activation-contract.md +79 -0
  36. package/atris/wiki/concepts/workspace-initialization-contract.md +73 -0
  37. package/atris/wiki/index.md +27 -0
  38. package/atris/wiki/sources/atris-labs-2026-05-10.txt +17 -0
  39. package/atris/wiki/sources/atris-labs-goals-2026-05-10.txt +15 -0
  40. package/atris/wiki/sources/atrisos-generative-ui-product-surface-2026-05-10.txt +10 -0
  41. package/atris/wiki/sources/jack-dorsey-2026-05-10.txt +12 -0
  42. package/atris.md +49 -13
  43. package/bin/atris.js +660 -22
  44. package/commands/activate.js +12 -3
  45. package/commands/aeo.js +1 -1
  46. package/commands/align.js +10 -10
  47. package/commands/analytics.js +9 -4
  48. package/commands/app.js +2 -0
  49. package/commands/apps.js +276 -0
  50. package/commands/auth.js +1 -1
  51. package/commands/autopilot.js +74 -5
  52. package/commands/brain.js +536 -61
  53. package/commands/brainstorm.js +12 -12
  54. package/commands/business-sync.js +142 -24
  55. package/commands/clean.js +9 -6
  56. package/commands/codex-goal.js +311 -0
  57. package/commands/errors.js +11 -1
  58. package/commands/feedback.js +55 -17
  59. package/commands/fork.js +2 -2
  60. package/commands/gm.js +376 -0
  61. package/commands/init.js +80 -3
  62. package/commands/integrations.js +524 -0
  63. package/commands/learn.js +25 -16
  64. package/commands/lesson.js +41 -0
  65. package/commands/lifecycle.js +2 -2
  66. package/commands/member.js +2416 -9
  67. package/commands/mission.js +1776 -0
  68. package/commands/now.js +48 -7
  69. package/commands/play.js +425 -0
  70. package/commands/publish.js +2 -1
  71. package/commands/pull.js +72 -29
  72. package/commands/push.js +199 -17
  73. package/commands/review.js +51 -13
  74. package/commands/skill.js +2 -2
  75. package/commands/soul.js +19 -13
  76. package/commands/status.js +6 -1
  77. package/commands/sync.js +5 -4
  78. package/commands/task.js +1041 -147
  79. package/commands/terminal.js +5 -5
  80. package/commands/verify.js +7 -5
  81. package/commands/visualize.js +7 -0
  82. package/commands/wiki.js +53 -16
  83. package/commands/workflow.js +298 -54
  84. package/commands/workspace-clean.js +1 -1
  85. package/commands/worktree.js +468 -0
  86. package/commands/xp.js +1608 -0
  87. package/lib/manifest.js +34 -4
  88. package/lib/scorecard.js +3 -2
  89. package/lib/task-db.js +408 -27
  90. package/lib/todo-fallback.js +28 -2
  91. package/lib/todo.js +5 -3
  92. package/package.json +23 -2
  93. package/utils/update-check.js +51 -1
@@ -12,11 +12,11 @@
12
12
  * - Prints stdout, stderr, and exit_code so the caller knows what happened
13
13
  *
14
14
  * USAGE:
15
- * atris terminal pallet "ls /workspace/atris/"
16
- * atris terminal pallet "find /workspace -name '*.md' | wc -l" --timeout 60
15
+ * atris terminal example-co "ls /workspace/atris/"
16
+ * atris terminal example-co "find /workspace -name '*.md' | wc -l" --timeout 60
17
17
  * atris terminal "rm -rf /workspace/cruft" # auto-detects business from .atris/business.json
18
18
  *
19
- * Discovered the /terminal endpoint during overnight pallet cleanup bulk
19
+ * Discovered the /terminal endpoint during overnight workspace cleanup - bulk
20
20
  * deleting 401 files via individual /file DELETE calls hit the rate limit
21
21
  * after request 60 and would have taken hours. One `rm -rf` via /terminal
22
22
  * finished in 1 second.
@@ -91,9 +91,9 @@ async function terminalAtris() {
91
91
  if (args.length === 0 || args[0] === '--help' || args[0] === '-h') {
92
92
  console.log('Usage: atris terminal [business] <command> [--timeout N]');
93
93
  console.log('');
94
- console.log(' atris terminal pallet "ls /workspace/atris/"');
94
+ console.log(' atris terminal example-co "ls /workspace/atris/"');
95
95
  console.log(' atris terminal "find /workspace -name \\"*.md\\"" # auto-detect business');
96
- console.log(' atris terminal pallet "rm -rf /workspace/cruft" --timeout 30');
96
+ console.log(' atris terminal example-co "rm -rf /workspace/cruft" --timeout 30');
97
97
  console.log('');
98
98
  console.log(' --timeout N seconds to wait for the command (default 30, max 120)');
99
99
  process.exit(0);
@@ -112,7 +112,7 @@ function verifyWorkspace(cwd, atrisDir) {
112
112
  console.log('Result: VERIFIED ✓');
113
113
  console.log('Workspace is healthy. Ready for production.');
114
114
  } else {
115
- console.log(`Result: ${results.issues.length} issue(s) found`);
115
+ console.log(`Result: ${results.issues.length} ${results.issues.length === 1 ? 'issue' : 'issues'} found`);
116
116
  console.log('Fix issues before marking work complete.');
117
117
  }
118
118
  console.log('');
@@ -223,10 +223,12 @@ function verifyMap(cwd, atrisDir) {
223
223
 
224
224
  const content = fs.readFileSync(mapFile, 'utf8');
225
225
 
226
- // Check for placeholder content
227
- const isPlaceholder = content.toLowerCase().includes('generated by your ai agent')
228
- || content.toLowerCase().includes('run your ai agent')
229
- || content.toLowerCase().includes('placeholder');
226
+ // Check for placeholder content. Match the specific phrases written by
227
+ // commands/init.js:357 a substring search for "placeholder" is too broad
228
+ // and false-flags any MAP.md that mentions the word in prose.
229
+ const lower = content.toLowerCase();
230
+ const isPlaceholder = lower.includes('generated by your ai agent')
231
+ || lower.includes('run your ai agent');
230
232
 
231
233
  if (isPlaceholder) {
232
234
  result.issues.push('MAP.md contains placeholder content');
@@ -368,6 +368,13 @@ async function generateVisual(prompt, options = {}) {
368
368
  }
369
369
 
370
370
  async function visualizeAtris(args = process.argv.slice(3)) {
371
+ // Bare-word `help` should not be treated as a prompt — it would trigger a
372
+ // paid image-generation call ("draw me a picture of help"). Promote it to
373
+ // the help intent.
374
+ if (args[0] === 'help') {
375
+ showVisualizeHelp();
376
+ return;
377
+ }
371
378
  const { prompt, options } = parseVisualizeArgs(args);
372
379
  if (options.help) {
373
380
  showVisualizeHelp();
package/commands/wiki.js CHANGED
@@ -166,6 +166,53 @@ function printLocalPrompt(title, prompt, wikiRoot, details = []) {
166
166
  console.log('');
167
167
  }
168
168
 
169
+ function hasHelpFlag(args) {
170
+ return args.includes('--help') || args.includes('-h') || args[0] === 'help';
171
+ }
172
+
173
+ function printWikiHelp(scope = null) {
174
+ const normalized = scope === 'ingest' || scope === 'query' || scope === 'lint' || scope === 'search' || scope === 'log' || scope === 'loop' || scope === 'verify'
175
+ ? scope
176
+ : null;
177
+
178
+ console.log('');
179
+ if (normalized === 'ingest') {
180
+ console.log('Usage: atris ingest <path>');
181
+ console.log('Usage: atris wiki ingest [--private|--cloud] [business] <path>');
182
+ console.log('');
183
+ console.log('Stage source files into the local wiki context pack.');
184
+ } else if (normalized === 'query') {
185
+ console.log('Usage: atris query "question"');
186
+ console.log('Usage: atris wiki query [--private|--cloud] [business] "question"');
187
+ console.log('');
188
+ console.log('Build a local or cloud wiki query prompt.');
189
+ } else if (normalized === 'lint') {
190
+ console.log('Usage: atris lint');
191
+ console.log('Usage: atris wiki lint [--private|--cloud] [business]');
192
+ console.log('');
193
+ console.log('Build a local or cloud wiki lint prompt.');
194
+ } else {
195
+ console.log('Usage: atris wiki <ingest|query|lint|search|log|loop|verify> [business] [args]');
196
+ console.log('');
197
+ console.log(' ingest <path> Local-first ingest into atris/wiki/');
198
+ console.log(' query "question" Local-first query against atris/wiki/');
199
+ console.log(' lint Local-first lint for atris/wiki/');
200
+ console.log(' search [business] <term> Search local atris/wiki/index.md');
201
+ console.log(' log [business] [N] Show recent atris/wiki/log.md entries');
202
+ console.log(' loop Run local wiki upkeep analysis and refresh STATUS/log');
203
+ console.log(' verify Check agent-readable source/verification metadata');
204
+ }
205
+ console.log('');
206
+ console.log('Flags:');
207
+ console.log(' --cloud Route ingest/query/lint to the cloud workspace');
208
+ console.log(' --local Be explicit about local mode');
209
+ console.log(` --private Use local private wiki at ${PRIVATE_WIKI_ROOT}/`);
210
+ console.log(' --help, -h Show this help');
211
+ console.log('');
212
+ console.log('Business is auto-detected from .atris/business.json for cloud mode if omitted.');
213
+ console.log('');
214
+ }
215
+
169
216
  async function wikiIngest(mode, slug, sourceValue) {
170
217
  if (!sourceValue) {
171
218
  console.error('Usage: atris wiki ingest [business] <path>');
@@ -359,6 +406,11 @@ function wikiVerify(mode, slug) {
359
406
  }
360
407
 
361
408
  async function wikiCommand(subcommand, ...args) {
409
+ if (!subcommand || subcommand === 'help' || subcommand === '--help' || subcommand === '-h' || hasHelpFlag(args)) {
410
+ printWikiHelp(subcommand);
411
+ return;
412
+ }
413
+
362
414
  const { mode, args: cleanArgs } = parseModeArgs(args);
363
415
 
364
416
  switch (subcommand) {
@@ -430,22 +482,7 @@ async function wikiCommand(subcommand, ...args) {
430
482
  break;
431
483
  }
432
484
  default:
433
- console.log('Usage: atris wiki <ingest|query|lint|search|log|loop|verify> [business] [args]');
434
- console.log('');
435
- console.log(' ingest <path> Local-first ingest into atris/wiki/');
436
- console.log(' query "question" Local-first query against atris/wiki/');
437
- console.log(' lint Local-first lint for atris/wiki/');
438
- console.log(' search [business] <term> Search local atris/wiki/index.md');
439
- console.log(' log [business] [N] Show recent atris/wiki/log.md entries');
440
- console.log(' loop Run local wiki upkeep analysis and refresh STATUS/log');
441
- console.log(' verify Check agent-readable source/verification metadata');
442
- console.log('');
443
- console.log('Flags:');
444
- console.log(' --cloud Route ingest/query/lint to the cloud workspace');
445
- console.log(' --local Be explicit about local mode');
446
- console.log(` --private Use local private wiki at ${PRIVATE_WIKI_ROOT}/`);
447
- console.log('');
448
- console.log('Business is auto-detected from .atris/business.json for cloud mode if omitted.');
485
+ printWikiHelp();
449
486
  }
450
487
  }
451
488