chati-dev 3.0.3 → 3.0.5

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.
@@ -70,7 +70,17 @@ Before determining state, check if the user passed a subcommand:
70
70
  -> First run. Go to Step 4 (New Project Setup)
71
71
  ```
72
72
 
73
- **If session.yaml has active project:**
73
+ **If session.yaml has project BUT current_agent is empty AND all agents are "pending":**
74
+ ```
75
+ -> Fresh install (installer created session.yaml but no agent has run yet).
76
+ -> Skip directly to Step 4d (Route to First Agent).
77
+ -> Use project.type from session.yaml (already set by installer).
78
+ -> Use language from session.yaml (already set by installer).
79
+ -> Do NOT ask project type or language again — installer already collected these.
80
+ -> Do NOT present options — immediately activate the first agent.
81
+ ```
82
+
83
+ **If session.yaml has active project (current_agent is set OR at least one agent is not "pending"):**
74
84
  ```
75
85
  -> Resume session. Go to Step 5 (Session Resume)
76
86
  ```
@@ -155,9 +165,18 @@ user_level_confidence: 0.0
155
165
  ```
156
166
 
157
167
  #### 3d. Route to First Agent
168
+
169
+ This step is reached either from Step 4 (full setup) OR directly from Step 3 (fresh install).
170
+ In fresh install case, project.type and language are already in session.yaml — use them directly.
171
+
158
172
  ```
159
- If greenfield -> Read chati.dev/agents/discover/greenfield-wu.md -> Activate
160
- If brownfield -> Read chati.dev/agents/discover/brownfield-wu.md -> Activate
173
+ 1. Update session.yaml: current_agent = greenfield-wu | brownfield-wu (based on project.type)
174
+ 2. Activate Session Lock (see Session Lock Protocol)
175
+ 3. If greenfield -> Read chati.dev/agents/discover/greenfield-wu.md -> Activate IMMEDIATELY
176
+ If brownfield -> Read chati.dev/agents/discover/brownfield-wu.md -> Activate IMMEDIATELY
177
+ 4. The agent starts its work right away — no "Continue with X?" prompt needed
178
+ For greenfield-wu: begin asking the user about their project vision
179
+ For brownfield-wu: begin analyzing the existing codebase
161
180
  ```
162
181
 
163
182
  ### Step 5: Session Resume
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chati-dev",
3
- "version": "3.0.3",
3
+ "version": "3.0.5",
4
4
  "description": "AI-Powered Multi-Agent Orchestration System — Structured vibe coding for Full Stack Development",
5
5
  "type": "module",
6
6
  "bin": {
@@ -180,15 +180,30 @@ ALL responses MUST be in this language. This overrides any global setting.
180
180
 
181
181
  If session.yaml does not exist or has no language field, default to English.
182
182
 
183
+ ## CRITICAL — Provider Context Mapping
184
+
185
+ The orchestrator was written for Claude Code. You are running on **Codex CLI**.
186
+ When the orchestrator references Claude-specific files, use these equivalents:
187
+
188
+ | Orchestrator says | You use instead |
189
+ |-------------------|-----------------|
190
+ | \`CLAUDE.md\` | \`AGENTS.md\` |
191
+ | \`CLAUDE.local.md\` | \`.chati/session.yaml\` (session state only) |
192
+ | \`.claude/rules/chati/\` | \`chati.dev/context/\` |
193
+ | \`.claude/commands/\` | \`.agents/skills/\` |
194
+ | \`/chati\` | \`$chati\` |
195
+
196
+ **NEVER create or reference CLAUDE.md, CLAUDE.local.md, or .claude/ directories.**
197
+
183
198
  ## Load
184
199
 
185
200
  Read and execute the full orchestrator at \`chati.dev/orchestrator/chati.md\`.
186
201
 
187
- Pass through all context: session state, handoffs, artifacts, and user input.
202
+ Apply the Provider Context Mapping above when following the orchestrator instructions.
188
203
 
189
204
  **Context to pass:**
190
205
  - \`.chati/session.yaml\` (session state — includes language)
191
- - \`AGENTS.md\` (project context — auto-generated)
206
+ - \`AGENTS.md\` (project context — auto-generated from base content)
192
207
  - \`chati.dev/artifacts/handoffs/\` (latest handoff)
193
208
  - \`chati.dev/config.yaml\` (version info)
194
209
 
@@ -210,10 +225,21 @@ Read \`.chati/session.yaml\` field \`language\` BEFORE anything else.
210
225
  ALL responses MUST be in this language (en, pt, es, fr).
211
226
  If session.yaml does not exist or has no language field, default to English.
212
227
 
228
+ CRITICAL — Provider Context Mapping:
229
+ The orchestrator was written for Claude Code. You are running on Gemini CLI.
230
+ When the orchestrator references Claude-specific files, use these equivalents:
231
+ - CLAUDE.md -> GEMINI.md
232
+ - CLAUDE.local.md -> .chati/session.yaml (session state only)
233
+ - .claude/rules/chati/ -> chati.dev/context/
234
+ - .claude/commands/ -> .gemini/commands/
235
+ NEVER create or reference CLAUDE.md, CLAUDE.local.md, or .claude/ directories.
236
+
213
237
  Read and execute the full orchestrator at \`chati.dev/orchestrator/chati.md\`.
238
+ Apply the Provider Context Mapping above when following instructions.
214
239
 
215
240
  Context to load:
216
241
  - \`.chati/session.yaml\` (session state — includes language)
242
+ - \`GEMINI.md\` (project context — auto-generated)
217
243
  - \`chati.dev/artifacts/handoffs/\` (latest handoff)
218
244
  - \`chati.dev/config.yaml\` (version info)
219
245
 
@@ -247,11 +273,26 @@ ALL responses MUST be in this language. This overrides any global setting.
247
273
 
248
274
  If session.yaml does not exist or has no language field, default to English.
249
275
 
276
+ ## CRITICAL — Provider Context Mapping
277
+
278
+ The orchestrator was written for Claude Code. You are running on **GitHub Copilot CLI**.
279
+ When the orchestrator references Claude-specific files, use these equivalents:
280
+
281
+ | Orchestrator says | You use instead |
282
+ |-------------------|-----------------|
283
+ | \`CLAUDE.md\` | \`AGENTS.md\` |
284
+ | \`CLAUDE.local.md\` | \`.chati/session.yaml\` (session state only) |
285
+ | \`.claude/rules/chati/\` | \`chati.dev/context/\` |
286
+ | \`.claude/commands/\` | \`.github/agents/\` |
287
+ | \`/chati\` | \`@chati\` |
288
+
289
+ **NEVER create or reference CLAUDE.md, CLAUDE.local.md, or .claude/ directories.**
290
+
250
291
  ## Load
251
292
 
252
293
  Read and execute the full orchestrator at \`chati.dev/orchestrator/chati.md\`.
253
294
 
254
- Pass through all context: session state, handoffs, artifacts, and user input.
295
+ Apply the Provider Context Mapping above when following the orchestrator instructions.
255
296
 
256
297
  **Context to pass:**
257
298
  - \`.chati/session.yaml\` (session state — includes language)
@@ -70,6 +70,9 @@ export async function runWizard(targetDir, options = {}) {
70
70
  await stepConfirmation(config);
71
71
 
72
72
  // Step 5: Installation + Validation
73
+ const primaryIDE = selectedIDEs[selectedIDEs.length - 1];
74
+ const primaryIDEName = IDE_CONFIGS[primaryIDE]?.name || primaryIDE;
75
+
73
76
  console.log();
74
77
  const installSpinner = createSpinner(t('installer.installing'));
75
78
  installSpinner.start();
@@ -80,7 +83,17 @@ export async function runWizard(targetDir, options = {}) {
80
83
 
81
84
  showStep(t('installer.created_chati'));
82
85
  showStep(t('installer.created_framework'));
83
- showStep(t('installer.created_commands'));
86
+
87
+ // Show provider-specific command creation
88
+ const commandStepMap = {
89
+ 'claude-code': 'Created .claude/commands/ (thin router)',
90
+ 'gemini-cli': 'Created .gemini/commands/ (TOML command)',
91
+ 'codex-cli': 'Created .agents/skills/chati/ (Codex skill)',
92
+ 'github-copilot': 'Created .github/agents/ (Copilot agent)',
93
+ };
94
+ const commandStep = commandStepMap[primaryIDE] || t('installer.created_commands');
95
+ showStep(commandStep);
96
+
84
97
  showStep(t('installer.installed_constitution'));
85
98
  showStep(t('installer.created_session'));
86
99
  if (selectedIDEs.includes('claude-code')) {
@@ -118,8 +131,6 @@ export async function runWizard(targetDir, options = {}) {
118
131
  p.outro(t('installer.success'));
119
132
 
120
133
  // Show quick start — same experience across all providers
121
- const primaryIDE = selectedIDEs[selectedIDEs.length - 1];
122
- const primaryIDEName = IDE_CONFIGS[primaryIDE]?.name || primaryIDE;
123
134
  const invokeCmdMap = {
124
135
  'github-copilot': '@chati',
125
136
  'codex-cli': '$chati',