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 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.4] - 2026-02-04
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
@@ -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: platformAnswer.platforms,
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.4",
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"