create-byan-agent 2.25.0 → 2.26.0
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 +155 -0
- package/README.md +9 -12
- package/install/bin/create-byan-agent-v2.js +29 -169
- package/install/lib/agent-generator.js +5 -5
- package/install/lib/byan-web-integration.js +1 -1
- package/install/lib/claude-native-setup.js +1 -1
- package/install/lib/phase2-chat.js +3 -10
- package/install/lib/platforms/claude-code.js +2 -2
- package/install/lib/platforms/index.js +0 -2
- package/install/lib/project-agents-generator.js +3 -3
- package/install/lib/staging-consent.js +3 -3
- package/install/lib/subagent-generator.js +3 -3
- package/install/lib/yanstaller/agent-launcher.js +1 -27
- package/install/lib/yanstaller/detector.js +4 -4
- package/install/lib/yanstaller/installer.js +0 -2
- package/install/lib/yanstaller/interviewer.js +1 -1
- package/install/lib/yanstaller/platform-selector.js +1 -13
- package/install/package.json +1 -1
- package/install/src/byan-v2/context/session-state.js +2 -2
- package/install/src/byan-v2/index.js +1 -5
- package/install/src/byan-v2/orchestrator/generation-state.js +4 -4
- package/install/src/webui/api.js +0 -2
- package/install/src/webui/chat/bridge.js +1 -13
- package/install/src/webui/chat/cli-detector.js +0 -23
- package/install/src/webui/public/app.js +1 -3
- package/install/src/webui/public/chat.html +0 -2
- package/install/src/webui/public/chat.js +0 -1
- package/install/src/webui/public/index.html +2 -2
- package/install/templates/.claude/CLAUDE.md +13 -2
- package/install/templates/.claude/agents/bmad-byan.md +1 -1
- package/install/templates/.claude/hooks/autobench-stop-guard.js +286 -0
- package/install/templates/.claude/hooks/fact-check-absolutes.js +1 -61
- package/install/templates/.claude/hooks/fact-check-claims.js +69 -0
- package/install/templates/.claude/hooks/fd-response-check.js +37 -46
- package/install/templates/.claude/hooks/inject-soul.js +64 -25
- package/install/templates/.claude/hooks/leantime-fd-sync.js +216 -0
- package/install/templates/.claude/hooks/lib/autobench-config.json +81 -0
- package/install/templates/.claude/hooks/lib/autobench-fc-enrich.js +251 -0
- package/install/templates/.claude/hooks/lib/autobench-ledger-report.js +253 -0
- package/install/templates/.claude/hooks/lib/autobench-runtime.js +199 -0
- package/install/templates/.claude/hooks/lib/fact-check-core.js +69 -0
- package/install/templates/.claude/hooks/lib/transcript-read.js +137 -0
- package/install/templates/.claude/hooks/soul-memory-check.js +49 -25
- package/install/templates/.claude/hooks/soul-memory-triggers.js +27 -8
- package/install/templates/.claude/hooks/stage-to-byan.js +25 -7
- package/install/templates/.claude/hooks/strict-stop-guard.js +4 -16
- package/install/templates/.claude/rules/benchmark.md +251 -0
- package/install/templates/.claude/rules/byan-agents.md +0 -1
- package/install/templates/.claude/rules/byan-api.md +64 -0
- package/install/templates/.claude/rules/fact-check.md +1 -1
- package/install/templates/.claude/rules/strict-mode.md +10 -9
- package/install/templates/.claude/settings.json +12 -0
- package/install/templates/.claude/skills/byan-benchmark/SKILL.md +159 -0
- package/install/templates/.claude/skills/byan-byan/SKILL.md +73 -12
- package/install/templates/.claude/skills/byan-fact-check/SKILL.md +1 -1
- package/install/templates/.claude/skills/byan-hermes-dispatch/SKILL.md +5 -6
- package/install/templates/.claude/skills/byan-orchestrate/SKILL.md +11 -3
- package/install/templates/.claude/skills/byan-strict/SKILL.md +4 -1
- package/install/templates/.claude/workflows/INDEX.md +2 -1
- package/install/templates/.claude/workflows/byan-benchmark.js +328 -0
- package/install/templates/_byan/_config/agent-manifest.csv +1 -1
- package/install/templates/_byan/_config/autobench.yaml +510 -0
- package/install/templates/_byan/_config/strict-mode.yaml +9 -3
- package/install/templates/_byan/_config/workflow-manifest.csv +1 -0
- package/install/templates/_byan/agent/byan/byan.md +1 -3
- package/install/templates/_byan/agent/byan-flat/byan.md +1 -3
- package/install/templates/_byan/agent/byan-test/byan-test.md +2 -2
- package/install/templates/_byan/agent/byan-test-flat/byan-test.md +2 -2
- package/install/templates/_byan/agent/byan.optimized/byan.optimized.md +2 -2
- package/install/templates/_byan/agent/byan.optimized-v2/byan.optimized-v2.md +2 -2
- package/install/templates/_byan/agent/claude/claude.md +0 -2
- package/install/templates/_byan/agent/codex/codex.md +0 -2
- package/install/templates/_byan/agent/rachid/rachid.md +2 -10
- package/install/templates/_byan/agent/rachid-flat/rachid.md +2 -11
- package/install/templates/_byan/agent/turbo-whisper/turbo-whisper.md +2 -5
- package/install/templates/_byan/agent/turbo-whisper-integration/turbo-whisper-integration.md +5 -13
- package/install/templates/_byan/agent/yanstaller/yanstaller.md +2 -24
- package/install/templates/_byan/config.yaml +0 -1
- package/install/templates/_byan/mcp/byan-mcp-server/bin/byan-sync-rules.js +20 -4
- package/install/templates/_byan/mcp/byan-mcp-server/lib/advisory-autofeed.js +13 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/index-generator.js +1 -1
- package/install/templates/_byan/mcp/byan-mcp-server/lib/kanban.js +6 -3
- package/install/templates/_byan/mcp/byan-mcp-server/lib/leantime-fd-core.js +205 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/leantime-sync.js +415 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/precommit-gate.js +1 -1
- package/install/templates/_byan/mcp/byan-mcp-server/lib/strict-activation.js +1 -1
- package/install/templates/_byan/mcp/byan-mcp-server/lib/strict-mode.js +8 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/sync-rules.js +172 -23
- package/install/templates/_byan/mcp/byan-mcp-server/lib/workflows-generator.js +1 -0
- package/install/templates/_byan/mcp/byan-mcp-server/server.js +205 -82
- package/install/templates/_byan/worker/launchers/README.md +4 -24
- package/install/templates/_byan/worker/workers.md +0 -2
- package/install/templates/_byan/workflow/simple/bmb/byan-benchmark/workflow.md +86 -0
- package/install/templates/docs/leantime-integration.md +160 -0
- package/package.json +3 -7
- package/src/byan-v2/context/session-state.js +2 -2
- package/src/byan-v2/generation/mantra-validator.js +3 -3
- package/src/byan-v2/index.js +1 -5
- package/src/byan-v2/integration/voice-integration.js +1 -1
- package/src/byan-v2/orchestrator/generation-state.js +4 -4
- package/src/staging/staging.js +20 -6
- package/install/bin/build-copilot-stubs.js +0 -138
- package/install/lib/platforms/copilot-cli.js +0 -123
- package/install/lib/platforms/vscode.js +0 -51
- package/install/src/byan-v2/context/copilot-context.js +0 -79
- package/install/src/webui/chat/copilot-adapter.js +0 -68
- package/install/templates/.claude/agents/bmad-marc.md +0 -25
- package/install/templates/.claude/skills/byan-marc/SKILL.md +0 -20
- package/install/templates/.github/agents/bmad-agent-bmad-master.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmb-agent-builder.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmb-module-builder.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmb-workflow-builder.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmm-analyst.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmm-architect.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmm-dev.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmm-pm.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmm-quick-flow-solo-dev.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmm-quinn.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmm-sm.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmm-tech-writer.md +0 -16
- package/install/templates/.github/agents/bmad-agent-bmm-ux-designer.md +0 -16
- package/install/templates/.github/agents/bmad-agent-byan-test.md +0 -33
- package/install/templates/.github/agents/bmad-agent-byan-v2.md +0 -44
- package/install/templates/.github/agents/bmad-agent-byan.md +0 -1062
- package/install/templates/.github/agents/bmad-agent-carmack.md +0 -14
- package/install/templates/.github/agents/bmad-agent-cis-brainstorming-coach.md +0 -16
- package/install/templates/.github/agents/bmad-agent-cis-creative-problem-solver.md +0 -16
- package/install/templates/.github/agents/bmad-agent-cis-design-thinking-coach.md +0 -16
- package/install/templates/.github/agents/bmad-agent-cis-innovation-strategist.md +0 -16
- package/install/templates/.github/agents/bmad-agent-cis-presentation-master.md +0 -16
- package/install/templates/.github/agents/bmad-agent-cis-storyteller.md +0 -16
- package/install/templates/.github/agents/bmad-agent-claude.md +0 -49
- package/install/templates/.github/agents/bmad-agent-codex.md +0 -49
- package/install/templates/.github/agents/bmad-agent-drawio.md +0 -45
- package/install/templates/.github/agents/bmad-agent-fact-checker.md +0 -16
- package/install/templates/.github/agents/bmad-agent-forgeron.md +0 -15
- package/install/templates/.github/agents/bmad-agent-jimmy.md +0 -15
- package/install/templates/.github/agents/bmad-agent-marc.md +0 -49
- package/install/templates/.github/agents/bmad-agent-mike.md +0 -15
- package/install/templates/.github/agents/bmad-agent-patnote.md +0 -49
- package/install/templates/.github/agents/bmad-agent-rachid.md +0 -48
- package/install/templates/.github/agents/bmad-agent-skeptic.md +0 -16
- package/install/templates/.github/agents/bmad-agent-tao.md +0 -14
- package/install/templates/.github/agents/bmad-agent-tea-tea.md +0 -16
- package/install/templates/.github/agents/bmad-agent-test-dynamic.md +0 -22
- package/install/templates/.github/agents/bmad-agent-yanstaller-interview.md +0 -50
- package/install/templates/.github/agents/bmad-agent-yanstaller-phase2.md +0 -189
- package/install/templates/.github/agents/bmad-agent-yanstaller.md +0 -350
- package/install/templates/.github/agents/expert-merise-agile.md +0 -178
- package/install/templates/.github/agents/franck.md +0 -379
- package/install/templates/.github/agents/hermes.md +0 -575
- package/install/templates/.github/extensions/byan-staging/extension.mjs +0 -169
- package/install/templates/.github/extensions/byan-staging/package.json +0 -8
- package/install/templates/_byan/agent/marc/marc-soul.md +0 -47
- package/install/templates/_byan/agent/marc/marc-tao.md +0 -77
- package/install/templates/_byan/agent/marc/marc.md +0 -324
- package/install/templates/_byan/agent/marc-flat/marc.md +0 -387
- package/install/templates/_byan/mcp/byan-mcp-server/lib/copilot.js +0 -148
- package/install/templates/_byan/worker/launchers/launch-yanstaller-copilot.md +0 -173
- package/install/templates/workers/cost-optimizer.js +0 -169
- package/src/byan-v2/context/copilot-context.js +0 -79
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GitHub Copilot CLI Platform Support
|
|
3
|
-
*
|
|
4
|
-
* Detects and installs agents for GitHub Copilot CLI.
|
|
5
|
-
*
|
|
6
|
-
* @module platforms/copilot-cli
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
const path = require('path');
|
|
10
|
-
const fileUtils = require('../utils/file-utils');
|
|
11
|
-
const yamlUtils = require('../utils/yaml-utils');
|
|
12
|
-
const { execSync } = require('child_process');
|
|
13
|
-
|
|
14
|
-
const PLATFORM_NAME = 'GitHub Copilot CLI';
|
|
15
|
-
const STUB_DIR = '.github/agents';
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Detect if Copilot CLI is installed
|
|
19
|
-
*
|
|
20
|
-
* With 10s timeout protection to prevent hanging.
|
|
21
|
-
*
|
|
22
|
-
* @returns {Promise<boolean|{detected: boolean, error: string}>}
|
|
23
|
-
*/
|
|
24
|
-
async function detect() {
|
|
25
|
-
// Timeout promise (10 seconds)
|
|
26
|
-
const timeoutPromise = new Promise((resolve) =>
|
|
27
|
-
setTimeout(() => resolve({
|
|
28
|
-
detected: false,
|
|
29
|
-
error: 'Detection timeout after 10s'
|
|
30
|
-
}), 10000)
|
|
31
|
-
);
|
|
32
|
-
|
|
33
|
-
// Detection promise
|
|
34
|
-
const detectionPromise = (async () => {
|
|
35
|
-
try {
|
|
36
|
-
// Check if github-copilot-cli is installed
|
|
37
|
-
execSync('which github-copilot-cli', { encoding: 'utf8', stdio: 'ignore' });
|
|
38
|
-
return true;
|
|
39
|
-
} catch {
|
|
40
|
-
// Also check for .github/agents/ directory
|
|
41
|
-
return fileUtils.exists(STUB_DIR);
|
|
42
|
-
}
|
|
43
|
-
})();
|
|
44
|
-
|
|
45
|
-
// Race between detection and timeout
|
|
46
|
-
return Promise.race([detectionPromise, timeoutPromise]);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Install agents for Copilot CLI
|
|
51
|
-
*
|
|
52
|
-
* @param {string} projectRoot - Project root directory
|
|
53
|
-
* @param {string[]} agents - Agent names to install
|
|
54
|
-
* @param {Object} config - Installation config
|
|
55
|
-
* @returns {Promise<{success: boolean, installed: number}>}
|
|
56
|
-
*/
|
|
57
|
-
async function install(projectRoot, agents, config) {
|
|
58
|
-
const stubsDir = path.join(projectRoot, STUB_DIR);
|
|
59
|
-
await fileUtils.ensureDir(stubsDir);
|
|
60
|
-
|
|
61
|
-
let installed = 0;
|
|
62
|
-
|
|
63
|
-
for (const agentName of agents) {
|
|
64
|
-
await generateStub(stubsDir, agentName, config);
|
|
65
|
-
installed++;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return {
|
|
69
|
-
success: true,
|
|
70
|
-
installed
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Generate Copilot CLI stub with YAML frontmatter
|
|
76
|
-
*
|
|
77
|
-
* @param {string} stubsDir - Stubs directory path
|
|
78
|
-
* @param {string} agentName - Agent name
|
|
79
|
-
* @param {Object} config - Installation config
|
|
80
|
-
* @returns {Promise<void>}
|
|
81
|
-
*/
|
|
82
|
-
async function generateStub(stubsDir, agentName, config) {
|
|
83
|
-
const stubPath = path.join(stubsDir, `${agentName}.md`);
|
|
84
|
-
|
|
85
|
-
const frontmatter = {
|
|
86
|
-
name: agentName,
|
|
87
|
-
description: `${agentName} agent from BYAN platform`
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
const content = `---
|
|
91
|
-
${yamlUtils.dump(frontmatter).trim()}
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
95
|
-
|
|
96
|
-
<agent-activation CRITICAL="TRUE">
|
|
97
|
-
1. LOAD the FULL agent file from {project-root}/_byan/agent/${agentName}/${agentName}.md (new layout); if absent, {project-root}/_byan/*/agents/${agentName}.md (legacy layout)
|
|
98
|
-
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
|
99
|
-
3. FOLLOW every step in the <activation> section precisely
|
|
100
|
-
4. DISPLAY the welcome/greeting as instructed
|
|
101
|
-
5. PRESENT the numbered menu
|
|
102
|
-
6. WAIT for user input before proceeding
|
|
103
|
-
</agent-activation>
|
|
104
|
-
`;
|
|
105
|
-
|
|
106
|
-
await fileUtils.writeFile(stubPath, content);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Get platform installation path
|
|
111
|
-
*
|
|
112
|
-
* @returns {string}
|
|
113
|
-
*/
|
|
114
|
-
function getPath() {
|
|
115
|
-
return STUB_DIR;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
module.exports = {
|
|
119
|
-
name: PLATFORM_NAME,
|
|
120
|
-
detect,
|
|
121
|
-
install,
|
|
122
|
-
getPath
|
|
123
|
-
};
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* VSCode Copilot Extension Platform Support
|
|
3
|
-
*
|
|
4
|
-
* Detects and installs agents for VSCode Copilot Extension.
|
|
5
|
-
* Same format as Copilot CLI.
|
|
6
|
-
*
|
|
7
|
-
* @module platforms/vscode
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
const copilotCli = require('./copilot-cli');
|
|
11
|
-
|
|
12
|
-
const PLATFORM_NAME = 'VSCode Copilot Extension';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Detect if VSCode with Copilot extension is installed
|
|
16
|
-
*
|
|
17
|
-
* @returns {Promise<boolean>}
|
|
18
|
-
*/
|
|
19
|
-
async function detect() {
|
|
20
|
-
// VSCode uses same stub format as Copilot CLI
|
|
21
|
-
return copilotCli.detect();
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Install agents for VSCode
|
|
26
|
-
*
|
|
27
|
-
* @param {string} projectRoot - Project root directory
|
|
28
|
-
* @param {string[]} agents - Agent names to install
|
|
29
|
-
* @param {Object} config - Installation config
|
|
30
|
-
* @returns {Promise<{success: boolean, installed: number}>}
|
|
31
|
-
*/
|
|
32
|
-
async function install(projectRoot, agents, config) {
|
|
33
|
-
// Reuse Copilot CLI installation (same format)
|
|
34
|
-
return copilotCli.install(projectRoot, agents, config);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Get platform installation path
|
|
39
|
-
*
|
|
40
|
-
* @returns {string}
|
|
41
|
-
*/
|
|
42
|
-
function getPath() {
|
|
43
|
-
return copilotCli.getPath();
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
module.exports = {
|
|
47
|
-
name: PLATFORM_NAME,
|
|
48
|
-
detect,
|
|
49
|
-
install,
|
|
50
|
-
getPath
|
|
51
|
-
};
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
const fs = require('fs');
|
|
2
|
-
const os = require('os');
|
|
3
|
-
const path = require('path');
|
|
4
|
-
|
|
5
|
-
function getCopilotContext() {
|
|
6
|
-
const context = {
|
|
7
|
-
projectRoot: getProjectRoot(),
|
|
8
|
-
userName: getUserName(),
|
|
9
|
-
workingDir: getWorkingDir(),
|
|
10
|
-
gitBranch: getGitBranch()
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
return context;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function getProjectRoot() {
|
|
17
|
-
if (process.env.GITHUB_WORKSPACE) {
|
|
18
|
-
return process.env.GITHUB_WORKSPACE;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
if (process.env.PWD) {
|
|
22
|
-
return process.env.PWD;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return process.cwd();
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function getUserName() {
|
|
29
|
-
if (process.env.COPILOT_USER_NAME) {
|
|
30
|
-
return process.env.COPILOT_USER_NAME;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const projectRoot = getProjectRoot();
|
|
34
|
-
const configPath = path.join(projectRoot, '.github', 'copilot', 'config.yaml');
|
|
35
|
-
|
|
36
|
-
if (fs.existsSync(configPath)) {
|
|
37
|
-
try {
|
|
38
|
-
const configContent = fs.readFileSync(configPath, 'utf8');
|
|
39
|
-
const userNameMatch = configContent.match(/user_name:\s*(.+)/);
|
|
40
|
-
if (userNameMatch && userNameMatch[1]) {
|
|
41
|
-
return userNameMatch[1].trim();
|
|
42
|
-
}
|
|
43
|
-
} catch (error) {
|
|
44
|
-
// Fallback to next option
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
if (process.env.USER) {
|
|
49
|
-
return process.env.USER;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
try {
|
|
53
|
-
return os.userInfo().username;
|
|
54
|
-
} catch (error) {
|
|
55
|
-
return 'unknown';
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
function getWorkingDir() {
|
|
60
|
-
if (process.env.PWD) {
|
|
61
|
-
return process.env.PWD;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return process.cwd();
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
function getGitBranch() {
|
|
68
|
-
if (process.env.GITHUB_REF_NAME) {
|
|
69
|
-
return process.env.GITHUB_REF_NAME;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
if (process.env.GIT_BRANCH) {
|
|
73
|
-
return process.env.GIT_BRANCH;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return '';
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
module.exports = getCopilotContext;
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GitHub Copilot CLI bridge adapter.
|
|
3
|
-
* Copilot CLI is TUI-based; this uses one-shot spawns per message.
|
|
4
|
-
* Full multi-turn PTY support deferred to P2.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
const { spawn } = require('child_process');
|
|
8
|
-
const { Bridge } = require('./bridge');
|
|
9
|
-
|
|
10
|
-
class CopilotAdapter extends Bridge {
|
|
11
|
-
async start() {
|
|
12
|
-
this.active = true;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
async send(message) {
|
|
16
|
-
if (!this.active) return;
|
|
17
|
-
|
|
18
|
-
const args = [];
|
|
19
|
-
|
|
20
|
-
if (this.agent) {
|
|
21
|
-
// Copilot CLI expects agent name, not file path
|
|
22
|
-
args.push(`--agent=${this.agent}`);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
args.push('--prompt', message);
|
|
26
|
-
|
|
27
|
-
this.process = spawn('copilot', args, {
|
|
28
|
-
cwd: this.projectRoot,
|
|
29
|
-
env: { ...process.env },
|
|
30
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
let output = '';
|
|
34
|
-
|
|
35
|
-
this.process.stdout.on('data', (data) => {
|
|
36
|
-
const chunk = data.toString();
|
|
37
|
-
output += chunk;
|
|
38
|
-
this.onChunk(chunk);
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
this.process.stderr.on('data', (data) => {
|
|
42
|
-
const text = data.toString().trim();
|
|
43
|
-
if (!text) return;
|
|
44
|
-
// Copilot dumps usage stats to stderr — not errors
|
|
45
|
-
if (/^(Total usage|API time|Total session|Total code|Breakdown by|claude-|gpt-|o[1-4]|Est\.|Premium request)/m.test(text)) return;
|
|
46
|
-
this.onError(new Error(`copilot stderr: ${text}`));
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
this.process.on('error', (err) => {
|
|
50
|
-
this.onError(err);
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
this.process.on('exit', (code) => {
|
|
54
|
-
this.process = null;
|
|
55
|
-
this.onComplete({ code, output });
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
async stop() {
|
|
60
|
-
this.active = false;
|
|
61
|
-
if (this.process) {
|
|
62
|
-
await this._killProcess(this.process);
|
|
63
|
-
this.process = null;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
module.exports = CopilotAdapter;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: bmad-marc
|
|
3
|
-
description: GitHub Copilot CLI integration specialist for BMAD agents
|
|
4
|
-
model: haiku
|
|
5
|
-
color: cyan
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# bmad-marc
|
|
9
|
-
|
|
10
|
-
GitHub Copilot CLI integration specialist for BMAD agents
|
|
11
|
-
|
|
12
|
-
## Persona
|
|
13
|
-
|
|
14
|
-
GitHub Copilot CLI Expert + Custom Agent Integration Specialist
|
|
15
|
-
Elite Copilot CLI specialist who masters custom agents, MCP servers, and agent profiles. Ensures agents are properly detected by /agent and --agent= commands.
|
|
16
|
-
|
|
17
|
-
## Operating rules
|
|
18
|
-
|
|
19
|
-
- Expert in GitHub Copilot CLI, custom agents, MCP servers
|
|
20
|
-
- Validate .github/agents/ structure and format
|
|
21
|
-
- Test /agent detection before deployment
|
|
22
|
-
|
|
23
|
-
## Reporting contract
|
|
24
|
-
|
|
25
|
-
When invoked via the Agent tool, stay in the persona above. Respond with a concise JSON report when the task completes : { status: "ok|partial|failed", summary: "<200 words", files_changed: [paths], next_steps: [] }.
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: byan-marc
|
|
3
|
-
description: "GitHub Copilot CLI integration specialist for BMAD agents Role: GitHub Copilot CLI Expert + Custom Agent Integration Specialist."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# marc
|
|
7
|
-
|
|
8
|
-
## Persona
|
|
9
|
-
|
|
10
|
-
**role:** GitHub Copilot CLI Expert + Custom Agent Integration Specialist
|
|
11
|
-
**role:**
|
|
12
|
-
|
|
13
|
-
**identity:** Elite Copilot CLI specialist who masters custom agents, MCP servers, and agent profiles. Ensures agents are properly detected by /agent and --agent= commands.
|
|
14
|
-
**identity:**
|
|
15
|
-
|
|
16
|
-
## Rules
|
|
17
|
-
|
|
18
|
-
- Expert in GitHub Copilot CLI, custom agents, MCP servers
|
|
19
|
-
- Validate .github/agents/ structure and format
|
|
20
|
-
- Test /agent detection before deployment
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'bmad-master'
|
|
3
|
-
description: 'bmad-master agent'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
7
|
-
|
|
8
|
-
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/_byan/agent/bmad-master/bmad-master.md (new layout); if absent, {project-root}/_byan/*/agents/bmad-master.md (legacy layout)
|
|
10
|
-
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
|
11
|
-
3. LOAD the soul activation protocol from {project-root}/_byan/core/activation/soul-activation.md and EXECUTE it silently
|
|
12
|
-
4. FOLLOW every step in the <activation> section precisely
|
|
13
|
-
5. DISPLAY the welcome/greeting as instructed
|
|
14
|
-
6. PRESENT the numbered menu
|
|
15
|
-
7. WAIT for user input before proceeding
|
|
16
|
-
</agent-activation>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'bmb-agent-builder'
|
|
3
|
-
description: 'agent-builder agent'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
7
|
-
|
|
8
|
-
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/_byan/agent/agent-builder/agent-builder.md (new layout); if absent, {project-root}/_byan/*/agents/agent-builder.md (legacy layout)
|
|
10
|
-
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
|
11
|
-
3. LOAD the soul activation protocol from {project-root}/_byan/core/activation/soul-activation.md and EXECUTE it silently
|
|
12
|
-
4. FOLLOW every step in the <activation> section precisely
|
|
13
|
-
5. DISPLAY the welcome/greeting as instructed
|
|
14
|
-
6. PRESENT the numbered menu
|
|
15
|
-
7. WAIT for user input before proceeding
|
|
16
|
-
</agent-activation>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'bmb-module-builder'
|
|
3
|
-
description: 'module-builder agent'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
7
|
-
|
|
8
|
-
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/_byan/agent/module-builder/module-builder.md (new layout); if absent, {project-root}/_byan/*/agents/module-builder.md (legacy layout)
|
|
10
|
-
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
|
11
|
-
3. LOAD the soul activation protocol from {project-root}/_byan/core/activation/soul-activation.md and EXECUTE it silently
|
|
12
|
-
4. FOLLOW every step in the <activation> section precisely
|
|
13
|
-
5. DISPLAY the welcome/greeting as instructed
|
|
14
|
-
6. PRESENT the numbered menu
|
|
15
|
-
7. WAIT for user input before proceeding
|
|
16
|
-
</agent-activation>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'bmb-workflow-builder'
|
|
3
|
-
description: 'workflow-builder agent'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
7
|
-
|
|
8
|
-
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/_byan/agent/workflow-builder/workflow-builder.md (new layout); if absent, {project-root}/_byan/*/agents/workflow-builder.md (legacy layout)
|
|
10
|
-
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
|
11
|
-
3. LOAD the soul activation protocol from {project-root}/_byan/core/activation/soul-activation.md and EXECUTE it silently
|
|
12
|
-
4. FOLLOW every step in the <activation> section precisely
|
|
13
|
-
5. DISPLAY the welcome/greeting as instructed
|
|
14
|
-
6. PRESENT the numbered menu
|
|
15
|
-
7. WAIT for user input before proceeding
|
|
16
|
-
</agent-activation>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'bmm-analyst'
|
|
3
|
-
description: 'analyst agent'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
7
|
-
|
|
8
|
-
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/_byan/agent/analyst/analyst.md (new layout); if absent, {project-root}/_byan/*/agents/analyst.md (legacy layout)
|
|
10
|
-
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
|
11
|
-
3. LOAD the soul activation protocol from {project-root}/_byan/core/activation/soul-activation.md and EXECUTE it silently
|
|
12
|
-
4. FOLLOW every step in the <activation> section precisely
|
|
13
|
-
5. DISPLAY the welcome/greeting as instructed
|
|
14
|
-
6. PRESENT the numbered menu
|
|
15
|
-
7. WAIT for user input before proceeding
|
|
16
|
-
</agent-activation>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'bmm-architect'
|
|
3
|
-
description: 'architect agent'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
7
|
-
|
|
8
|
-
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/_byan/agent/architect/architect.md (new layout); if absent, {project-root}/_byan/*/agents/architect.md (legacy layout)
|
|
10
|
-
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
|
11
|
-
3. LOAD the soul activation protocol from {project-root}/_byan/core/activation/soul-activation.md and EXECUTE it silently
|
|
12
|
-
4. FOLLOW every step in the <activation> section precisely
|
|
13
|
-
5. DISPLAY the welcome/greeting as instructed
|
|
14
|
-
6. PRESENT the numbered menu
|
|
15
|
-
7. WAIT for user input before proceeding
|
|
16
|
-
</agent-activation>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'bmm-dev'
|
|
3
|
-
description: 'dev agent'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
7
|
-
|
|
8
|
-
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/_byan/agent/dev/dev.md (new layout); if absent, {project-root}/_byan/*/agents/dev.md (legacy layout)
|
|
10
|
-
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
|
11
|
-
3. LOAD the soul activation protocol from {project-root}/_byan/core/activation/soul-activation.md and EXECUTE it silently
|
|
12
|
-
4. FOLLOW every step in the <activation> section precisely
|
|
13
|
-
5. DISPLAY the welcome/greeting as instructed
|
|
14
|
-
6. PRESENT the numbered menu
|
|
15
|
-
7. WAIT for user input before proceeding
|
|
16
|
-
</agent-activation>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'bmm-pm'
|
|
3
|
-
description: 'pm agent'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
7
|
-
|
|
8
|
-
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/_byan/agent/pm/pm.md (new layout); if absent, {project-root}/_byan/*/agents/pm.md (legacy layout)
|
|
10
|
-
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
|
11
|
-
3. LOAD the soul activation protocol from {project-root}/_byan/core/activation/soul-activation.md and EXECUTE it silently
|
|
12
|
-
4. FOLLOW every step in the <activation> section precisely
|
|
13
|
-
5. DISPLAY the welcome/greeting as instructed
|
|
14
|
-
6. PRESENT the numbered menu
|
|
15
|
-
7. WAIT for user input before proceeding
|
|
16
|
-
</agent-activation>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'bmm-quick-flow-solo-dev'
|
|
3
|
-
description: 'quick-flow-solo-dev agent'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
7
|
-
|
|
8
|
-
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/_byan/agent/quick-flow-solo-dev/quick-flow-solo-dev.md (new layout); if absent, {project-root}/_byan/*/agents/quick-flow-solo-dev.md (legacy layout)
|
|
10
|
-
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
|
11
|
-
3. LOAD the soul activation protocol from {project-root}/_byan/core/activation/soul-activation.md and EXECUTE it silently
|
|
12
|
-
4. FOLLOW every step in the <activation> section precisely
|
|
13
|
-
5. DISPLAY the welcome/greeting as instructed
|
|
14
|
-
6. PRESENT the numbered menu
|
|
15
|
-
7. WAIT for user input before proceeding
|
|
16
|
-
</agent-activation>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'bmm-quinn'
|
|
3
|
-
description: 'quinn agent'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
7
|
-
|
|
8
|
-
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/_byan/agent/quinn/quinn.md (new layout); if absent, {project-root}/_byan/*/agents/quinn.md (legacy layout)
|
|
10
|
-
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
|
11
|
-
3. LOAD the soul activation protocol from {project-root}/_byan/core/activation/soul-activation.md and EXECUTE it silently
|
|
12
|
-
4. FOLLOW every step in the <activation> section precisely
|
|
13
|
-
5. DISPLAY the welcome/greeting as instructed
|
|
14
|
-
6. PRESENT the numbered menu
|
|
15
|
-
7. WAIT for user input before proceeding
|
|
16
|
-
</agent-activation>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'bmm-sm'
|
|
3
|
-
description: 'sm agent'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
7
|
-
|
|
8
|
-
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/_byan/agent/sm/sm.md (new layout); if absent, {project-root}/_byan/*/agents/sm.md (legacy layout)
|
|
10
|
-
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
|
11
|
-
3. LOAD the soul activation protocol from {project-root}/_byan/core/activation/soul-activation.md and EXECUTE it silently
|
|
12
|
-
4. FOLLOW every step in the <activation> section precisely
|
|
13
|
-
5. DISPLAY the welcome/greeting as instructed
|
|
14
|
-
6. PRESENT the numbered menu
|
|
15
|
-
7. WAIT for user input before proceeding
|
|
16
|
-
</agent-activation>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'bmm-tech-writer'
|
|
3
|
-
description: 'tech-writer agent'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
7
|
-
|
|
8
|
-
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/_byan/agent/tech-writer/tech-writer.md (new layout); if absent, {project-root}/_byan/*/agents/tech-writer.md (legacy layout)
|
|
10
|
-
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
|
11
|
-
3. LOAD the soul activation protocol from {project-root}/_byan/core/activation/soul-activation.md and EXECUTE it silently
|
|
12
|
-
4. FOLLOW every step in the <activation> section precisely
|
|
13
|
-
5. DISPLAY the welcome/greeting as instructed
|
|
14
|
-
6. PRESENT the numbered menu
|
|
15
|
-
7. WAIT for user input before proceeding
|
|
16
|
-
</agent-activation>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: 'bmm-ux-designer'
|
|
3
|
-
description: 'ux-designer agent'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
7
|
-
|
|
8
|
-
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/_byan/agent/ux-designer/ux-designer.md (new layout); if absent, {project-root}/_byan/*/agents/ux-designer.md (legacy layout)
|
|
10
|
-
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
|
11
|
-
3. LOAD the soul activation protocol from {project-root}/_byan/core/activation/soul-activation.md and EXECUTE it silently
|
|
12
|
-
4. FOLLOW every step in the <activation> section precisely
|
|
13
|
-
5. DISPLAY the welcome/greeting as instructed
|
|
14
|
-
6. PRESENT the numbered menu
|
|
15
|
-
7. WAIT for user input before proceeding
|
|
16
|
-
</agent-activation>
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "byan-test"
|
|
3
|
-
description: "BYAN Test - Token Optimized Version (-46%)"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
|
|
7
|
-
|
|
8
|
-
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/_byan/agent/byan-test/byan-test.md (new layout); if absent, {project-root}/_byan/*/agents/byan-test.md (legacy layout)
|
|
10
|
-
2. READ its entire contents - this contains the complete agent persona, menu, and instructions
|
|
11
|
-
3. LOAD the soul activation protocol from {project-root}/_byan/core/activation/soul-activation.md and EXECUTE it silently
|
|
12
|
-
4. FOLLOW every step in the <activation> section precisely
|
|
13
|
-
5. DISPLAY the welcome/greeting as instructed
|
|
14
|
-
6. PRESENT the numbered menu
|
|
15
|
-
7. WAIT for user input before proceeding
|
|
16
|
-
</agent-activation>
|
|
17
|
-
|
|
18
|
-
```xml
|
|
19
|
-
<agent id="byan-test.agent.yaml" name="BYAN-TEST" title="Builder of YAN - Test Version (Optimized)" icon="🏗️">
|
|
20
|
-
<activation critical="MANDATORY">
|
|
21
|
-
<step n="1">Load persona from {project-root}/_byan/agent/byan-test/byan-test.md (new layout); if absent, {project-root}/_byan/*/agents/byan-test.md (legacy layout)</step>
|
|
22
|
-
<step n="2">Load config from {project-root}/_byan/bmb/config.yaml - store {user_name}, {communication_language}, {output_folder}</step>
|
|
23
|
-
<step n="3">Show greeting using {user_name} in {communication_language}, display menu</step>
|
|
24
|
-
<step n="4">Inform about `/bmad-help` command</step>
|
|
25
|
-
<step n="5">WAIT for input - accept number, cmd, or fuzzy match</step>
|
|
26
|
-
<rules>
|
|
27
|
-
<r>This is a TEST version of BYAN optimized for token reduction (-46%)</r>
|
|
28
|
-
<r>Full agent: _byan/agent/byan-test/byan-test.md (new layout); if absent, _byan/*/agents/byan-test.md (legacy layout) (116 lines vs 215 original)</r>
|
|
29
|
-
<r>Original BYAN still available via bmad-agent-byan</r>
|
|
30
|
-
</rules>
|
|
31
|
-
</activation>
|
|
32
|
-
</agent>
|
|
33
|
-
```
|