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.
- package/AGENTS.md +84 -8
- package/README.md +5 -1
- package/atris/AGENTS.md +46 -1
- package/atris/CLAUDE.md +36 -1
- package/atris/GEMINI.md +14 -1
- package/atris/atris.md +12 -1
- package/atris/atrisDev.md +3 -2
- package/atris/context/README.md +11 -0
- package/atris/features/company-brain-sync/validate.md +5 -5
- package/atris/learnings.jsonl +1 -0
- package/atris/policies/atris-design.md +2 -0
- package/atris/skills/aeo/SKILL.md +2 -2
- package/atris/skills/atris/SKILL.md +15 -62
- package/atris/skills/design/SKILL.md +2 -0
- package/atris/skills/imessage/SKILL.md +19 -2
- package/atris/skills/loop/SKILL.md +6 -5
- package/atris/skills/magic-inbox/SKILL.md +1 -1
- package/atris/team/_template/MEMBER.md +23 -1
- package/atris/team/brainstormer/START_HERE.md +6 -0
- package/atris/team/executor/MEMBER.md +13 -0
- package/atris/team/executor/START_HERE.md +6 -0
- package/atris/team/launcher/START_HERE.md +6 -0
- package/atris/team/mission-lead/MEMBER.md +39 -0
- package/atris/team/mission-lead/MISSION.md +33 -0
- package/atris/team/mission-lead/START_HERE.md +6 -0
- package/atris/team/navigator/MEMBER.md +11 -0
- package/atris/team/navigator/START_HERE.md +6 -0
- package/atris/team/opus-overnight/MEMBER.md +39 -0
- package/atris/team/opus-overnight/MISSION.md +61 -0
- package/atris/team/opus-overnight/START_HERE.md +6 -0
- package/atris/team/opus-overnight/STEERING.md +35 -0
- package/atris/team/researcher/START_HERE.md +6 -0
- package/atris/team/validator/MEMBER.md +26 -6
- package/atris/team/validator/START_HERE.md +6 -0
- package/atris/wiki/concepts/agent-activation-contract.md +79 -0
- package/atris/wiki/concepts/workspace-initialization-contract.md +73 -0
- package/atris/wiki/index.md +27 -0
- package/atris/wiki/sources/atris-labs-2026-05-10.txt +17 -0
- package/atris/wiki/sources/atris-labs-goals-2026-05-10.txt +15 -0
- package/atris/wiki/sources/atrisos-generative-ui-product-surface-2026-05-10.txt +10 -0
- package/atris/wiki/sources/jack-dorsey-2026-05-10.txt +12 -0
- package/atris.md +49 -13
- package/bin/atris.js +660 -22
- package/commands/activate.js +12 -3
- package/commands/aeo.js +1 -1
- package/commands/align.js +10 -10
- package/commands/analytics.js +9 -4
- package/commands/app.js +2 -0
- package/commands/apps.js +276 -0
- package/commands/auth.js +1 -1
- package/commands/autopilot.js +74 -5
- package/commands/brain.js +536 -61
- package/commands/brainstorm.js +12 -12
- package/commands/business-sync.js +142 -24
- package/commands/clean.js +9 -6
- package/commands/codex-goal.js +311 -0
- package/commands/errors.js +11 -1
- package/commands/feedback.js +55 -17
- package/commands/fork.js +2 -2
- package/commands/gm.js +376 -0
- package/commands/init.js +80 -3
- package/commands/integrations.js +524 -0
- package/commands/learn.js +25 -16
- package/commands/lesson.js +41 -0
- package/commands/lifecycle.js +2 -2
- package/commands/member.js +2416 -9
- package/commands/mission.js +1776 -0
- package/commands/now.js +48 -7
- package/commands/play.js +425 -0
- package/commands/publish.js +2 -1
- package/commands/pull.js +72 -29
- package/commands/push.js +199 -17
- package/commands/review.js +51 -13
- package/commands/skill.js +2 -2
- package/commands/soul.js +19 -13
- package/commands/status.js +6 -1
- package/commands/sync.js +5 -4
- package/commands/task.js +1041 -147
- package/commands/terminal.js +5 -5
- package/commands/verify.js +7 -5
- package/commands/visualize.js +7 -0
- package/commands/wiki.js +53 -16
- package/commands/workflow.js +298 -54
- package/commands/workspace-clean.js +1 -1
- package/commands/worktree.js +468 -0
- package/commands/xp.js +1608 -0
- package/lib/manifest.js +34 -4
- package/lib/scorecard.js +3 -2
- package/lib/task-db.js +408 -27
- package/lib/todo-fallback.js +28 -2
- package/lib/todo.js +5 -3
- package/package.json +23 -2
- package/utils/update-check.js +51 -1
package/commands/terminal.js
CHANGED
|
@@ -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
|
|
16
|
-
* atris terminal
|
|
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
|
|
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
|
|
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
|
|
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);
|
package/commands/verify.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
228
|
-
|
|
229
|
-
|
|
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');
|
package/commands/visualize.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|