chati-dev 3.0.2 → 3.0.4
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/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Provider conventions (verified Feb 2026):
|
|
9
9
|
* - Gemini CLI: auto-loads GEMINI.md, uses .gemini/commands/*.toml, no rules/
|
|
10
|
-
* - Codex CLI: auto-loads AGENTS.md, uses .
|
|
10
|
+
* - Codex CLI: auto-loads AGENTS.md, uses .agents/skills/chati/SKILL.md for $chati
|
|
11
11
|
* - Copilot CLI: auto-loads AGENTS.md + CLAUDE.md + GEMINI.md natively (no COPILOT.md needed)
|
|
12
12
|
*/
|
|
13
13
|
|
|
@@ -43,10 +43,10 @@ export const IDE_CONFIGS = {
|
|
|
43
43
|
name: 'Codex CLI',
|
|
44
44
|
description: 'OpenAI Codex terminal agent',
|
|
45
45
|
recommended: false,
|
|
46
|
-
configPath: '.
|
|
46
|
+
configPath: '.agents/skills/chati/',
|
|
47
47
|
rulesFile: 'AGENTS.md',
|
|
48
48
|
mcpConfigFile: null,
|
|
49
|
-
formatNotes: '
|
|
49
|
+
formatNotes: 'Codex skill format (SKILL.md with YAML frontmatter)',
|
|
50
50
|
},
|
|
51
51
|
'gemini-cli': {
|
|
52
52
|
name: 'Gemini CLI',
|
package/src/installer/core.js
CHANGED
|
@@ -3,7 +3,7 @@ import { join, dirname } from 'path';
|
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
import { IDE_CONFIGS } from '../config/ide-configs.js';
|
|
5
5
|
import { generateClaudeMCPConfig } from '../config/mcp-configs.js';
|
|
6
|
-
import { generateSessionYaml, generateConfigYaml, generateClaudeMd, generateClaudeLocalMd,
|
|
6
|
+
import { generateSessionYaml, generateConfigYaml, generateClaudeMd, generateClaudeLocalMd, generateCodexSkill, generateGeminiRouter, generateCopilotAgent } from './templates.js';
|
|
7
7
|
import { generateContextFiles } from '../config/context-file-generator.js';
|
|
8
8
|
import { verifyManifest } from './manifest.js';
|
|
9
9
|
|
|
@@ -302,8 +302,9 @@ Pass through all context: session state, handoffs, artifacts, and user input.
|
|
|
302
302
|
);
|
|
303
303
|
}
|
|
304
304
|
} else if (ideKey === 'codex-cli') {
|
|
305
|
-
// Codex CLI:
|
|
306
|
-
|
|
305
|
+
// Codex CLI: chati skill via .agents/skills/chati/SKILL.md (invoke with $chati)
|
|
306
|
+
createDir(join(targetDir, '.agents', 'skills', 'chati'));
|
|
307
|
+
writeFileSync(join(targetDir, '.agents', 'skills', 'chati', 'SKILL.md'), generateCodexSkill(), 'utf-8');
|
|
307
308
|
} else if (ideKey === 'gemini-cli') {
|
|
308
309
|
// Gemini CLI: TOML command file (native format for /chati command)
|
|
309
310
|
writeFileSync(join(targetDir, '.gemini', 'commands', 'chati.toml'), generateGeminiRouter(), 'utf-8');
|
|
@@ -147,13 +147,24 @@ Type \`/chati\` to start.
|
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
/**
|
|
150
|
-
* Generate Codex CLI
|
|
150
|
+
* Generate Codex CLI skill (.agents/skills/chati/SKILL.md)
|
|
151
151
|
*
|
|
152
|
-
* Codex CLI
|
|
152
|
+
* Codex CLI uses the Skills system for extensibility.
|
|
153
|
+
* Skills live in .agents/skills/<name>/SKILL.md with YAML frontmatter.
|
|
154
|
+
* The user invokes with $chati or Codex auto-detects based on description.
|
|
153
155
|
* Also reads AGENTS.md for project context (auto-generated by context-file-generator).
|
|
154
156
|
*/
|
|
155
|
-
export function
|
|
156
|
-
return
|
|
157
|
+
export function generateCodexSkill() {
|
|
158
|
+
return `---
|
|
159
|
+
name: chati
|
|
160
|
+
description: >
|
|
161
|
+
Use this skill when the user wants to start or continue a Chati.dev session.
|
|
162
|
+
This activates the orchestrator which routes to the correct agent in the pipeline.
|
|
163
|
+
Invoke when the user mentions chati, /chati, wants to plan, build, or deploy a project.
|
|
164
|
+
Do NOT use for general coding questions unrelated to the Chati.dev pipeline.
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
# Chati.dev Orchestrator
|
|
157
168
|
|
|
158
169
|
## CRITICAL — Language Override
|
|
159
170
|
|
|
@@ -169,17 +180,34 @@ ALL responses MUST be in this language. This overrides any global setting.
|
|
|
169
180
|
|
|
170
181
|
If session.yaml does not exist or has no language field, default to English.
|
|
171
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
|
+
|
|
172
198
|
## Load
|
|
173
199
|
|
|
174
200
|
Read and execute the full orchestrator at \`chati.dev/orchestrator/chati.md\`.
|
|
175
201
|
|
|
176
|
-
|
|
202
|
+
Apply the Provider Context Mapping above when following the orchestrator instructions.
|
|
177
203
|
|
|
178
204
|
**Context to pass:**
|
|
179
205
|
- \`.chati/session.yaml\` (session state — includes language)
|
|
180
|
-
- \`AGENTS.md\` (project context — auto-generated)
|
|
206
|
+
- \`AGENTS.md\` (project context — auto-generated from base content)
|
|
181
207
|
- \`chati.dev/artifacts/handoffs/\` (latest handoff)
|
|
182
208
|
- \`chati.dev/config.yaml\` (version info)
|
|
209
|
+
|
|
210
|
+
**User input:** $ARGUMENTS
|
|
183
211
|
`;
|
|
184
212
|
}
|
|
185
213
|
|
|
@@ -197,10 +225,21 @@ Read \`.chati/session.yaml\` field \`language\` BEFORE anything else.
|
|
|
197
225
|
ALL responses MUST be in this language (en, pt, es, fr).
|
|
198
226
|
If session.yaml does not exist or has no language field, default to English.
|
|
199
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
|
+
|
|
200
237
|
Read and execute the full orchestrator at \`chati.dev/orchestrator/chati.md\`.
|
|
238
|
+
Apply the Provider Context Mapping above when following instructions.
|
|
201
239
|
|
|
202
240
|
Context to load:
|
|
203
241
|
- \`.chati/session.yaml\` (session state — includes language)
|
|
242
|
+
- \`GEMINI.md\` (project context — auto-generated)
|
|
204
243
|
- \`chati.dev/artifacts/handoffs/\` (latest handoff)
|
|
205
244
|
- \`chati.dev/config.yaml\` (version info)
|
|
206
245
|
|
|
@@ -234,11 +273,26 @@ ALL responses MUST be in this language. This overrides any global setting.
|
|
|
234
273
|
|
|
235
274
|
If session.yaml does not exist or has no language field, default to English.
|
|
236
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
|
+
|
|
237
291
|
## Load
|
|
238
292
|
|
|
239
293
|
Read and execute the full orchestrator at \`chati.dev/orchestrator/chati.md\`.
|
|
240
294
|
|
|
241
|
-
|
|
295
|
+
Apply the Provider Context Mapping above when following the orchestrator instructions.
|
|
242
296
|
|
|
243
297
|
**Context to pass:**
|
|
244
298
|
- \`.chati/session.yaml\` (session state — includes language)
|
package/src/wizard/index.js
CHANGED
|
@@ -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
|
-
|
|
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,9 +131,11 @@ 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
|
|
122
|
-
|
|
123
|
-
|
|
134
|
+
const invokeCmdMap = {
|
|
135
|
+
'github-copilot': '@chati',
|
|
136
|
+
'codex-cli': '$chati',
|
|
137
|
+
};
|
|
138
|
+
const invokeCmd = invokeCmdMap[primaryIDE] || '/chati';
|
|
124
139
|
showQuickStart(t('installer.quick_start_title'), [
|
|
125
140
|
`${t('installer.quick_start_1')} (${primaryIDEName})`,
|
|
126
141
|
`Type: ${invokeCmd}`,
|