agentic-qe 1.8.4 → 1.9.1
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/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
- package/CHANGELOG.md +394 -0
- package/README.md +86 -18
- package/dist/App.d.ts +5 -0
- package/dist/App.d.ts.map +1 -0
- package/dist/App.js +15 -0
- package/dist/App.js.map +1 -0
- package/dist/cli/commands/constitution.d.ts +34 -0
- package/dist/cli/commands/constitution.d.ts.map +1 -0
- package/dist/cli/commands/constitution.js +679 -0
- package/dist/cli/commands/constitution.js.map +1 -0
- package/dist/cli/commands/init.d.ts +8 -75
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +22 -2292
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/learn/index.d.ts.map +1 -1
- package/dist/cli/commands/learn/index.js +3 -4
- package/dist/cli/commands/learn/index.js.map +1 -1
- package/dist/cli/commands/telemetry.d.ts +36 -0
- package/dist/cli/commands/telemetry.d.ts.map +1 -0
- package/dist/cli/commands/telemetry.js +364 -0
- package/dist/cli/commands/telemetry.js.map +1 -0
- package/dist/cli/index.js +66 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/agents.d.ts +22 -0
- package/dist/cli/init/agents.d.ts.map +1 -0
- package/dist/cli/init/agents.js +522 -0
- package/dist/cli/init/agents.js.map +1 -0
- package/dist/cli/init/bash-wrapper.d.ts +14 -0
- package/dist/cli/init/bash-wrapper.d.ts.map +1 -0
- package/dist/cli/init/bash-wrapper.js +47 -0
- package/dist/cli/init/bash-wrapper.js.map +1 -0
- package/dist/cli/init/claude-config.d.ts +24 -0
- package/dist/cli/init/claude-config.d.ts.map +1 -0
- package/dist/cli/init/claude-config.js +275 -0
- package/dist/cli/init/claude-config.js.map +1 -0
- package/dist/cli/init/claude-md.d.ts +19 -0
- package/dist/cli/init/claude-md.d.ts.map +1 -0
- package/dist/cli/init/claude-md.js +153 -0
- package/dist/cli/init/claude-md.js.map +1 -0
- package/dist/cli/init/commands.d.ts +6 -0
- package/dist/cli/init/commands.d.ts.map +1 -0
- package/dist/cli/init/commands.js +83 -0
- package/dist/cli/init/commands.js.map +1 -0
- package/dist/cli/init/database-init.d.ts +15 -0
- package/dist/cli/init/database-init.d.ts.map +1 -0
- package/dist/cli/init/database-init.js +203 -0
- package/dist/cli/init/database-init.js.map +1 -0
- package/dist/cli/init/directory-structure.d.ts +14 -0
- package/dist/cli/init/directory-structure.d.ts.map +1 -0
- package/dist/cli/init/directory-structure.js +91 -0
- package/dist/cli/init/directory-structure.js.map +1 -0
- package/dist/cli/init/documentation.d.ts +14 -0
- package/dist/cli/init/documentation.d.ts.map +1 -0
- package/dist/cli/init/documentation.js +195 -0
- package/dist/cli/init/documentation.js.map +1 -0
- package/dist/cli/init/fleet-config.d.ts +34 -0
- package/dist/cli/init/fleet-config.d.ts.map +1 -0
- package/dist/cli/init/fleet-config.js +269 -0
- package/dist/cli/init/fleet-config.js.map +1 -0
- package/dist/cli/init/helpers.d.ts +6 -0
- package/dist/cli/init/helpers.d.ts.map +1 -0
- package/dist/cli/init/helpers.js +94 -0
- package/dist/cli/init/helpers.js.map +1 -0
- package/dist/cli/init/index.d.ts +32 -0
- package/dist/cli/init/index.d.ts.map +1 -0
- package/dist/cli/init/index.js +294 -0
- package/dist/cli/init/index.js.map +1 -0
- package/dist/cli/init/skills.d.ts +6 -0
- package/dist/cli/init/skills.d.ts.map +1 -0
- package/dist/cli/init/skills.js +138 -0
- package/dist/cli/init/skills.js.map +1 -0
- package/dist/cli/init/utils/file-utils.d.ts +74 -0
- package/dist/cli/init/utils/file-utils.d.ts.map +1 -0
- package/dist/cli/init/utils/file-utils.js +187 -0
- package/dist/cli/init/utils/file-utils.js.map +1 -0
- package/dist/cli/init/utils/index.d.ts +18 -0
- package/dist/cli/init/utils/index.d.ts.map +1 -0
- package/dist/cli/init/utils/index.js +48 -0
- package/dist/cli/init/utils/index.js.map +1 -0
- package/dist/cli/init/utils/log-utils.d.ts +47 -0
- package/dist/cli/init/utils/log-utils.d.ts.map +1 -0
- package/dist/cli/init/utils/log-utils.js +68 -0
- package/dist/cli/init/utils/log-utils.js.map +1 -0
- package/dist/cli/init/utils/path-utils.d.ts +91 -0
- package/dist/cli/init/utils/path-utils.d.ts.map +1 -0
- package/dist/cli/init/utils/path-utils.js +208 -0
- package/dist/cli/init/utils/path-utils.js.map +1 -0
- package/dist/cli/init/utils/validation-utils.d.ts +44 -0
- package/dist/cli/init/utils/validation-utils.d.ts.map +1 -0
- package/dist/cli/init/utils/validation-utils.js +68 -0
- package/dist/cli/init/utils/validation-utils.js.map +1 -0
- package/dist/cli/init/utils.d.ts +183 -0
- package/dist/cli/init/utils.d.ts.map +1 -0
- package/dist/cli/init/utils.js +354 -0
- package/dist/cli/init/utils.js.map +1 -0
- package/dist/components/Dashboard/Dashboard.d.ts +4 -0
- package/dist/components/Dashboard/Dashboard.d.ts.map +1 -0
- package/dist/components/Dashboard/Dashboard.js +148 -0
- package/dist/components/Dashboard/Dashboard.js.map +1 -0
- package/dist/components/Dashboard/DashboardHeader.d.ts +4 -0
- package/dist/components/Dashboard/DashboardHeader.d.ts.map +1 -0
- package/dist/components/Dashboard/DashboardHeader.js +138 -0
- package/dist/components/Dashboard/DashboardHeader.js.map +1 -0
- package/dist/constitution/evaluators/ast-evaluator.d.ts +42 -0
- package/dist/constitution/evaluators/ast-evaluator.d.ts.map +1 -0
- package/dist/constitution/evaluators/ast-evaluator.js +303 -0
- package/dist/constitution/evaluators/ast-evaluator.js.map +1 -0
- package/dist/constitution/evaluators/base.d.ts +144 -0
- package/dist/constitution/evaluators/base.d.ts.map +1 -0
- package/dist/constitution/evaluators/base.js +144 -0
- package/dist/constitution/evaluators/base.js.map +1 -0
- package/dist/constitution/evaluators/index.d.ts +19 -0
- package/dist/constitution/evaluators/index.d.ts.map +1 -0
- package/dist/constitution/evaluators/index.js +56 -0
- package/dist/constitution/evaluators/index.js.map +1 -0
- package/dist/constitution/evaluators/metric-evaluator.d.ts +59 -0
- package/dist/constitution/evaluators/metric-evaluator.d.ts.map +1 -0
- package/dist/constitution/evaluators/metric-evaluator.js +195 -0
- package/dist/constitution/evaluators/metric-evaluator.js.map +1 -0
- package/dist/constitution/evaluators/pattern-evaluator.d.ts +66 -0
- package/dist/constitution/evaluators/pattern-evaluator.d.ts.map +1 -0
- package/dist/constitution/evaluators/pattern-evaluator.js +221 -0
- package/dist/constitution/evaluators/pattern-evaluator.js.map +1 -0
- package/dist/constitution/evaluators/semantic-evaluator.d.ts +68 -0
- package/dist/constitution/evaluators/semantic-evaluator.d.ts.map +1 -0
- package/dist/constitution/evaluators/semantic-evaluator.js +250 -0
- package/dist/constitution/evaluators/semantic-evaluator.js.map +1 -0
- package/dist/contexts/DashboardContext.d.ts +41 -0
- package/dist/contexts/DashboardContext.d.ts.map +1 -0
- package/dist/contexts/DashboardContext.js +187 -0
- package/dist/contexts/DashboardContext.js.map +1 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts +40 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
- package/dist/core/memory/SwarmMemoryManager.js +291 -120
- package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
- package/dist/hooks/useKeyboardShortcuts.d.ts +12 -0
- package/dist/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/dist/hooks/useKeyboardShortcuts.js +69 -0
- package/dist/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/telemetry/instrumentation/agent.d.ts +158 -0
- package/dist/telemetry/instrumentation/agent.d.ts.map +1 -0
- package/dist/telemetry/instrumentation/agent.js +372 -0
- package/dist/telemetry/instrumentation/agent.js.map +1 -0
- package/dist/telemetry/instrumentation/index.d.ts +24 -0
- package/dist/telemetry/instrumentation/index.d.ts.map +1 -0
- package/dist/telemetry/instrumentation/index.js +54 -0
- package/dist/telemetry/instrumentation/index.js.map +1 -0
- package/dist/telemetry/instrumentation/memory.d.ts +313 -0
- package/dist/telemetry/instrumentation/memory.d.ts.map +1 -0
- package/dist/telemetry/instrumentation/memory.js +552 -0
- package/dist/telemetry/instrumentation/memory.js.map +1 -0
- package/dist/telemetry/instrumentation/task.d.ts +146 -0
- package/dist/telemetry/instrumentation/task.d.ts.map +1 -0
- package/dist/telemetry/instrumentation/task.js +305 -0
- package/dist/telemetry/instrumentation/task.js.map +1 -0
- package/dist/telemetry/metrics/collectors/cost.d.ts +246 -0
- package/dist/telemetry/metrics/collectors/cost.d.ts.map +1 -0
- package/dist/telemetry/metrics/collectors/cost.js +526 -0
- package/dist/telemetry/metrics/collectors/cost.js.map +1 -0
- package/dist/telemetry/metrics/collectors/pricing-config.d.ts +87 -0
- package/dist/telemetry/metrics/collectors/pricing-config.d.ts.map +1 -0
- package/dist/telemetry/metrics/collectors/pricing-config.js +207 -0
- package/dist/telemetry/metrics/collectors/pricing-config.js.map +1 -0
- package/dist/telemetry/metrics/index.d.ts +4 -1
- package/dist/telemetry/metrics/index.d.ts.map +1 -1
- package/dist/telemetry/metrics/index.js +18 -2
- package/dist/telemetry/metrics/index.js.map +1 -1
- package/dist/telemetry/types.d.ts +1 -1
- package/dist/telemetry/types.d.ts.map +1 -1
- package/dist/visualization/api/RestEndpoints.d.ts +136 -0
- package/dist/visualization/api/RestEndpoints.d.ts.map +1 -0
- package/dist/visualization/api/RestEndpoints.js +428 -0
- package/dist/visualization/api/RestEndpoints.js.map +1 -0
- package/dist/visualization/api/WebSocketServer.d.ts +165 -0
- package/dist/visualization/api/WebSocketServer.d.ts.map +1 -0
- package/dist/visualization/api/WebSocketServer.js +518 -0
- package/dist/visualization/api/WebSocketServer.js.map +1 -0
- package/dist/visualization/core/DataTransformer.d.ts +89 -0
- package/dist/visualization/core/DataTransformer.d.ts.map +1 -0
- package/dist/visualization/core/DataTransformer.js +478 -0
- package/dist/visualization/core/DataTransformer.js.map +1 -0
- package/dist/visualization/index.d.ts +92 -0
- package/dist/visualization/index.d.ts.map +1 -0
- package/dist/visualization/index.js +121 -0
- package/dist/visualization/index.js.map +1 -0
- package/dist/visualization/types.d.ts +148 -0
- package/dist/visualization/types.d.ts.map +1 -0
- package/dist/visualization/types.js +7 -0
- package/dist/visualization/types.js.map +1 -0
- package/dist/voting/consensus.d.ts +87 -0
- package/dist/voting/consensus.d.ts.map +1 -0
- package/dist/voting/consensus.js +568 -0
- package/dist/voting/consensus.js.map +1 -0
- package/dist/voting/index.d.ts +12 -0
- package/dist/voting/index.d.ts.map +1 -0
- package/dist/voting/index.js +36 -0
- package/dist/voting/index.js.map +1 -0
- package/dist/voting/orchestrator.d.ts +65 -0
- package/dist/voting/orchestrator.d.ts.map +1 -0
- package/dist/voting/orchestrator.js +306 -0
- package/dist/voting/orchestrator.js.map +1 -0
- package/dist/voting/panel-assembly.d.ts +54 -0
- package/dist/voting/panel-assembly.d.ts.map +1 -0
- package/dist/voting/panel-assembly.js +192 -0
- package/dist/voting/panel-assembly.js.map +1 -0
- package/dist/voting/protocol.d.ts +119 -0
- package/dist/voting/protocol.d.ts.map +1 -0
- package/dist/voting/protocol.js +18 -0
- package/dist/voting/protocol.js.map +1 -0
- package/dist/voting/types.d.ts +125 -0
- package/dist/voting/types.d.ts.map +1 -0
- package/dist/voting/types.js +7 -0
- package/dist/voting/types.js.map +1 -0
- package/package.json +27 -2
|
@@ -0,0 +1,522 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Agent Template Management Module
|
|
4
|
+
*
|
|
5
|
+
* Handles copying and creation of QE Fleet agent templates from package to user project.
|
|
6
|
+
* Extracted from init.ts for better modularity and maintainability.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
42
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.copyAgentTemplates = copyAgentTemplates;
|
|
46
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
47
|
+
const fs = __importStar(require("fs-extra"));
|
|
48
|
+
const path = __importStar(require("path"));
|
|
49
|
+
/**
|
|
50
|
+
* Copy agent templates from agentic-qe package to user's .claude/agents directory
|
|
51
|
+
*
|
|
52
|
+
* This function:
|
|
53
|
+
* 1. Searches for agent templates in package locations
|
|
54
|
+
* 2. Copies all agent definition files (.md) to .claude/agents
|
|
55
|
+
* 3. Copies subagent definitions if they exist
|
|
56
|
+
* 4. Creates missing agents programmatically if needed
|
|
57
|
+
* 5. Validates all 18 expected agents are present
|
|
58
|
+
*
|
|
59
|
+
* @param config - Fleet configuration (currently unused but available for future enhancements)
|
|
60
|
+
* @param force - If true, overwrites existing agent files
|
|
61
|
+
*/
|
|
62
|
+
async function copyAgentTemplates(config, force = false) {
|
|
63
|
+
console.log(chalk_1.default.cyan(' 🔍 Searching for agent templates...'));
|
|
64
|
+
// Find the agentic-qe package location (handles both npm install and local dev)
|
|
65
|
+
const possiblePaths = [
|
|
66
|
+
path.join(__dirname, '../../../.claude/agents'), // From dist/cli/init
|
|
67
|
+
path.join(process.cwd(), 'node_modules/agentic-qe/.claude/agents'),
|
|
68
|
+
path.join(process.cwd(), '../agentic-qe/.claude/agents') // Monorepo case
|
|
69
|
+
];
|
|
70
|
+
console.log(chalk_1.default.gray(' • Checking paths:'));
|
|
71
|
+
let sourcePath = null;
|
|
72
|
+
for (const p of possiblePaths) {
|
|
73
|
+
const exists = await fs.pathExists(p);
|
|
74
|
+
console.log(chalk_1.default.gray(` ${exists ? '✓' : '✗'} ${p}`));
|
|
75
|
+
if (exists && !sourcePath) {
|
|
76
|
+
sourcePath = p;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (!sourcePath) {
|
|
80
|
+
console.warn(chalk_1.default.yellow(' ⚠️ No agent templates found in package paths'));
|
|
81
|
+
console.warn(chalk_1.default.yellow(' ℹ️ Falling back to programmatic generation (all 18 agents)'));
|
|
82
|
+
await createBasicAgents(force);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
console.log(chalk_1.default.green(` ✓ Found agent templates at: ${sourcePath}`));
|
|
86
|
+
// Count available templates
|
|
87
|
+
const availableFiles = await fs.readdir(sourcePath);
|
|
88
|
+
const templateFiles = availableFiles.filter(f => f.endsWith('.md'));
|
|
89
|
+
console.log(chalk_1.default.cyan(` 📦 Found ${templateFiles.length} agent templates to copy`));
|
|
90
|
+
// Copy all agent definition files individually (not directory copy)
|
|
91
|
+
const targetPath = path.join(process.cwd(), '.claude/agents');
|
|
92
|
+
let copiedFiles = 0;
|
|
93
|
+
let updatedFiles = 0;
|
|
94
|
+
let skippedFiles = 0;
|
|
95
|
+
for (const templateFile of templateFiles) {
|
|
96
|
+
const sourceFile = path.join(sourcePath, templateFile);
|
|
97
|
+
const targetFile = path.join(targetPath, templateFile);
|
|
98
|
+
// Skip if source and target are the same file
|
|
99
|
+
const sourceResolved = path.resolve(sourceFile);
|
|
100
|
+
const targetResolved = path.resolve(targetFile);
|
|
101
|
+
if (sourceResolved === targetResolved) {
|
|
102
|
+
skippedFiles++;
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
const targetExists = await fs.pathExists(targetFile);
|
|
106
|
+
// Copy if target doesn't exist OR force flag is set
|
|
107
|
+
if (!targetExists || force) {
|
|
108
|
+
await fs.copy(sourceFile, targetFile);
|
|
109
|
+
if (targetExists) {
|
|
110
|
+
updatedFiles++;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
copiedFiles++;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
// Copy subagents folder if it exists
|
|
118
|
+
const subagentsSourcePath = path.join(sourcePath, 'subagents');
|
|
119
|
+
const subagentsTargetPath = path.join(targetPath, 'subagents');
|
|
120
|
+
if (await fs.pathExists(subagentsSourcePath)) {
|
|
121
|
+
console.log(chalk_1.default.cyan(' 📦 Copying subagent definitions...'));
|
|
122
|
+
await fs.ensureDir(subagentsTargetPath);
|
|
123
|
+
const subagentFiles = await fs.readdir(subagentsSourcePath);
|
|
124
|
+
const subagentTemplates = subagentFiles.filter(f => f.endsWith('.md'));
|
|
125
|
+
let subagentsCopied = 0;
|
|
126
|
+
let subagentsUpdated = 0;
|
|
127
|
+
for (const subagentFile of subagentTemplates) {
|
|
128
|
+
const sourceFile = path.join(subagentsSourcePath, subagentFile);
|
|
129
|
+
const targetFile = path.join(subagentsTargetPath, subagentFile);
|
|
130
|
+
const targetExists = await fs.pathExists(targetFile);
|
|
131
|
+
if (!targetExists || force) {
|
|
132
|
+
await fs.copy(sourceFile, targetFile);
|
|
133
|
+
if (targetExists) {
|
|
134
|
+
subagentsUpdated++;
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
subagentsCopied++;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (force && subagentsUpdated > 0) {
|
|
142
|
+
console.log(chalk_1.default.green(` ✓ Updated ${subagentsUpdated} existing subagent definitions`));
|
|
143
|
+
}
|
|
144
|
+
console.log(chalk_1.default.green(` ✓ Copied ${subagentsCopied} new subagent definitions (${subagentTemplates.length} total subagents)`));
|
|
145
|
+
}
|
|
146
|
+
if (force && updatedFiles > 0) {
|
|
147
|
+
console.log(chalk_1.default.green(` ✓ Updated ${updatedFiles} existing agent definitions`));
|
|
148
|
+
}
|
|
149
|
+
console.log(chalk_1.default.green(` ✓ Copied ${copiedFiles} new agent definitions`));
|
|
150
|
+
const copiedCount = await countAgentFiles(targetPath);
|
|
151
|
+
console.log(chalk_1.default.cyan(` 📋 Total agents in target: ${copiedCount}`));
|
|
152
|
+
// Verify all 18 agents exist (17 QE agents + 1 base template generator)
|
|
153
|
+
const expectedAgents = 18;
|
|
154
|
+
if (copiedCount < expectedAgents) {
|
|
155
|
+
console.warn(chalk_1.default.yellow(` ⚠️ Expected ${expectedAgents} agents, found ${copiedCount}`));
|
|
156
|
+
console.warn(chalk_1.default.yellow(` ℹ️ Creating missing agents programmatically...`));
|
|
157
|
+
// Get list of files that actually exist in TARGET (not source!)
|
|
158
|
+
const targetFiles = await fs.readdir(targetPath);
|
|
159
|
+
const existingTargetFiles = targetFiles.filter(f => f.endsWith('.md'));
|
|
160
|
+
await createMissingAgents(targetPath, existingTargetFiles, force);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
console.log(chalk_1.default.green(` ✓ All ${expectedAgents} agents present and ready`));
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Create all 18 agent definitions programmatically when templates are not found
|
|
168
|
+
*/
|
|
169
|
+
async function createBasicAgents(force = false) {
|
|
170
|
+
try {
|
|
171
|
+
console.log(chalk_1.default.cyan(' 🛠️ Creating all agent definitions programmatically...'));
|
|
172
|
+
// ALL 18 AGENTS (17 QE agents + 1 base template generator)
|
|
173
|
+
const allAgents = [
|
|
174
|
+
// Core Testing (5)
|
|
175
|
+
'qe-test-generator',
|
|
176
|
+
'qe-test-executor',
|
|
177
|
+
'qe-coverage-analyzer',
|
|
178
|
+
'qe-quality-gate',
|
|
179
|
+
'qe-quality-analyzer',
|
|
180
|
+
// Performance & Security (2)
|
|
181
|
+
'qe-performance-tester',
|
|
182
|
+
'qe-security-scanner',
|
|
183
|
+
// Strategic Planning (3)
|
|
184
|
+
'qe-requirements-validator',
|
|
185
|
+
'qe-production-intelligence',
|
|
186
|
+
'qe-fleet-commander',
|
|
187
|
+
// Deployment (1)
|
|
188
|
+
'qe-deployment-readiness',
|
|
189
|
+
// Advanced Testing (4)
|
|
190
|
+
'qe-regression-risk-analyzer',
|
|
191
|
+
'qe-test-data-architect',
|
|
192
|
+
'qe-api-contract-validator',
|
|
193
|
+
'qe-flaky-test-hunter',
|
|
194
|
+
// Specialized (2)
|
|
195
|
+
'qe-visual-tester',
|
|
196
|
+
'qe-chaos-engineer'
|
|
197
|
+
];
|
|
198
|
+
const targetPath = path.join(process.cwd(), '.claude/agents');
|
|
199
|
+
console.log(chalk_1.default.gray(` • Creating ${allAgents.length} agent definition files...`));
|
|
200
|
+
for (const agentName of allAgents) {
|
|
201
|
+
// Defensive null check
|
|
202
|
+
if (!agentName || typeof agentName !== 'string') {
|
|
203
|
+
console.warn(chalk_1.default.yellow(`⚠️ Skipping invalid agent name: ${agentName}`));
|
|
204
|
+
continue;
|
|
205
|
+
}
|
|
206
|
+
const agentFile = path.join(targetPath, `${agentName}.md`);
|
|
207
|
+
// Skip if file exists and force is not set
|
|
208
|
+
if (!force && await fs.pathExists(agentFile)) {
|
|
209
|
+
continue;
|
|
210
|
+
}
|
|
211
|
+
const agentType = agentName.replace('qe-', '');
|
|
212
|
+
const skills = getAgentSkills(agentName);
|
|
213
|
+
const description = getAgentDescription(agentName);
|
|
214
|
+
const content = `---
|
|
215
|
+
name: ${agentName}
|
|
216
|
+
description: ${description}
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
# ${agentName.toUpperCase()} Agent
|
|
220
|
+
|
|
221
|
+
## Description
|
|
222
|
+
This agent is part of the Agentic QE Fleet and specializes in ${agentType}.
|
|
223
|
+
|
|
224
|
+
## Capabilities
|
|
225
|
+
- AI-powered ${agentType}
|
|
226
|
+
- Integration with Agentic QE Fleet
|
|
227
|
+
- Native TypeScript coordination
|
|
228
|
+
- **Q-Learning**: Learns from task execution automatically
|
|
229
|
+
- **Pattern Bank**: Uses proven test patterns
|
|
230
|
+
- **Improvement Loop**: Continuously optimizes strategies
|
|
231
|
+
|
|
232
|
+
## 🧠 Q-Learning Integration (Phase 2)
|
|
233
|
+
|
|
234
|
+
This agent automatically learns from EVERY task execution through Q-learning integration in \`BaseAgent.onPostTask()\`.
|
|
235
|
+
|
|
236
|
+
### Observability Methods
|
|
237
|
+
|
|
238
|
+
\`\`\`typescript
|
|
239
|
+
// 1. Check learning status
|
|
240
|
+
const status = agent.getLearningStatus();
|
|
241
|
+
console.log(status);
|
|
242
|
+
// {
|
|
243
|
+
// enabled: true,
|
|
244
|
+
// totalExperiences: 1247,
|
|
245
|
+
// explorationRate: 0.08,
|
|
246
|
+
// patterns: 34
|
|
247
|
+
// }
|
|
248
|
+
|
|
249
|
+
// 2. View learned patterns
|
|
250
|
+
const patterns = agent.getLearnedPatterns();
|
|
251
|
+
console.log(patterns[0]);
|
|
252
|
+
// {
|
|
253
|
+
// state: "jest-unit-test",
|
|
254
|
+
// action: "parallel-execution",
|
|
255
|
+
// avgReward: 0.92,
|
|
256
|
+
// useCount: 156
|
|
257
|
+
// }
|
|
258
|
+
|
|
259
|
+
// 3. Predict best action
|
|
260
|
+
const nextAction = agent.predictBestAction("jest-unit-test");
|
|
261
|
+
console.log(nextAction); // "parallel-execution"
|
|
262
|
+
|
|
263
|
+
// 4. Export learned knowledge
|
|
264
|
+
await agent.exportLearning("./learning-data.json");
|
|
265
|
+
\`\`\`
|
|
266
|
+
|
|
267
|
+
### Learning Behavior
|
|
268
|
+
|
|
269
|
+
**What it learns:**
|
|
270
|
+
- Test framework selection (Jest, Mocha, Vitest)
|
|
271
|
+
- Execution strategies (parallel vs sequential)
|
|
272
|
+
- Coverage optimization paths
|
|
273
|
+
- Flaky test patterns
|
|
274
|
+
- Performance bottlenecks
|
|
275
|
+
|
|
276
|
+
**How it learns:**
|
|
277
|
+
1. Execute task → observe outcome
|
|
278
|
+
2. Calculate reward (success=1.0, failure=0.0, partial=0.5)
|
|
279
|
+
3. Update Q-table: Q(s,a) = Q(s,a) + α[r + γmax Q(s',a') - Q(s,a)]
|
|
280
|
+
4. Gradually reduce exploration (ε-greedy)
|
|
281
|
+
|
|
282
|
+
**Continuous improvement:**
|
|
283
|
+
- Initially explores different strategies (ε=0.2)
|
|
284
|
+
- Converges to best-performing actions (ε→0.01)
|
|
285
|
+
- Persists learning across sessions via AgentDB
|
|
286
|
+
- Shares successful patterns with fleet via \`aqe/patterns/\` namespace
|
|
287
|
+
|
|
288
|
+
## Skills
|
|
289
|
+
|
|
290
|
+
This agent can use the following Claude Code Skills:
|
|
291
|
+
|
|
292
|
+
${getSkillDocumentation(agentName)}
|
|
293
|
+
|
|
294
|
+
## Coordination Protocol
|
|
295
|
+
|
|
296
|
+
This agent uses **AQE hooks** (Agentic QE native hooks) for coordination (zero external dependencies, 100-500x faster than external hooks).
|
|
297
|
+
|
|
298
|
+
## Code Execution Workflows
|
|
299
|
+
|
|
300
|
+
Instead of multiple MCP tool calls, write code to orchestrate ${agentType} workflows. This approach is **352x faster** (Agent Booster WASM) and reduces token usage by 98.7%.
|
|
301
|
+
|
|
302
|
+
### Basic Workflow
|
|
303
|
+
|
|
304
|
+
\\\`\\\`\\\`typescript
|
|
305
|
+
import { /* tools */ } from './servers/qe-tools/${agentType}';
|
|
306
|
+
|
|
307
|
+
// Example workflow code
|
|
308
|
+
const result = await executeWorkflow({
|
|
309
|
+
type: '${agentType}',
|
|
310
|
+
config: { /* ... */ }
|
|
311
|
+
});
|
|
312
|
+
\\\`\\\`\\\`
|
|
313
|
+
|
|
314
|
+
## Integration with Agentic QE CLI
|
|
315
|
+
|
|
316
|
+
\`\`\`bash
|
|
317
|
+
# Use this agent via CLI
|
|
318
|
+
aqe ${agentType} --help
|
|
319
|
+
|
|
320
|
+
# Or spawn programmatically
|
|
321
|
+
aqe fleet spawn ${agentName}
|
|
322
|
+
\`\`\`
|
|
323
|
+
|
|
324
|
+
## Memory Coordination
|
|
325
|
+
|
|
326
|
+
Uses the **\`aqe/*\` memory namespace** for state sharing:
|
|
327
|
+
- \`aqe/test-plan/*\` - Test requirements
|
|
328
|
+
- \`aqe/coverage/*\` - Coverage data
|
|
329
|
+
- \`aqe/quality/*\` - Quality metrics
|
|
330
|
+
- \`aqe/patterns/*\` - Learned patterns (Phase 2)
|
|
331
|
+
- \`aqe/learning/${agentName}\` - Q-learning state (Phase 2)
|
|
332
|
+
- \`aqe/swarm/coordination\` - Cross-agent sync
|
|
333
|
+
|
|
334
|
+
## CLI Integration
|
|
335
|
+
|
|
336
|
+
This agent is fully integrated with the AQE CLI and can be invoked programmatically or interactively.
|
|
337
|
+
|
|
338
|
+
### Direct Execution
|
|
339
|
+
\`\`\`bash
|
|
340
|
+
# Execute via CLI
|
|
341
|
+
aqe ${agentType} [options]
|
|
342
|
+
|
|
343
|
+
# Example
|
|
344
|
+
aqe test-generator --framework jest --coverage 80
|
|
345
|
+
\`\`\`
|
|
346
|
+
|
|
347
|
+
### Programmatic Usage
|
|
348
|
+
\`\`\`typescript
|
|
349
|
+
import { ${agentName.split('-').map(w => w.charAt(0).toUpperCase() + w.slice(1)).join('')} } from 'agentic-qe';
|
|
350
|
+
|
|
351
|
+
const agent = new ${agentName.split('-').map(w => w.charAt(0).toUpperCase() + w.slice(1)).join('')}();
|
|
352
|
+
const result = await agent.execute({ /* config */ });
|
|
353
|
+
\`\`\`
|
|
354
|
+
`;
|
|
355
|
+
await fs.writeFile(agentFile, content);
|
|
356
|
+
}
|
|
357
|
+
const finalCount = await countAgentFiles(targetPath);
|
|
358
|
+
console.log(chalk_1.default.green(` ✓ Created ${finalCount} agent definitions successfully`));
|
|
359
|
+
}
|
|
360
|
+
catch (error) {
|
|
361
|
+
console.error(chalk_1.default.red(` ❌ Error creating basic agents: ${error}`));
|
|
362
|
+
throw error;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Create only the missing agents that don't exist in target directory
|
|
367
|
+
*/
|
|
368
|
+
async function createMissingAgents(targetPath, existingFiles, force = false) {
|
|
369
|
+
const allAgentNames = [
|
|
370
|
+
'qe-test-generator', 'qe-test-executor', 'qe-coverage-analyzer',
|
|
371
|
+
'qe-quality-gate', 'qe-quality-analyzer', 'qe-performance-tester',
|
|
372
|
+
'qe-security-scanner', 'qe-requirements-validator', 'qe-production-intelligence',
|
|
373
|
+
'qe-fleet-commander', 'qe-deployment-readiness', 'qe-regression-risk-analyzer',
|
|
374
|
+
'qe-test-data-architect', 'qe-api-contract-validator', 'qe-flaky-test-hunter',
|
|
375
|
+
'qe-visual-tester', 'qe-chaos-engineer'
|
|
376
|
+
];
|
|
377
|
+
const existingAgentNames = existingFiles.map(f => f.replace('.md', ''));
|
|
378
|
+
const missingAgents = allAgentNames.filter(name => !existingAgentNames.includes(name));
|
|
379
|
+
if (missingAgents.length === 0) {
|
|
380
|
+
console.log(chalk_1.default.green(' ✓ No missing agents to create'));
|
|
381
|
+
return;
|
|
382
|
+
}
|
|
383
|
+
console.log(chalk_1.default.cyan(` 🛠️ Creating ${missingAgents.length} missing agents:`));
|
|
384
|
+
for (const agentName of missingAgents) {
|
|
385
|
+
console.log(chalk_1.default.gray(` • ${agentName}`));
|
|
386
|
+
}
|
|
387
|
+
// Create missing agents using the same logic as createBasicAgents
|
|
388
|
+
for (const agentName of missingAgents) {
|
|
389
|
+
const agentFile = path.join(targetPath, `${agentName}.md`);
|
|
390
|
+
const agentType = agentName.replace('qe-', '');
|
|
391
|
+
const skills = getAgentSkills(agentName);
|
|
392
|
+
const description = getAgentDescription(agentName);
|
|
393
|
+
const content = `---
|
|
394
|
+
name: ${agentName}
|
|
395
|
+
description: ${description}
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
# ${agentName.toUpperCase()} Agent
|
|
399
|
+
|
|
400
|
+
## Description
|
|
401
|
+
This agent is part of the Agentic QE Fleet and specializes in ${agentType}.
|
|
402
|
+
|
|
403
|
+
## Capabilities
|
|
404
|
+
- AI-powered ${agentType}
|
|
405
|
+
- Integration with Agentic QE Fleet
|
|
406
|
+
- Native TypeScript coordination
|
|
407
|
+
- **Q-Learning**: Learns from task execution automatically
|
|
408
|
+
- **Pattern Bank**: Uses proven test patterns
|
|
409
|
+
- **Improvement Loop**: Continuously optimizes strategies
|
|
410
|
+
|
|
411
|
+
## Skills
|
|
412
|
+
|
|
413
|
+
This agent can use the following Claude Code Skills:
|
|
414
|
+
|
|
415
|
+
${getSkillDocumentation(agentName)}
|
|
416
|
+
|
|
417
|
+
## Coordination Protocol
|
|
418
|
+
|
|
419
|
+
This agent uses **AQE hooks** (Agentic QE native hooks) for coordination (zero external dependencies, 100-500x faster than external hooks).
|
|
420
|
+
|
|
421
|
+
## Code Execution Workflows
|
|
422
|
+
|
|
423
|
+
Instead of multiple MCP tool calls, write code to orchestrate ${agentType} workflows. This approach is **352x faster** (Agent Booster WASM) and reduces token usage by 98.7%.
|
|
424
|
+
|
|
425
|
+
### Basic Workflow
|
|
426
|
+
|
|
427
|
+
\\\`\\\`\\\`typescript
|
|
428
|
+
import { /* tools */ } from './servers/qe-tools/${agentType}';
|
|
429
|
+
|
|
430
|
+
// Example workflow code
|
|
431
|
+
const result = await executeWorkflow({
|
|
432
|
+
type: '${agentType}',
|
|
433
|
+
config: { /* ... */ }
|
|
434
|
+
});
|
|
435
|
+
\\\`\\\`\\\`
|
|
436
|
+
`;
|
|
437
|
+
await fs.writeFile(agentFile, content);
|
|
438
|
+
}
|
|
439
|
+
console.log(chalk_1.default.green(` ✓ Created ${missingAgents.length} missing agents successfully`));
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Count agent files in a directory
|
|
443
|
+
*/
|
|
444
|
+
async function countAgentFiles(dirPath) {
|
|
445
|
+
if (!await fs.pathExists(dirPath))
|
|
446
|
+
return 0;
|
|
447
|
+
const files = await fs.readdir(dirPath);
|
|
448
|
+
return files.filter(f => f.endsWith('.md')).length;
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* Get agent description based on agent name
|
|
452
|
+
*/
|
|
453
|
+
function getAgentDescription(agentName) {
|
|
454
|
+
const descriptions = {
|
|
455
|
+
'qe-test-generator': 'AI-powered test generation agent with sublinear optimization and multi-framework support',
|
|
456
|
+
'qe-test-executor': 'Multi-framework test executor with parallel execution, retry logic, and real-time reporting',
|
|
457
|
+
'qe-coverage-analyzer': 'AI-powered coverage analysis with sublinear gap detection and critical path optimization',
|
|
458
|
+
'qe-quality-gate': 'Intelligent quality gate with risk assessment, policy validation, and automated decision-making',
|
|
459
|
+
'qe-quality-analyzer': 'Comprehensive quality metrics analysis with trend detection, predictive analytics, and actionable insights',
|
|
460
|
+
'qe-performance-tester': 'Multi-tool performance testing with load orchestration, bottleneck detection, and SLA validation',
|
|
461
|
+
'qe-security-scanner': 'Multi-layer security scanning with SAST/DAST, vulnerability detection, and compliance validation',
|
|
462
|
+
'qe-requirements-validator': 'Validates requirements testability and generates BDD scenarios before development begins',
|
|
463
|
+
'qe-production-intelligence': 'Converts production data into test scenarios through incident replay and RUM analysis',
|
|
464
|
+
'qe-fleet-commander': 'Hierarchical fleet coordinator for 50+ agent orchestration with dynamic topology management and resource optimization',
|
|
465
|
+
'qe-deployment-readiness': 'Aggregates quality signals to provide deployment risk assessment and go/no-go decisions',
|
|
466
|
+
'qe-regression-risk-analyzer': 'Analyzes code changes to predict regression risk and intelligently select minimal test suites',
|
|
467
|
+
'qe-test-data-architect': 'Generates realistic test data with privacy masking, edge case coverage, and database seeding',
|
|
468
|
+
'qe-api-contract-validator': 'Contract testing with OpenAPI/GraphQL schema validation, breaking change detection, and consumer impact analysis',
|
|
469
|
+
'qe-flaky-test-hunter': 'Detects, isolates, and auto-heals flaky tests through statistical analysis and root cause detection',
|
|
470
|
+
'qe-visual-tester': 'Visual regression testing with AI-powered diff analysis, responsive validation, and accessibility checks',
|
|
471
|
+
'qe-chaos-engineer': 'Chaos testing with fault injection, resilience validation, and disaster recovery testing'
|
|
472
|
+
};
|
|
473
|
+
return descriptions[agentName] || `AI-powered ${agentName.replace('qe-', '')} agent`;
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* Get skills assigned to each agent
|
|
477
|
+
*/
|
|
478
|
+
function getAgentSkills(agentName) {
|
|
479
|
+
const skillMap = {
|
|
480
|
+
'qe-test-generator': ['agentic-quality-engineering', 'api-testing-patterns', 'tdd-london-chicago', 'test-automation-strategy'],
|
|
481
|
+
'qe-coverage-analyzer': ['agentic-quality-engineering', 'quality-metrics', 'risk-based-testing'],
|
|
482
|
+
'qe-flaky-test-hunter': ['agentic-quality-engineering', 'exploratory-testing-advanced', 'risk-based-testing'],
|
|
483
|
+
'qe-performance-tester': ['agentic-quality-engineering', 'performance-testing', 'quality-metrics'],
|
|
484
|
+
'qe-security-scanner': ['agentic-quality-engineering', 'security-testing', 'risk-based-testing'],
|
|
485
|
+
'qe-quality-gate': ['agentic-quality-engineering', 'quality-metrics', 'risk-based-testing'],
|
|
486
|
+
'qe-api-contract-validator': ['agentic-quality-engineering', 'api-testing-patterns'],
|
|
487
|
+
'qe-test-executor': ['agentic-quality-engineering', 'test-automation-strategy'],
|
|
488
|
+
'qe-requirements-validator': ['agentic-quality-engineering', 'context-driven-testing'],
|
|
489
|
+
'qe-quality-analyzer': ['agentic-quality-engineering', 'quality-metrics'],
|
|
490
|
+
'qe-visual-tester': ['agentic-quality-engineering', 'exploratory-testing-advanced'],
|
|
491
|
+
'qe-chaos-engineer': ['agentic-quality-engineering', 'risk-based-testing'],
|
|
492
|
+
'qe-production-intelligence': ['agentic-quality-engineering', 'context-driven-testing'],
|
|
493
|
+
'qe-fleet-commander': ['agentic-quality-engineering'],
|
|
494
|
+
'qe-deployment-readiness': ['agentic-quality-engineering', 'risk-based-testing', 'quality-metrics'],
|
|
495
|
+
'qe-regression-risk-analyzer': ['agentic-quality-engineering', 'risk-based-testing'],
|
|
496
|
+
'qe-test-data-architect': ['agentic-quality-engineering', 'test-automation-strategy']
|
|
497
|
+
};
|
|
498
|
+
return skillMap[agentName] || ['agentic-quality-engineering'];
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* Get skill documentation for agent
|
|
502
|
+
*/
|
|
503
|
+
function getSkillDocumentation(agentName) {
|
|
504
|
+
const skills = getAgentSkills(agentName);
|
|
505
|
+
const skillDescriptions = {
|
|
506
|
+
'agentic-quality-engineering': 'AI agents as force multipliers in quality work (PACT principles)',
|
|
507
|
+
'api-testing-patterns': 'REST, GraphQL, contract testing patterns',
|
|
508
|
+
'tdd-london-chicago': 'Both TDD schools, when to use each approach',
|
|
509
|
+
'test-automation-strategy': 'When/how to automate effectively',
|
|
510
|
+
'quality-metrics': 'Meaningful metrics vs vanity metrics',
|
|
511
|
+
'risk-based-testing': 'Focus testing where failure hurts most',
|
|
512
|
+
'exploratory-testing-advanced': 'RST heuristics, SBTM, test tours',
|
|
513
|
+
'performance-testing': 'Load, stress, soak testing strategies',
|
|
514
|
+
'security-testing': 'OWASP Top 10, vulnerability patterns',
|
|
515
|
+
'context-driven-testing': 'RST techniques and contextual best practices'
|
|
516
|
+
};
|
|
517
|
+
return skills.map(skill => {
|
|
518
|
+
const description = skillDescriptions[skill] || 'Quality engineering expertise';
|
|
519
|
+
return `- **${skill}**: ${description}`;
|
|
520
|
+
}).join('\n');
|
|
521
|
+
}
|
|
522
|
+
//# sourceMappingURL=agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/cli/init/agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bash wrapper creation module
|
|
3
|
+
*
|
|
4
|
+
* Creates the aqe command wrapper for convenient CLI access
|
|
5
|
+
*
|
|
6
|
+
* @module cli/init/bash-wrapper
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Create aqe command wrapper
|
|
10
|
+
*
|
|
11
|
+
* Creates a bash wrapper script that allows running `aqe <command>` instead of `npx aqe <command>`
|
|
12
|
+
*/
|
|
13
|
+
export declare function createBashWrapper(): Promise<void>;
|
|
14
|
+
//# sourceMappingURL=bash-wrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bash-wrapper.d.ts","sourceRoot":"","sources":["../../../src/cli/init/bash-wrapper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CA4BvD"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Bash wrapper creation module
|
|
4
|
+
*
|
|
5
|
+
* Creates the aqe command wrapper for convenient CLI access
|
|
6
|
+
*
|
|
7
|
+
* @module cli/init/bash-wrapper
|
|
8
|
+
*/
|
|
9
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.createBashWrapper = createBashWrapper;
|
|
14
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
15
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
16
|
+
const path_1 = __importDefault(require("path"));
|
|
17
|
+
const path_utils_1 = require("./utils/path-utils");
|
|
18
|
+
/**
|
|
19
|
+
* Create aqe command wrapper
|
|
20
|
+
*
|
|
21
|
+
* Creates a bash wrapper script that allows running `aqe <command>` instead of `npx aqe <command>`
|
|
22
|
+
*/
|
|
23
|
+
async function createBashWrapper() {
|
|
24
|
+
console.log(chalk_1.default.gray(' • Creating aqe command wrapper'));
|
|
25
|
+
const projectRoot = process.cwd();
|
|
26
|
+
const wrapperPath = path_1.default.join(projectRoot, 'aqe');
|
|
27
|
+
// Skip if wrapper already exists
|
|
28
|
+
if (await fs_extra_1.default.pathExists(wrapperPath)) {
|
|
29
|
+
console.log(chalk_1.default.gray(' ℹ aqe wrapper already exists, skipping'));
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
// 🔧 CENTRALIZED: Use resolveTemplatePath for robust template resolution
|
|
34
|
+
const templatePath = await (0, path_utils_1.resolveTemplatePath)('aqe.sh', projectRoot);
|
|
35
|
+
// Copy template to project root as 'aqe' (no extension)
|
|
36
|
+
await fs_extra_1.default.copy(templatePath, wrapperPath);
|
|
37
|
+
// Set executable permissions (chmod +x)
|
|
38
|
+
await fs_extra_1.default.chmod(wrapperPath, 0o755);
|
|
39
|
+
console.log(chalk_1.default.green(' ✓ Command wrapper created'));
|
|
40
|
+
console.log(chalk_1.default.gray(` Run ${chalk_1.default.cyan('./aqe <command>')} or add to PATH`));
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
console.error(chalk_1.default.yellow(` ⚠ Failed to create wrapper: ${error instanceof Error ? error.message : String(error)}`));
|
|
44
|
+
console.log(chalk_1.default.gray(' You can still use npx aqe <command>'));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=bash-wrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bash-wrapper.js","sourceRoot":"","sources":["../../../src/cli/init/bash-wrapper.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAYH,8CA4BC;AAtCD,kDAA0B;AAC1B,wDAA0B;AAC1B,gDAAwB;AACxB,mDAAyD;AAEzD;;;;GAIG;AACI,KAAK,UAAU,iBAAiB;IACrC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;IAE5D,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAElD,iCAAiC;IACjC,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,yEAAyE;QACzE,MAAM,YAAY,GAAG,MAAM,IAAA,gCAAmB,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAEtE,wDAAwD;QACxD,MAAM,kBAAE,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAEzC,wCAAwC;QACxC,MAAM,kBAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAEnC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,eAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACrF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACvH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACrE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code configuration module
|
|
3
|
+
*
|
|
4
|
+
* Generates Claude Code settings and MCP server configuration
|
|
5
|
+
* CRITICAL for the learning system to function!
|
|
6
|
+
*
|
|
7
|
+
* @module cli/init/claude-config
|
|
8
|
+
*/
|
|
9
|
+
import { FleetConfig } from '../../types';
|
|
10
|
+
/**
|
|
11
|
+
* Generate Claude Code settings
|
|
12
|
+
*
|
|
13
|
+
* Creates the .claude/settings.json file with proper MCP server configuration
|
|
14
|
+
*
|
|
15
|
+
* @param config - Fleet configuration
|
|
16
|
+
*/
|
|
17
|
+
export declare function generateClaudeSettings(_fleetConfig: FleetConfig): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Setup MCP server configuration
|
|
20
|
+
*
|
|
21
|
+
* Configures the Model Context Protocol server for agent coordination
|
|
22
|
+
*/
|
|
23
|
+
export declare function setupMCPServer(): Promise<void>;
|
|
24
|
+
//# sourceMappingURL=claude-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-config.d.ts","sourceRoot":"","sources":["../../../src/cli/init/claude-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,YAAY,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoErF;AAoHD;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA6CpD"}
|