create-byan-agent 1.2.4 → 1.2.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.
- package/CHANGELOG.md +1 -1
- package/README.md +3 -0
- package/bin/create-byan-agent.js +9 -2
- package/lib/yanstaller/interviewer.js +27 -10
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
-
## [1.2.
|
|
8
|
+
## [1.2.5] - 2026-02-04
|
|
9
9
|
|
|
10
10
|
### Added
|
|
11
11
|
- **Interactive override**: `--interactive` flag to force prompts even without TTY (useful in npm scripts).
|
package/README.md
CHANGED
|
@@ -1025,6 +1025,9 @@ create-byan-agent --interactive
|
|
|
1025
1025
|
|
|
1026
1026
|
# Custom mode with specific platform
|
|
1027
1027
|
create-byan-agent --mode=custom --platforms=copilot-cli
|
|
1028
|
+
|
|
1029
|
+
# Install on all supported platforms
|
|
1030
|
+
create-byan-agent --platforms=all
|
|
1028
1031
|
|
|
1029
1032
|
# Full installation without backup
|
|
1030
1033
|
create-byan-agent --mode=full --no-backup
|
package/bin/create-byan-agent.js
CHANGED
|
@@ -36,6 +36,13 @@ function normalizePlatforms(list) {
|
|
|
36
36
|
return list.map(normalizePlatformName).filter(Boolean);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
function expandAllPlatforms(list) {
|
|
40
|
+
if (list.includes('all')) {
|
|
41
|
+
return ['copilot-cli', 'vscode', 'codex', 'claude-code'];
|
|
42
|
+
}
|
|
43
|
+
return list;
|
|
44
|
+
}
|
|
45
|
+
|
|
39
46
|
// ASCII Art Banner
|
|
40
47
|
const banner = `
|
|
41
48
|
${chalk.blue('╔════════════════════════════════════════════════════════════╗')}
|
|
@@ -111,7 +118,7 @@ async function main(options = {}) {
|
|
|
111
118
|
logger.info(chalk.bold('\nSTEP 3/7: Interview (skipped - silent)\n'));
|
|
112
119
|
|
|
113
120
|
const parsedAgents = parseList(options.agents);
|
|
114
|
-
const parsedPlatforms = normalizePlatforms(parseList(options.platforms));
|
|
121
|
+
const parsedPlatforms = expandAllPlatforms(normalizePlatforms(parseList(options.platforms)));
|
|
115
122
|
|
|
116
123
|
let mode = options.mode || (parsedAgents.length > 0 ? 'custom' : (recommendations.mode || 'minimal'));
|
|
117
124
|
let agents = parsedAgents;
|
|
@@ -149,7 +156,7 @@ async function main(options = {}) {
|
|
|
149
156
|
};
|
|
150
157
|
} else {
|
|
151
158
|
logger.info(chalk.bold('\nSTEP 3/7: Interview\n'));
|
|
152
|
-
const preferredPlatforms = normalizePlatforms(parseList(options.platforms));
|
|
159
|
+
const preferredPlatforms = expandAllPlatforms(normalizePlatforms(parseList(options.platforms)));
|
|
153
160
|
answers = await interviewer.ask(recommendations, {
|
|
154
161
|
detection,
|
|
155
162
|
preferredPlatforms
|
|
@@ -149,6 +149,7 @@ async function ask(recommendation, options = {}) {
|
|
|
149
149
|
name: 'platforms',
|
|
150
150
|
message: 'Which platforms to install on?',
|
|
151
151
|
choices: [
|
|
152
|
+
{ name: 'All detected platforms', value: '__all_detected__', checked: false },
|
|
152
153
|
{ name: 'GitHub Copilot CLI (.github/agents/)', value: 'copilot-cli', checked: isDefault('copilot-cli', true) },
|
|
153
154
|
{ name: 'VSCode Copilot Extension', value: 'vscode', checked: isDefault('vscode', true) },
|
|
154
155
|
{ name: 'Codex (.codex/prompts/)', value: 'codex', checked: isDefault('codex', false) },
|
|
@@ -157,6 +158,22 @@ async function ask(recommendation, options = {}) {
|
|
|
157
158
|
validate: (input) => input.length > 0 || 'Select at least one platform'
|
|
158
159
|
}
|
|
159
160
|
]);
|
|
161
|
+
|
|
162
|
+
let selectedPlatforms = platformAnswer.platforms;
|
|
163
|
+
if (selectedPlatforms.includes('__all_detected__')) {
|
|
164
|
+
const detected = buildDefaultPlatforms(options);
|
|
165
|
+
selectedPlatforms = detected.length > 0
|
|
166
|
+
? detected
|
|
167
|
+
: ['copilot-cli', 'vscode', 'codex', 'claude-code'];
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
const isFrench = langAnswer.language === 'Francais';
|
|
171
|
+
const platformSummary = selectedPlatforms.join(', ');
|
|
172
|
+
if (isFrench) {
|
|
173
|
+
logger.info(`Plateformes retenues: ${platformSummary}`);
|
|
174
|
+
} else {
|
|
175
|
+
logger.info(`Selected platforms: ${platformSummary}`);
|
|
176
|
+
}
|
|
160
177
|
|
|
161
178
|
// Q6: Create sample agent
|
|
162
179
|
const sampleAnswer = await inquirer.prompt([
|
|
@@ -180,16 +197,16 @@ async function ask(recommendation, options = {}) {
|
|
|
180
197
|
|
|
181
198
|
logger.info('');
|
|
182
199
|
|
|
183
|
-
return {
|
|
184
|
-
userName: nameAnswer.userName,
|
|
185
|
-
language: langAnswer.language,
|
|
186
|
-
mode: modeAnswer.mode,
|
|
187
|
-
agents: selectedAgents,
|
|
188
|
-
targetPlatforms:
|
|
189
|
-
createSampleAgent: sampleAnswer.createSample,
|
|
190
|
-
createBackup: backupAnswer.createBackup
|
|
191
|
-
};
|
|
192
|
-
}
|
|
200
|
+
return {
|
|
201
|
+
userName: nameAnswer.userName,
|
|
202
|
+
language: langAnswer.language,
|
|
203
|
+
mode: modeAnswer.mode,
|
|
204
|
+
agents: selectedAgents,
|
|
205
|
+
targetPlatforms: selectedPlatforms,
|
|
206
|
+
createSampleAgent: sampleAnswer.createSample,
|
|
207
|
+
createBackup: backupAnswer.createBackup
|
|
208
|
+
};
|
|
209
|
+
}
|
|
193
210
|
|
|
194
211
|
/**
|
|
195
212
|
* Ask single question
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-byan-agent",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.5",
|
|
4
4
|
"description": "NPX installer for BYAN ecosystem - Agent creators (BYAN, BYAN-Test) with deployment (RACHID), integration (MARC), updates (PATNOTE), and optimization (CARMACK)",
|
|
5
5
|
"bin": {
|
|
6
6
|
"create-byan-agent": "bin/create-byan-agent.js"
|