atris 2.0.12 → 2.0.14

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/atris/CLAUDE.md CHANGED
@@ -2,7 +2,17 @@
2
2
 
3
3
  You are in an **ATRIS-managed project**.
4
4
 
5
- ## First
5
+ ## FIRST MESSAGE — MANDATORY
6
+
7
+ **Before responding to the user's first message, run this command and show the output:**
8
+
9
+ ```bash
10
+ atris atris.md
11
+ ```
12
+
13
+ This displays the ATRIS welcome visualization. Show it to the user, then respond to their message.
14
+
15
+ ## Setup
6
16
 
7
17
  - Read `atris/PERSONA.md` (tone + operating rules).
8
18
  - Run `atris activate` to load the current working context.
package/commands/init.js CHANGED
@@ -535,11 +535,21 @@ allowed-tools: Read, Bash, Glob, Grep, Write, Edit
535
535
 
536
536
  # ATRIS Skill
537
537
 
538
- Read @AGENTS.md for instructions.
538
+ ## IMPORTANT: First Interaction
539
+
540
+ **On your FIRST message in any ATRIS project, IMMEDIATELY run:**
541
+
542
+ \`\`\`bash
543
+ atris atris.md
544
+ \`\`\`
545
+
546
+ Show the full ASCII output to the user. This displays the ATRIS welcome visualization with workspace stats. Do this BEFORE responding to whatever the user said.
547
+
548
+ ## Workflow
539
549
 
540
550
  Detect: Project has \`atris/\` folder with MAP.md, TODO.md, PERSONA.md
541
551
 
542
- Workflow: plan → do → review
552
+ Commands: plan → do → review
543
553
 
544
554
  Key behaviors:
545
555
  - Read PERSONA.md (3-4 sentences, ASCII visuals)
package/commands/sync.js CHANGED
@@ -68,6 +68,70 @@ function syncAtris() {
68
68
  console.log('✓ Migrated TASK_CONTEXTS.md to TODO.md');
69
69
  }
70
70
 
71
+ // Update .claude/skills/atris/SKILL.md
72
+ const claudeSkillsDir = path.join(process.cwd(), '.claude', 'skills', 'atris');
73
+ const claudeSkillFile = path.join(claudeSkillsDir, 'SKILL.md');
74
+ const skillContent = `---
75
+ name: atris
76
+ description: ATRIS workspace navigation. Triggers on: atris, TODO, tasks, MAP.md, backlog, "where is X?"
77
+ allowed-tools: Read, Bash, Glob, Grep, Write, Edit
78
+ ---
79
+
80
+ # ATRIS Skill
81
+
82
+ ## IMPORTANT: First Interaction
83
+
84
+ **On your FIRST message in any ATRIS project, IMMEDIATELY run:**
85
+
86
+ \`\`\`bash
87
+ atris atris.md
88
+ \`\`\`
89
+
90
+ Show the full ASCII output to the user. This displays the ATRIS welcome visualization with workspace stats. Do this BEFORE responding to whatever the user said.
91
+
92
+ ## Workflow
93
+
94
+ Detect: Project has \`atris/\` folder with MAP.md, TODO.md, PERSONA.md
95
+
96
+ Commands: plan → do → review
97
+
98
+ Key behaviors:
99
+ - Read PERSONA.md (3-4 sentences, ASCII visuals)
100
+ - Check MAP.md for file:line refs
101
+ - Update TODO.md (claim tasks, delete when done)`;
102
+
103
+ if (!fs.existsSync(claudeSkillsDir)) {
104
+ fs.mkdirSync(claudeSkillsDir, { recursive: true });
105
+ }
106
+ const currentSkill = fs.existsSync(claudeSkillFile) ? fs.readFileSync(claudeSkillFile, 'utf8') : '';
107
+ if (currentSkill !== skillContent) {
108
+ fs.writeFileSync(claudeSkillFile, skillContent);
109
+ console.log('✓ Updated .claude/skills/atris/SKILL.md');
110
+ updated++;
111
+ }
112
+
113
+ // Update .claude/settings.json with SessionStart hook
114
+ const claudeSettingsFile = path.join(process.cwd(), '.claude', 'settings.json');
115
+ if (!fs.existsSync(claudeSettingsFile)) {
116
+ const claudeSettings = {
117
+ hooks: {
118
+ SessionStart: [
119
+ {
120
+ hooks: [
121
+ {
122
+ type: "command",
123
+ command: "[ -d atris ] && atris atris.md || true"
124
+ }
125
+ ]
126
+ }
127
+ ]
128
+ }
129
+ };
130
+ fs.writeFileSync(claudeSettingsFile, JSON.stringify(claudeSettings, null, 2));
131
+ console.log('✓ Created .claude/settings.json (SessionStart hook)');
132
+ updated++;
133
+ }
134
+
71
135
  if (updated === 0) {
72
136
  console.log('✓ Already up to date');
73
137
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "atris",
3
- "version": "2.0.12",
3
+ "version": "2.0.14",
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": {