create-byan-agent 2.9.4 → 2.9.6
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/install/bin/byan-cleanup.js +156 -0
- package/install/bin/byan-kanban.js +159 -0
- package/install/bin/byan-ledger.js +45 -0
- package/install/bin/create-byan-agent-v2.js +15 -1
- package/install/lib/cleanup/detector.js +154 -0
- package/install/lib/cleanup/executor.js +72 -0
- package/install/lib/staging-consent.js +149 -0
- package/install/lib/subagent-generator.js +208 -0
- package/install/lib/token-ledger.js +131 -0
- package/install/templates/.claude/agents/bmad-bmad-master.md +14 -0
- package/install/templates/.claude/agents/bmad-bmb-agent-builder.md +14 -0
- package/install/templates/.claude/agents/bmad-bmb-module-builder.md +14 -0
- package/install/templates/.claude/agents/bmad-bmb-workflow-builder.md +14 -0
- package/install/templates/.claude/agents/bmad-bmm-analyst.md +14 -0
- package/install/templates/.claude/agents/bmad-bmm-architect.md +14 -0
- package/install/templates/.claude/agents/bmad-bmm-dev.md +14 -0
- package/install/templates/.claude/agents/bmad-bmm-pm.md +14 -0
- package/install/templates/.claude/agents/bmad-bmm-quick-flow-solo-dev.md +14 -0
- package/install/templates/.claude/agents/bmad-bmm-quinn.md +14 -0
- package/install/templates/.claude/agents/bmad-bmm-sm.md +14 -0
- package/install/templates/.claude/agents/bmad-bmm-tech-writer.md +14 -0
- package/install/templates/.claude/agents/bmad-bmm-ux-designer.md +14 -0
- package/install/templates/.claude/agents/bmad-byan-v2.md +14 -0
- package/install/templates/.claude/agents/bmad-byan.md +152 -0
- package/install/templates/.claude/agents/bmad-carmack.md +14 -0
- package/install/templates/.claude/agents/bmad-cis-brainstorming-coach.md +14 -0
- package/install/templates/.claude/agents/bmad-cis-creative-problem-solver.md +14 -0
- package/install/templates/.claude/agents/bmad-cis-design-thinking-coach.md +14 -0
- package/install/templates/.claude/agents/bmad-cis-innovation-strategist.md +14 -0
- package/install/templates/.claude/agents/bmad-cis-presentation-master.md +14 -0
- package/install/templates/.claude/agents/bmad-cis-storyteller.md +14 -0
- package/install/templates/.claude/agents/bmad-claude.md +26 -0
- package/install/templates/.claude/agents/bmad-codex.md +26 -0
- package/install/templates/.claude/agents/bmad-compliance.md +68 -0
- package/install/templates/.claude/agents/bmad-drawio.md +25 -0
- package/install/templates/.claude/agents/bmad-expert-merise-agile.md +54 -0
- package/install/templates/.claude/agents/bmad-fact-checker.md +14 -0
- package/install/templates/.claude/agents/bmad-forgeron.md +14 -0
- package/install/templates/.claude/agents/bmad-hermes.md +59 -0
- package/install/templates/.claude/agents/bmad-marc.md +25 -0
- package/install/templates/.claude/agents/bmad-patnote.md +26 -0
- package/install/templates/.claude/agents/bmad-rachid.md +25 -0
- package/install/templates/.claude/agents/bmad-tao.md +14 -0
- package/install/templates/.claude/agents/bmad-tea-tea.md +14 -0
- package/install/templates/.claude/agents/bmad-yanstaller.md +47 -0
- package/install/templates/.claude/hooks/fact-check-absolutes.js +185 -0
- package/install/templates/.claude/hooks/fd-phase-guard.js +87 -0
- package/install/templates/.claude/hooks/fd-response-check.js +92 -0
- package/install/templates/.claude/hooks/lib/failure-detector.js +14 -0
- package/install/templates/.claude/hooks/pre-compact-save.js +148 -0
- package/install/templates/.claude/hooks/stage-to-byan.js +119 -0
- package/install/templates/.claude/hooks/tool-failure-guard.js +6 -0
- package/install/templates/.claude/hooks/tool-transparency.js +4 -0
- package/install/templates/.claude/settings.json +27 -0
- package/install/templates/.claude/skills/byan-byan/SKILL.md +115 -163
- package/install/templates/.claude/skills/byan-orchestrate/SKILL.md +100 -0
- package/install/templates/.githooks/pre-commit +75 -0
- package/install/templates/.github/extensions/byan-staging/extension.mjs +169 -0
- package/install/templates/.github/extensions/byan-staging/package.json +8 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/copilot.js +148 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/fd-state.js +163 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/kanban.js +226 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/peer-review.js +187 -0
- package/install/templates/_byan/mcp/byan-mcp-server/server.js +463 -0
- package/install/templates/detector.js +154 -0
- package/package.json +6 -7
- package/src/loadbalancer/capability-matrix.js +157 -0
- package/src/loadbalancer/config.js +141 -0
- package/src/loadbalancer/graceful-degradation.js +212 -0
- package/src/loadbalancer/health-probe.js +151 -0
- package/src/loadbalancer/hooks/claude-hooks.js +53 -0
- package/src/loadbalancer/hooks/copilot-hooks.js +74 -0
- package/src/loadbalancer/index.js +81 -0
- package/src/loadbalancer/loadbalancer.default.yaml +65 -0
- package/src/loadbalancer/loadbalancer.js +324 -0
- package/src/loadbalancer/mcp-server.js +304 -0
- package/src/loadbalancer/metrics.js +146 -0
- package/src/loadbalancer/native/claude-integration.js +64 -0
- package/src/loadbalancer/native/copilot-integration.js +59 -0
- package/src/loadbalancer/pressure-score.js +102 -0
- package/src/loadbalancer/providers/base-provider.js +80 -0
- package/src/loadbalancer/providers/byan-api-provider.js +132 -0
- package/src/loadbalancer/providers/claude-provider.js +113 -0
- package/src/loadbalancer/providers/copilot-provider.js +104 -0
- package/src/loadbalancer/rate-limit-tracker.js +216 -0
- package/src/loadbalancer/session-bridge.js +179 -0
- package/src/loadbalancer/state/db.js +211 -0
- package/src/loadbalancer/state/migrations/001-initial.sql +50 -0
- package/src/loadbalancer/tools/index.js +123 -0
- package/src/loadbalancer/velocity-estimator.js +147 -0
- package/src/staging/staging.js +394 -0
- package/update-byan-agent/bin/update-byan-agent.js +27 -2
- package/API-BYAN-V2.md +0 -741
- package/BMAD-QUICK-REFERENCE.md +0 -370
- package/CHANGELOG-v2.1.0.md +0 -371
- package/MIGRATION-v2.0-to-v2.1.md +0 -430
- package/README-BYAN-V2.md +0 -446
- package/TEST-GUIDE-v2.3.2.md +0 -161
package/README-BYAN-V2.md
DELETED
|
@@ -1,446 +0,0 @@
|
|
|
1
|
-
# BYAN v2.0 - Intelligent Agent Creator for GitHub Copilot CLI
|
|
2
|
-
|
|
3
|
-
**BYAN** (Builder of YAN) v2.0 is a specialized GitHub Copilot CLI agent that creates custom AI agents through intelligent, structured interviews.
|
|
4
|
-
|
|
5
|
-
## 🎯 What is BYAN?
|
|
6
|
-
|
|
7
|
-
BYAN guides you through a conversational interview to understand your needs, then automatically generates production-ready agent profiles for GitHub Copilot CLI. It applies **Merise Agile + TDD methodology** with **64 core mantras** to ensure quality and consistency.
|
|
8
|
-
|
|
9
|
-
### Key Features
|
|
10
|
-
|
|
11
|
-
#### Core Capabilities
|
|
12
|
-
- **Intelligent Interview System**: 4-phase structured interview (Context → Business → Agent Needs → Validation)
|
|
13
|
-
- **Automatic Profile Generation**: Creates `.md` agent files with YAML frontmatter + agent specifications
|
|
14
|
-
- **Built-in Validation**: Validates agent profiles against GitHub Copilot CLI requirements
|
|
15
|
-
- **Template System**: Flexible templates with placeholder resolution
|
|
16
|
-
- **Quality Enforcement**: Mantra IA-23 (Zero Emoji Pollution), clean code principles
|
|
17
|
-
- **State Machine Workflow**: INTERVIEW → ANALYSIS → GENERATION → COMPLETED
|
|
18
|
-
|
|
19
|
-
#### 🆕 BMAD Features (v2.1.0)
|
|
20
|
-
|
|
21
|
-
**NEW: 4 Advanced Modules for Enhanced Agent Creation**
|
|
22
|
-
|
|
23
|
-
1. **📚 Glossary Builder**
|
|
24
|
-
- Auto-builds domain-specific glossaries during interviews
|
|
25
|
-
- Validates definition clarity (min score: 0.7)
|
|
26
|
-
- Auto-triggers for complex domains (ecommerce, finance, healthcare)
|
|
27
|
-
- Suggests related concepts based on context
|
|
28
|
-
- **Tests**: 86/86 passing
|
|
29
|
-
|
|
30
|
-
2. **🔍 Five Whys Analyzer**
|
|
31
|
-
- Automated root cause analysis using "5 Whys" technique
|
|
32
|
-
- Detects pain points with 10+ keywords
|
|
33
|
-
- Asks up to 5 sequential WHY questions
|
|
34
|
-
- Early root cause detection at depth 3+
|
|
35
|
-
- Categorizes causes (technical/process/people/resource)
|
|
36
|
-
- **Tests**: 93/93 passing
|
|
37
|
-
|
|
38
|
-
3. **👂 Active Listener**
|
|
39
|
-
- Intelligent response processing with reformulation
|
|
40
|
-
- Automatic reformulation every 3rd response
|
|
41
|
-
- Validates confirmations and detects ambiguity
|
|
42
|
-
- Analyzes session patterns
|
|
43
|
-
- Generates session summaries with insights
|
|
44
|
-
- **Tests**: 124/124 passing
|
|
45
|
-
|
|
46
|
-
4. **✅ Mantras Validator**
|
|
47
|
-
- Validates agents against 64 BMAD/IA mantras
|
|
48
|
-
- Category-based validation (Philosophy, Process, Quality, AI-Specific)
|
|
49
|
-
- Compliance scoring (target: 80%+)
|
|
50
|
-
- Detailed violation reports
|
|
51
|
-
- Self-validating (meta!)
|
|
52
|
-
- **Tests**: 67/67 passing
|
|
53
|
-
|
|
54
|
-
**Total BMAD Tests**: 417/417 passing (100%)
|
|
55
|
-
|
|
56
|
-
See [BMAD-QUICK-REFERENCE.md](./BMAD-QUICK-REFERENCE.md) for usage examples.
|
|
57
|
-
|
|
58
|
-
## 📦 Installation
|
|
59
|
-
|
|
60
|
-
### Option 1: Via NPM (Recommandé)
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
# Installation globale
|
|
64
|
-
npm install -g create-byan-agent
|
|
65
|
-
|
|
66
|
-
# OU utilisation directe avec npx
|
|
67
|
-
npx create-byan-agent
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### Option 2: Via Git (Pour Développement)
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
# Cloner le repository
|
|
74
|
-
git clone <repository-url>
|
|
75
|
-
cd <repository-directory>
|
|
76
|
-
|
|
77
|
-
# Installer les dépendances
|
|
78
|
-
npm install
|
|
79
|
-
|
|
80
|
-
# Lancer les tests
|
|
81
|
-
npm test
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## 🎬 Quick Start
|
|
85
|
-
|
|
86
|
-
### Utilisation via NPX
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
# Créer un agent interactivement
|
|
90
|
-
npx create-byan-agent
|
|
91
|
-
|
|
92
|
-
# Ou utiliser l'API
|
|
93
|
-
node -e "
|
|
94
|
-
const ByanV2 = require('create-byan-agent');
|
|
95
|
-
const byan = new ByanV2();
|
|
96
|
-
byan.startSession().then(() => {
|
|
97
|
-
console.log('BYAN démarré!');
|
|
98
|
-
});
|
|
99
|
-
"
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
### Utilisation Programmatique
|
|
103
|
-
|
|
104
|
-
```javascript
|
|
105
|
-
const ByanV2 = require('create-byan-agent');
|
|
106
|
-
|
|
107
|
-
// Créer une instance
|
|
108
|
-
const byan = new ByanV2({
|
|
109
|
-
maxQuestions: 12,
|
|
110
|
-
outputDir: './_byan-output/bmb-creations'
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
// Démarrer une session
|
|
114
|
-
await byan.startSession();
|
|
115
|
-
|
|
116
|
-
// Obtenir une question
|
|
117
|
-
const question = await byan.getNextQuestion();
|
|
118
|
-
console.log(question.text);
|
|
119
|
-
|
|
120
|
-
// Soumettre une réponse
|
|
121
|
-
await byan.submitResponse('Ma réponse');
|
|
122
|
-
|
|
123
|
-
// Continuer jusqu'à complétion...
|
|
124
|
-
```
|
|
125
|
-
for (let i = 0; i < 11; i++) {
|
|
126
|
-
const nextQuestion = await byan.getNextQuestion();
|
|
127
|
-
console.log(nextQuestion);
|
|
128
|
-
await byan.submitResponse('Your answer');
|
|
129
|
-
}
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
### 4. Generate agent profile
|
|
133
|
-
|
|
134
|
-
```javascript
|
|
135
|
-
// Generate agent profile after interview
|
|
136
|
-
const profile = await byan.generateProfile();
|
|
137
|
-
|
|
138
|
-
// Profile is automatically saved to:
|
|
139
|
-
// .github/copilot/agents/<agent-name>.md
|
|
140
|
-
console.log('Agent profile created!');
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
## 💡 Usage Examples
|
|
144
|
-
|
|
145
|
-
### Example 1: Create Code Review Agent
|
|
146
|
-
|
|
147
|
-
```javascript
|
|
148
|
-
const ByanV2 = require('create-byan-agent');
|
|
149
|
-
|
|
150
|
-
async function createCodeReviewAgent() {
|
|
151
|
-
const byan = new ByanV2();
|
|
152
|
-
|
|
153
|
-
await byan.startSession();
|
|
154
|
-
|
|
155
|
-
// Answer interview questions
|
|
156
|
-
const responses = [
|
|
157
|
-
'code-review-assistant',
|
|
158
|
-
'An agent that reviews code for bugs and best practices',
|
|
159
|
-
'Software Development',
|
|
160
|
-
'Small team (1-5)',
|
|
161
|
-
'Yes',
|
|
162
|
-
'Code analysis, bug detection, best practices',
|
|
163
|
-
'Professional and constructive',
|
|
164
|
-
'Static analysis, pattern detection',
|
|
165
|
-
'Markdown reports with examples',
|
|
166
|
-
'Medium complexity',
|
|
167
|
-
'Yes',
|
|
168
|
-
'Yes'
|
|
169
|
-
];
|
|
170
|
-
|
|
171
|
-
for (const response of responses) {
|
|
172
|
-
await byan.submitResponse(response);
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
const profile = await byan.generateProfile();
|
|
176
|
-
console.log('✅ Agent created:', profile.filePath);
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
createCodeReviewAgent();
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
### Example 2: With BMAD Features
|
|
183
|
-
|
|
184
|
-
```javascript
|
|
185
|
-
const ByanV2 = require('create-byan-agent');
|
|
186
|
-
|
|
187
|
-
async function createWithBMAD() {
|
|
188
|
-
const byan = new ByanV2({
|
|
189
|
-
bmad_features: {
|
|
190
|
-
glossary_builder: { enabled: true },
|
|
191
|
-
five_whys: { enabled: true },
|
|
192
|
-
active_listener: { enabled: true },
|
|
193
|
-
mantras_validator: { enabled: true }
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
|
|
197
|
-
await byan.startSession();
|
|
198
|
-
|
|
199
|
-
// Start glossary for ecommerce domain
|
|
200
|
-
const glossary = byan.startGlossary('ecommerce');
|
|
201
|
-
byan.addConcept('Order', 'A customer purchase request...');
|
|
202
|
-
|
|
203
|
-
// Detect pain points
|
|
204
|
-
const detection = byan.detectPainPoints('Slow checkout process');
|
|
205
|
-
if (detection.needsWhys) {
|
|
206
|
-
const question = byan.askWhy();
|
|
207
|
-
// ... 5 Whys analysis
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
// Generate and validate
|
|
211
|
-
const profile = await byan.generateProfile();
|
|
212
|
-
const validation = byan.validateAgent(profile.content);
|
|
213
|
-
|
|
214
|
-
console.log(`Score: ${validation.score * 100}%`);
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
createWithBMAD();
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
### Example 3: Custom Configuration
|
|
221
|
-
|
|
222
|
-
```javascript
|
|
223
|
-
const byan = new ByanV2({
|
|
224
|
-
maxQuestions: 15,
|
|
225
|
-
outputDir: './my-agents',
|
|
226
|
-
env: 'standalone',
|
|
227
|
-
complexityThresholds: {
|
|
228
|
-
low: 25,
|
|
229
|
-
medium: 70
|
|
230
|
-
}
|
|
231
|
-
});
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
## 📚 Core Concepts
|
|
235
|
-
|
|
236
|
-
### State Machine
|
|
237
|
-
|
|
238
|
-
BYAN uses a state machine to manage the workflow:
|
|
239
|
-
|
|
240
|
-
```
|
|
241
|
-
INTERVIEW → ANALYSIS → GENERATION → COMPLETED
|
|
242
|
-
↓ ↓ ↓
|
|
243
|
-
ERROR ← ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
### Interview Phases
|
|
247
|
-
|
|
248
|
-
1. **CONTEXT** (Questions 1-3): Project name, description, tech stack
|
|
249
|
-
2. **BUSINESS** (Questions 4-6): Domain, actors, processes
|
|
250
|
-
3. **AGENT_NEEDS** (Questions 7-9): Role, capabilities, style
|
|
251
|
-
4. **VALIDATION** (Questions 10-12): Confirmation, edge cases
|
|
252
|
-
|
|
253
|
-
### Profile Structure
|
|
254
|
-
|
|
255
|
-
Generated agent profiles follow this structure:
|
|
256
|
-
|
|
257
|
-
```markdown
|
|
258
|
-
---
|
|
259
|
-
name: "agent-name"
|
|
260
|
-
description: "Brief description"
|
|
261
|
-
---
|
|
262
|
-
|
|
263
|
-
You must fully embody this agent's persona...
|
|
264
|
-
|
|
265
|
-
```xml
|
|
266
|
-
<agent id="agent.id" name="AgentName" title="Title" icon="🔧">
|
|
267
|
-
<activation>...</activation>
|
|
268
|
-
<persona>...</persona>
|
|
269
|
-
<capabilities>...</capabilities>
|
|
270
|
-
</agent>
|
|
271
|
-
\```
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
## 🔧 Configuration
|
|
275
|
-
|
|
276
|
-
### Default Configuration
|
|
277
|
-
|
|
278
|
-
```javascript
|
|
279
|
-
{
|
|
280
|
-
maxQuestions: 12,
|
|
281
|
-
complexityThresholds: {
|
|
282
|
-
low: 30,
|
|
283
|
-
medium: 60
|
|
284
|
-
},
|
|
285
|
-
outputDir: './_byan-output/bmb-creations',
|
|
286
|
-
env: 'copilot' // or 'standalone'
|
|
287
|
-
}
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
### Environment Variables
|
|
291
|
-
|
|
292
|
-
- `GITHUB_COPILOT=true` - Enables Copilot CLI context detection
|
|
293
|
-
|
|
294
|
-
## 🧪 Testing
|
|
295
|
-
|
|
296
|
-
```bash
|
|
297
|
-
# Run all tests
|
|
298
|
-
npm test
|
|
299
|
-
|
|
300
|
-
# Run specific test suite
|
|
301
|
-
npm test -- __tests__/byan-v2/context
|
|
302
|
-
|
|
303
|
-
# Run with coverage
|
|
304
|
-
npm test -- --coverage
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
**Current Test Status**:
|
|
308
|
-
- **Total**: 1,308 tests passing (100%)
|
|
309
|
-
- **Core v2.0**: 891/891 passing
|
|
310
|
-
- **BMAD v2.1**: 417/417 passing
|
|
311
|
-
- **Coverage**: 95%+
|
|
312
|
-
|
|
313
|
-
## 📖 API Reference
|
|
314
|
-
|
|
315
|
-
See [API.md](./API.md) for complete API documentation.
|
|
316
|
-
|
|
317
|
-
### ByanV2
|
|
318
|
-
|
|
319
|
-
Main class for BYAN v2 operations.
|
|
320
|
-
|
|
321
|
-
**Methods:**
|
|
322
|
-
- `constructor(config)` - Initialize BYAN with optional config
|
|
323
|
-
- `startSession()` - Start new interview session
|
|
324
|
-
- `getNextQuestion()` - Get next interview question
|
|
325
|
-
- `submitResponse(response)` - Submit response to current question
|
|
326
|
-
- `generateProfile()` - Generate agent profile after interview
|
|
327
|
-
- `endSession()` - End current session
|
|
328
|
-
- `getMetricsSummary()` - Get session metrics
|
|
329
|
-
- `isCopilotContext()` - Check if running in Copilot CLI
|
|
330
|
-
|
|
331
|
-
### AgentProfileValidator
|
|
332
|
-
|
|
333
|
-
Validate agent profile files.
|
|
334
|
-
|
|
335
|
-
**Methods:**
|
|
336
|
-
- `validate(profileContent)` - Validate profile content
|
|
337
|
-
- `validateYamlFrontmatter(content)` - Validate YAML frontmatter
|
|
338
|
-
- `validateNameFormat(name)` - Validate agent name format
|
|
339
|
-
- `detectEmojis(text)` - Detect emoji pollution
|
|
340
|
-
|
|
341
|
-
### ProfileTemplate
|
|
342
|
-
|
|
343
|
-
Template rendering system.
|
|
344
|
-
|
|
345
|
-
**Methods:**
|
|
346
|
-
- `render(template, data)` - Render template with data
|
|
347
|
-
- `loadTemplate(templateName)` - Load template from file
|
|
348
|
-
- `renderFromFile(templateName, data)` - Load and render template
|
|
349
|
-
- `validateTemplate(template, requiredPlaceholders)` - Validate template
|
|
350
|
-
- `extractPlaceholders(template)` - Extract placeholders from template
|
|
351
|
-
|
|
352
|
-
## ⚠️ Troubleshooting
|
|
353
|
-
|
|
354
|
-
### Issue: Tests failing with winston errors
|
|
355
|
-
|
|
356
|
-
**Solution**: Ensure winston is installed:
|
|
357
|
-
```bash
|
|
358
|
-
npm install winston
|
|
359
|
-
```
|
|
360
|
-
|
|
361
|
-
### Issue: UUID import errors
|
|
362
|
-
|
|
363
|
-
**Solution**: BYAN v2 uses crypto.randomUUID() (Node 18+). Ensure Node version >= 18.
|
|
364
|
-
|
|
365
|
-
### Issue: Agent profile not validated
|
|
366
|
-
|
|
367
|
-
**Solution**: Check profile follows format:
|
|
368
|
-
- Valid YAML frontmatter with `name` and `description`
|
|
369
|
-
- Name format: lowercase, alphanumeric, hyphens only
|
|
370
|
-
- Description: 10-200 characters
|
|
371
|
-
- No emojis (Mantra IA-23)
|
|
372
|
-
- File size < 50KB
|
|
373
|
-
|
|
374
|
-
## 🤝 Contributing
|
|
375
|
-
|
|
376
|
-
See [CONTRIBUTING.md](./CONTRIBUTING.md) for development guidelines.
|
|
377
|
-
|
|
378
|
-
### Development Setup
|
|
379
|
-
|
|
380
|
-
```bash
|
|
381
|
-
# Clone repo
|
|
382
|
-
git clone <repository-url>
|
|
383
|
-
|
|
384
|
-
# Install dependencies
|
|
385
|
-
npm install
|
|
386
|
-
|
|
387
|
-
# Run tests in watch mode
|
|
388
|
-
npm test -- --watch
|
|
389
|
-
|
|
390
|
-
# Check code style
|
|
391
|
-
npm run lint
|
|
392
|
-
```
|
|
393
|
-
|
|
394
|
-
### Running in Development
|
|
395
|
-
|
|
396
|
-
```bash
|
|
397
|
-
# Start development mode
|
|
398
|
-
npm run dev
|
|
399
|
-
|
|
400
|
-
# Run single test file
|
|
401
|
-
npm test -- __tests__/byan-v2/integration/system-integration.test.js
|
|
402
|
-
```
|
|
403
|
-
|
|
404
|
-
## 📐 Architecture
|
|
405
|
-
|
|
406
|
-
See [ARCHITECTURE.md](./ARCHITECTURE.md) for detailed architecture documentation.
|
|
407
|
-
|
|
408
|
-
### High-Level Components
|
|
409
|
-
|
|
410
|
-
```
|
|
411
|
-
┌─────────────────┐
|
|
412
|
-
│ ByanV2 Main │
|
|
413
|
-
└────────┬────────┘
|
|
414
|
-
│
|
|
415
|
-
┌────┴─────────────────┐
|
|
416
|
-
│ │
|
|
417
|
-
┌───▼────────┐ ┌─────▼──────┐
|
|
418
|
-
│ Session │ │ State │
|
|
419
|
-
│ State │ │ Machine │
|
|
420
|
-
└────────────┘ └─────┬──────┘
|
|
421
|
-
│
|
|
422
|
-
┌───────────┼───────────┐
|
|
423
|
-
│ │ │
|
|
424
|
-
┌────▼────┐ ┌───▼────┐ ┌───▼────────┐
|
|
425
|
-
│Interview│ │Analysis│ │Generation │
|
|
426
|
-
│ State │ │ State │ │ State │
|
|
427
|
-
└─────────┘ └────────┘ └────────────┘
|
|
428
|
-
```
|
|
429
|
-
|
|
430
|
-
## 📄 License
|
|
431
|
-
|
|
432
|
-
See LICENSE file for details.
|
|
433
|
-
|
|
434
|
-
## 🙏 Credits
|
|
435
|
-
|
|
436
|
-
Built with:
|
|
437
|
-
- **Merise Agile + TDD** methodology
|
|
438
|
-
- **64 Core Mantras** for quality
|
|
439
|
-
- **Zero Trust** principle (Challenge Before Confirm)
|
|
440
|
-
- **Mantra IA-23**: Zero Emoji Pollution
|
|
441
|
-
|
|
442
|
-
---
|
|
443
|
-
|
|
444
|
-
**Version**: 2.0.0-alpha
|
|
445
|
-
**Status**: MVP Complete (64/77 SP delivered)
|
|
446
|
-
**Test Coverage**: 95% (492/517 tests passing)
|
package/TEST-GUIDE-v2.3.2.md
DELETED
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
# Test Guide - v2.3.2 Node.js 12+ Compatibility
|
|
2
|
-
|
|
3
|
-
## What Was Fixed
|
|
4
|
-
|
|
5
|
-
### Problem on Server (Node v12.22.12)
|
|
6
|
-
```
|
|
7
|
-
SyntaxError: Unexpected token '.'
|
|
8
|
-
at line 529: interviewResults.agents.essential?.join(', ')
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
**Root cause:** Optional chaining operator (`?.`) not supported in Node < 14
|
|
12
|
-
|
|
13
|
-
### Solution Applied
|
|
14
|
-
Replaced all optional chaining in `install/` directory:
|
|
15
|
-
|
|
16
|
-
**Before (Node 14+ only):**
|
|
17
|
-
```javascript
|
|
18
|
-
interviewResults.agents.essential?.join(', ')
|
|
19
|
-
config?.systemPrompt
|
|
20
|
-
info?.specialist || null
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
**After (Node 12+ compatible):**
|
|
24
|
-
```javascript
|
|
25
|
-
interviewResults.agents.essential ? interviewResults.agents.essential.join(', ') : 'none'
|
|
26
|
-
config ? config.systemPrompt : undefined
|
|
27
|
-
info ? (info.specialist || null) : null
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### Files Modified
|
|
31
|
-
1. `install/bin/create-byan-agent-v2.js` - 4 fixes
|
|
32
|
-
2. `install/lib/phase2-chat.js` - 1 fix
|
|
33
|
-
3. `install/lib/yanstaller/platform-selector.js` - 2 fixes
|
|
34
|
-
4. `install/lib/yanstaller/agent-launcher.js` - 2 fixes
|
|
35
|
-
5. `package.json` - engines: `node >=12.0.0` (was >=18.0.0)
|
|
36
|
-
|
|
37
|
-
**Total:** 9 optional chaining operators removed
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## Testing on Node 12
|
|
42
|
-
|
|
43
|
-
### Install Test (Node v12.22.12)
|
|
44
|
-
```bash
|
|
45
|
-
# Clean install
|
|
46
|
-
sudo npm install -g create-byan-agent@2.3.2
|
|
47
|
-
|
|
48
|
-
# Should now work without syntax errors
|
|
49
|
-
create-byan-agent --version
|
|
50
|
-
# → 2.3.2
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### Quick Mode Test
|
|
54
|
-
```bash
|
|
55
|
-
cd /tmp/test-project
|
|
56
|
-
npm init -y
|
|
57
|
-
|
|
58
|
-
# Run installer in AUTO mode
|
|
59
|
-
npx create-byan-agent@2.3.2
|
|
60
|
-
# Select: 🚀 AUTO - Quick install
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### Custom Mode Test
|
|
64
|
-
```bash
|
|
65
|
-
cd /tmp/test-project-2
|
|
66
|
-
npm init -y
|
|
67
|
-
|
|
68
|
-
# Run installer in CUSTOM mode
|
|
69
|
-
npx create-byan-agent@2.3.2
|
|
70
|
-
# Select: 🎯 CUSTOM - Guided interview
|
|
71
|
-
# Answer questions...
|
|
72
|
-
# Select AI platform: GitHub Copilot CLI / Codex / Claude
|
|
73
|
-
# Auth check should work
|
|
74
|
-
# Phase 2 conversation should work
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
## Expected Behavior
|
|
80
|
-
|
|
81
|
-
### ✅ Should Work
|
|
82
|
-
- No syntax errors on Node 12+
|
|
83
|
-
- Installation completes successfully
|
|
84
|
-
- All interactive prompts work
|
|
85
|
-
- Platform selection works
|
|
86
|
-
- Auth verification works
|
|
87
|
-
- Phase 2 conversation works (if authenticated)
|
|
88
|
-
|
|
89
|
-
### ⚠️ Graceful Degradation
|
|
90
|
-
If not authenticated to AI platform:
|
|
91
|
-
```
|
|
92
|
-
⚠️ copilot n'est pas authentifié ou non disponible
|
|
93
|
-
Pour vous connecter, exécutez: gh auth login
|
|
94
|
-
|
|
95
|
-
? Continuer avec configuration AUTO (sans conversation)? (Y/n)
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
## Version History
|
|
101
|
-
|
|
102
|
-
| Version | Date | Node Support | Changes |
|
|
103
|
-
|---------|------|--------------|---------|
|
|
104
|
-
| 2.3.0 | Feb 11 | >=18.0.0 | Cost optimizer integration |
|
|
105
|
-
| 2.3.1 | Feb 11 | >=18.0.0 | AI platform selection + auth |
|
|
106
|
-
| 2.3.2 | Feb 11 | >=12.0.0 | **Node 12+ compatibility** ✅ |
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
## Verification Checklist
|
|
111
|
-
|
|
112
|
-
**On Node 12 server:**
|
|
113
|
-
- [ ] `npm install -g create-byan-agent@2.3.2` succeeds
|
|
114
|
-
- [ ] `create-byan-agent --version` returns `2.3.2`
|
|
115
|
-
- [ ] `create-byan-agent` launches without syntax errors
|
|
116
|
-
- [ ] AUTO mode completes successfully
|
|
117
|
-
- [ ] CUSTOM mode shows platform selection
|
|
118
|
-
- [ ] Auth check provides helpful error if not logged in
|
|
119
|
-
- [ ] Can fallback to AUTO if auth fails
|
|
120
|
-
|
|
121
|
-
**On Node 18+ (modern):**
|
|
122
|
-
- [ ] All above tests pass
|
|
123
|
-
- [ ] No regressions
|
|
124
|
-
- [ ] Cost optimizer worker still works
|
|
125
|
-
|
|
126
|
-
---
|
|
127
|
-
|
|
128
|
-
## NPM Publication
|
|
129
|
-
|
|
130
|
-
```bash
|
|
131
|
-
cd ~/conception
|
|
132
|
-
npm publish --access public --otp=XXXXXX
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
**Package:** create-byan-agent@2.3.2
|
|
136
|
-
**Size:** 1.4 MB tarball, 5.5 MB unpacked
|
|
137
|
-
**Files:** 894
|
|
138
|
-
**Node:** >=12.0.0 ✅
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
## Rollback Plan
|
|
143
|
-
|
|
144
|
-
If issues on Node 18+:
|
|
145
|
-
```bash
|
|
146
|
-
npm install -g create-byan-agent@2.3.0
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
If issues on Node 12:
|
|
150
|
-
```bash
|
|
151
|
-
# Upgrade Node.js on server (recommended)
|
|
152
|
-
nvm install 18
|
|
153
|
-
nvm use 18
|
|
154
|
-
npm install -g create-byan-agent@2.3.2
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
|
|
159
|
-
**Status:** Ready for NPM publication
|
|
160
|
-
**Tested:** Syntax validation passed
|
|
161
|
-
**Compatibility:** Node 12.0.0 to latest ✅
|