@bugzy-ai/bugzy 1.2.1 → 1.4.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/README.md +30 -9
- package/dist/cli/index.cjs +549 -155
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.js +552 -158
- package/dist/cli/index.js.map +1 -1
- package/dist/index.cjs +96 -33
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +96 -33
- package/dist/index.js.map +1 -1
- package/dist/subagents/index.cjs +6 -3
- package/dist/subagents/index.cjs.map +1 -1
- package/dist/subagents/index.js +6 -3
- package/dist/subagents/index.js.map +1 -1
- package/dist/subagents/metadata.cjs +6 -3
- package/dist/subagents/metadata.cjs.map +1 -1
- package/dist/subagents/metadata.js +6 -3
- package/dist/subagents/metadata.js.map +1 -1
- package/dist/tasks/index.cjs +28 -29
- package/dist/tasks/index.cjs.map +1 -1
- package/dist/tasks/index.js +28 -29
- package/dist/tasks/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/init/AGENTS.md +155 -0
package/dist/index.cjs
CHANGED
|
@@ -60,6 +60,7 @@ var MCP_SERVERS = {
|
|
|
60
60
|
name: "Slack",
|
|
61
61
|
description: "Slack MCP server for messaging and channel operations",
|
|
62
62
|
requiresCredentials: true,
|
|
63
|
+
npmPackages: ["simple-slack-mcp-server"],
|
|
63
64
|
config: {
|
|
64
65
|
command: "slack-mcp-server",
|
|
65
66
|
args: [],
|
|
@@ -73,6 +74,7 @@ var MCP_SERVERS = {
|
|
|
73
74
|
name: "Microsoft Teams",
|
|
74
75
|
description: "Microsoft Teams MCP server for messaging and channel operations",
|
|
75
76
|
requiresCredentials: true,
|
|
77
|
+
npmPackages: ["@bugzy-ai/teams-mcp-server"],
|
|
76
78
|
config: {
|
|
77
79
|
command: "teams-mcp-server",
|
|
78
80
|
args: [],
|
|
@@ -86,6 +88,7 @@ var MCP_SERVERS = {
|
|
|
86
88
|
name: "Playwright",
|
|
87
89
|
description: "Playwright MCP server for browser automation",
|
|
88
90
|
requiresCredentials: false,
|
|
91
|
+
npmPackages: ["@playwright/mcp"],
|
|
89
92
|
config: {
|
|
90
93
|
command: "mcp-server-playwright",
|
|
91
94
|
args: [
|
|
@@ -110,6 +113,7 @@ var MCP_SERVERS = {
|
|
|
110
113
|
name: "Notion",
|
|
111
114
|
description: "Notion MCP server for documentation",
|
|
112
115
|
requiresCredentials: true,
|
|
116
|
+
npmPackages: ["@notionhq/notion-mcp-server"],
|
|
113
117
|
config: {
|
|
114
118
|
command: "notion-mcp-server",
|
|
115
119
|
args: [],
|
|
@@ -123,6 +127,7 @@ var MCP_SERVERS = {
|
|
|
123
127
|
name: "Jira Server (On-Prem)",
|
|
124
128
|
description: "Jira Server MCP via tunnel for on-premise instances",
|
|
125
129
|
requiresCredentials: true,
|
|
130
|
+
npmPackages: ["@mcp-tunnel/wrapper", "@bugzy-ai/jira-mcp-server"],
|
|
126
131
|
config: {
|
|
127
132
|
command: "mcp-tunnel",
|
|
128
133
|
args: ["--server", "jira-mcp-server"],
|
|
@@ -708,7 +713,9 @@ Document all findings including:
|
|
|
708
713
|
\`\`\`
|
|
709
714
|
|
|
710
715
|
#### 3.2 Launch Test Runner Agent
|
|
711
|
-
|
|
716
|
+
{{INVOKE_TEST_RUNNER}}
|
|
717
|
+
|
|
718
|
+
Execute the exploration test case with special exploration instructions:
|
|
712
719
|
|
|
713
720
|
\`\`\`
|
|
714
721
|
Execute the exploration test case at ./test-cases/EXPLORATION-TEMP.md with focus on discovery and documentation.
|
|
@@ -1161,10 +1168,10 @@ Before invoking the agent, identify the test cases for the current area:
|
|
|
1161
1168
|
|
|
1162
1169
|
#### Step 2.2: Invoke test-code-generator Agent
|
|
1163
1170
|
|
|
1164
|
-
|
|
1171
|
+
{{INVOKE_TEST_CODE_GENERATOR}} for the current area with the following context:
|
|
1165
1172
|
|
|
1166
1173
|
**Agent Invocation:**
|
|
1167
|
-
"
|
|
1174
|
+
"Automate test cases for the [AREA_NAME] area.
|
|
1168
1175
|
|
|
1169
1176
|
**Context:**
|
|
1170
1177
|
- Area: [AREA_NAME]
|
|
@@ -1304,10 +1311,10 @@ Provide a comprehensive summary showing:
|
|
|
1304
1311
|
role: "documentation-researcher",
|
|
1305
1312
|
contentBlock: `#### 1.4 Gather Product Documentation
|
|
1306
1313
|
|
|
1307
|
-
|
|
1314
|
+
{{INVOKE_DOCUMENTATION_RESEARCHER}} to gather comprehensive product documentation:
|
|
1308
1315
|
|
|
1309
1316
|
\`\`\`
|
|
1310
|
-
|
|
1317
|
+
Explore all available product documentation, specifically focusing on:
|
|
1311
1318
|
- UI elements and workflows
|
|
1312
1319
|
- User interactions and navigation paths
|
|
1313
1320
|
- Form fields and validation rules
|
|
@@ -1321,10 +1328,9 @@ Use the documentation-researcher agent to explore all available product document
|
|
|
1321
1328
|
role: "team-communicator",
|
|
1322
1329
|
contentBlock: `### Step 4.5: Team Communication
|
|
1323
1330
|
|
|
1324
|
-
|
|
1331
|
+
{{INVOKE_TEAM_COMMUNICATOR}} to notify the product team about the new test cases and automated tests:
|
|
1325
1332
|
|
|
1326
1333
|
\`\`\`
|
|
1327
|
-
Use the team-communicator agent to:
|
|
1328
1334
|
1. Post an update about test case and automation creation
|
|
1329
1335
|
2. Provide summary of coverage:
|
|
1330
1336
|
- Number of manual test cases created
|
|
@@ -1582,10 +1588,10 @@ Provide a summary of:
|
|
|
1582
1588
|
role: "documentation-researcher",
|
|
1583
1589
|
contentBlock: `### Step 2: Gather comprehensive project documentation
|
|
1584
1590
|
|
|
1585
|
-
|
|
1591
|
+
{{INVOKE_DOCUMENTATION_RESEARCHER}} to explore and gather all available project information and other documentation sources. This ensures the test plan is based on complete and current information.
|
|
1586
1592
|
|
|
1587
1593
|
\`\`\`
|
|
1588
|
-
|
|
1594
|
+
Explore all available project documentation related to: $ARGUMENTS
|
|
1589
1595
|
|
|
1590
1596
|
Specifically gather:
|
|
1591
1597
|
- Product specifications and requirements
|
|
@@ -1610,10 +1616,9 @@ The agent will:
|
|
|
1610
1616
|
role: "team-communicator",
|
|
1611
1617
|
contentBlock: `### Step 7.5: Team Communication
|
|
1612
1618
|
|
|
1613
|
-
|
|
1619
|
+
{{INVOKE_TEAM_COMMUNICATOR}} to notify the product team about the new test plan:
|
|
1614
1620
|
|
|
1615
1621
|
\`\`\`
|
|
1616
|
-
Use the team-communicator agent to:
|
|
1617
1622
|
1. Post an update about the test plan creation
|
|
1618
1623
|
2. Provide a brief summary of coverage areas and key features
|
|
1619
1624
|
3. Mention any areas that need exploration or clarification
|
|
@@ -1848,7 +1853,7 @@ Classify the ambiguity level to determine appropriate response:
|
|
|
1848
1853
|
#### Clarification Approach by Severity
|
|
1849
1854
|
|
|
1850
1855
|
**For CRITICAL/HIGH ambiguity:**
|
|
1851
|
-
1. **
|
|
1856
|
+
1. **{{INVOKE_TEAM_COMMUNICATOR}} to ask specific questions**
|
|
1852
1857
|
2. **WAIT for response before proceeding**
|
|
1853
1858
|
3. **Document the clarification request in event history**
|
|
1854
1859
|
|
|
@@ -2121,7 +2126,7 @@ ${KNOWLEDGE_BASE_UPDATE_INSTRUCTIONS}`,
|
|
|
2121
2126
|
contentBlock: `#### 3.3 Use Documentation Researcher if Needed
|
|
2122
2127
|
For events mentioning unknown features or components:
|
|
2123
2128
|
\`\`\`
|
|
2124
|
-
|
|
2129
|
+
{{INVOKE_DOCUMENTATION_RESEARCHER}} to find information about: [component/feature]
|
|
2125
2130
|
\`\`\``
|
|
2126
2131
|
},
|
|
2127
2132
|
{
|
|
@@ -2130,7 +2135,7 @@ Use documentation-researcher agent to find information about: [component/feature
|
|
|
2130
2135
|
|
|
2131
2136
|
When an issue needs to be tracked (task type: report_bug or update_story):
|
|
2132
2137
|
\`\`\`
|
|
2133
|
-
|
|
2138
|
+
{{INVOKE_ISSUE_TRACKER}}
|
|
2134
2139
|
1. Check for duplicate issues in the tracking system
|
|
2135
2140
|
2. For bugs: Create detailed bug report with:
|
|
2136
2141
|
- Clear, descriptive title
|
|
@@ -2399,7 +2404,7 @@ For each failed test:
|
|
|
2399
2404
|
For each test classified as **[TEST ISSUE]**, use the test-debugger-fixer agent to automatically fix the test:
|
|
2400
2405
|
|
|
2401
2406
|
\`\`\`
|
|
2402
|
-
|
|
2407
|
+
{{INVOKE_TEST_DEBUGGER_FIXER}}
|
|
2403
2408
|
|
|
2404
2409
|
For each failed test classified as a test issue (not a product bug), provide:
|
|
2405
2410
|
- Test run timestamp: [from manifest.timestamp]
|
|
@@ -2494,7 +2499,7 @@ After triage in Step 5.1, for tests classified as **[PRODUCT BUG]**, use the iss
|
|
|
2494
2499
|
For each bug to report, use the issue-tracker agent:
|
|
2495
2500
|
|
|
2496
2501
|
\`\`\`
|
|
2497
|
-
|
|
2502
|
+
{{INVOKE_ISSUE_TRACKER}}
|
|
2498
2503
|
1. Check for duplicate bugs in the tracking system
|
|
2499
2504
|
- The agent will automatically search for similar existing issues
|
|
2500
2505
|
- It maintains memory of recently reported issues
|
|
@@ -2565,10 +2570,11 @@ After issue tracker agent completes, create a summary:
|
|
|
2565
2570
|
role: "team-communicator",
|
|
2566
2571
|
contentBlock: `### Step 6: Team Communication
|
|
2567
2572
|
|
|
2568
|
-
|
|
2573
|
+
{{INVOKE_TEAM_COMMUNICATOR}}
|
|
2574
|
+
|
|
2575
|
+
Notify the product team about test execution:
|
|
2569
2576
|
|
|
2570
2577
|
\`\`\`
|
|
2571
|
-
Use the team-communicator agent to:
|
|
2572
2578
|
1. Post test execution summary with key statistics
|
|
2573
2579
|
2. Highlight critical failures that need immediate attention
|
|
2574
2580
|
3. Share important learnings about product behavior
|
|
@@ -2903,7 +2909,7 @@ Read and analyze the JSON report:
|
|
|
2903
2909
|
For each test classified as **[TEST ISSUE]**, use the test-debugger-fixer agent to automatically fix the test:
|
|
2904
2910
|
|
|
2905
2911
|
\`\`\`
|
|
2906
|
-
|
|
2912
|
+
{{INVOKE_TEST_DEBUGGER_FIXER}}
|
|
2907
2913
|
|
|
2908
2914
|
For each failed test classified as a test issue (not a product bug), provide:
|
|
2909
2915
|
- Test file path: [from JSON report]
|
|
@@ -2944,7 +2950,7 @@ Classification guidelines:
|
|
|
2944
2950
|
#### 4A.4 Fix Test Issues Automatically
|
|
2945
2951
|
|
|
2946
2952
|
For tests classified as [TEST ISSUE]:
|
|
2947
|
-
-
|
|
2953
|
+
- {{INVOKE_TEST_DEBUGGER_FIXER}} to analyze and fix
|
|
2948
2954
|
- Agent debugs with browser if needed
|
|
2949
2955
|
- Applies fix (selector update, wait condition, assertion correction)
|
|
2950
2956
|
- Reruns test to verify fix (10x for flaky tests)
|
|
@@ -2960,7 +2966,7 @@ Track fixed tests with:
|
|
|
2960
2966
|
{{ISSUE_TRACKER_INSTRUCTIONS}}
|
|
2961
2967
|
|
|
2962
2968
|
For tests classified as [PRODUCT BUG]:
|
|
2963
|
-
-
|
|
2969
|
+
- {{INVOKE_ISSUE_TRACKER}} to create bug reports
|
|
2964
2970
|
- Agent checks for duplicates automatically
|
|
2965
2971
|
- Creates detailed report with:
|
|
2966
2972
|
- Title, description, reproduction steps
|
|
@@ -3276,10 +3282,10 @@ Format as comprehensive markdown report for terminal display:
|
|
|
3276
3282
|
|
|
3277
3283
|
{{TEAM_COMMUNICATOR_INSTRUCTIONS}}
|
|
3278
3284
|
|
|
3279
|
-
|
|
3285
|
+
{{INVOKE_TEAM_COMMUNICATOR}} to post concise results to Slack thread:
|
|
3280
3286
|
|
|
3281
3287
|
\`\`\`
|
|
3282
|
-
|
|
3288
|
+
Post verification results.
|
|
3283
3289
|
|
|
3284
3290
|
**Channel**: [from CHANGE_CONTEXT.slackChannel]
|
|
3285
3291
|
**Thread**: [from CHANGE_CONTEXT.slackThread]
|
|
@@ -3460,10 +3466,10 @@ A successful verification includes:
|
|
|
3460
3466
|
role: "documentation-researcher",
|
|
3461
3467
|
contentBlock: `#### Research Project Documentation
|
|
3462
3468
|
|
|
3463
|
-
|
|
3469
|
+
{{INVOKE_DOCUMENTATION_RESEARCHER}} to gather comprehensive context about the changed features:
|
|
3464
3470
|
|
|
3465
3471
|
\`\`\`
|
|
3466
|
-
|
|
3472
|
+
Explore project documentation related to the changes.
|
|
3467
3473
|
|
|
3468
3474
|
Specifically gather:
|
|
3469
3475
|
- Product specifications for affected features
|
|
@@ -3495,10 +3501,9 @@ Use this information to:
|
|
|
3495
3501
|
role: "issue-tracker",
|
|
3496
3502
|
contentBlock: `#### Log Product Bugs
|
|
3497
3503
|
|
|
3498
|
-
For tests classified as **[PRODUCT BUG]**,
|
|
3504
|
+
For tests classified as **[PRODUCT BUG]**, {{INVOKE_ISSUE_TRACKER}} to log bugs:
|
|
3499
3505
|
|
|
3500
3506
|
\`\`\`
|
|
3501
|
-
Use issue-tracker agent to:
|
|
3502
3507
|
1. Check for duplicate bugs in the tracking system
|
|
3503
3508
|
- The agent will automatically search for similar existing issues
|
|
3504
3509
|
- It maintains memory of recently reported issues
|
|
@@ -3547,10 +3552,9 @@ Use issue-tracker agent to:
|
|
|
3547
3552
|
role: "team-communicator",
|
|
3548
3553
|
contentBlock: `#### Team Communication
|
|
3549
3554
|
|
|
3550
|
-
|
|
3555
|
+
{{INVOKE_TEAM_COMMUNICATOR}} to share verification results (primarily for Slack trigger, but can be used for other triggers):
|
|
3551
3556
|
|
|
3552
3557
|
\`\`\`
|
|
3553
|
-
Use the team-communicator agent to:
|
|
3554
3558
|
1. Post verification results summary
|
|
3555
3559
|
2. Highlight critical failures that need immediate attention
|
|
3556
3560
|
3. Share bugs logged with issue tracker links
|
|
@@ -6187,8 +6191,8 @@ var SUBAGENTS = {
|
|
|
6187
6191
|
description: "Automatically create and track bugs and issues",
|
|
6188
6192
|
icon: "bot",
|
|
6189
6193
|
integrations: [
|
|
6190
|
-
INTEGRATIONS.linear,
|
|
6191
|
-
INTEGRATIONS.jira,
|
|
6194
|
+
// INTEGRATIONS.linear,
|
|
6195
|
+
// INTEGRATIONS.jira,
|
|
6192
6196
|
INTEGRATIONS["jira-server"],
|
|
6193
6197
|
INTEGRATIONS.notion,
|
|
6194
6198
|
INTEGRATIONS.slack
|
|
@@ -6202,7 +6206,10 @@ var SUBAGENTS = {
|
|
|
6202
6206
|
name: "Documentation Researcher",
|
|
6203
6207
|
description: "Search and retrieve information from your documentation",
|
|
6204
6208
|
icon: "file-search",
|
|
6205
|
-
integrations: [
|
|
6209
|
+
integrations: [
|
|
6210
|
+
INTEGRATIONS.notion
|
|
6211
|
+
// INTEGRATIONS.confluence
|
|
6212
|
+
],
|
|
6206
6213
|
model: "sonnet",
|
|
6207
6214
|
color: "cyan",
|
|
6208
6215
|
version: "1.0.0"
|
|
@@ -6285,6 +6292,62 @@ function buildSubagentsConfig(subagents) {
|
|
|
6285
6292
|
return configs;
|
|
6286
6293
|
}
|
|
6287
6294
|
|
|
6295
|
+
// src/core/tool-strings.ts
|
|
6296
|
+
var TOOL_STRINGS = {
|
|
6297
|
+
"claude-code": {
|
|
6298
|
+
INVOKE_TEST_RUNNER: "Use the test-runner subagent to execute the tests",
|
|
6299
|
+
INVOKE_TEST_DEBUGGER_FIXER: "Use the test-debugger-fixer subagent to debug and fix the failing test",
|
|
6300
|
+
INVOKE_TEST_CODE_GENERATOR: "Use the test-code-generator subagent to generate automated test code",
|
|
6301
|
+
INVOKE_TEAM_COMMUNICATOR: "Use the team-communicator subagent to notify the team",
|
|
6302
|
+
INVOKE_ISSUE_TRACKER: "Use the issue-tracker subagent to create or update issues",
|
|
6303
|
+
INVOKE_DOCUMENTATION_RESEARCHER: "Use the documentation-researcher subagent to search and gather documentation"
|
|
6304
|
+
},
|
|
6305
|
+
"cursor": {
|
|
6306
|
+
INVOKE_TEST_RUNNER: 'Run the test-runner agent:\n```bash\ncursor-agent -p "$(cat .cursor/agents/test-runner.md)" --output-format text\n```',
|
|
6307
|
+
INVOKE_TEST_DEBUGGER_FIXER: 'Run the test-debugger-fixer agent:\n```bash\ncursor-agent -p "$(cat .cursor/agents/test-debugger-fixer.md)" --output-format text\n```',
|
|
6308
|
+
INVOKE_TEST_CODE_GENERATOR: 'Run the test-code-generator agent:\n```bash\ncursor-agent -p "$(cat .cursor/agents/test-code-generator.md)" --output-format text\n```',
|
|
6309
|
+
INVOKE_TEAM_COMMUNICATOR: 'Run the team-communicator agent:\n```bash\ncursor-agent -p "$(cat .cursor/agents/team-communicator.md)" --output-format text\n```',
|
|
6310
|
+
INVOKE_ISSUE_TRACKER: 'Run the issue-tracker agent:\n```bash\ncursor-agent -p "$(cat .cursor/agents/issue-tracker.md)" --output-format text\n```',
|
|
6311
|
+
INVOKE_DOCUMENTATION_RESEARCHER: 'Run the documentation-researcher agent:\n```bash\ncursor-agent -p "$(cat .cursor/agents/documentation-researcher.md)" --output-format text\n```'
|
|
6312
|
+
},
|
|
6313
|
+
"codex": {
|
|
6314
|
+
INVOKE_TEST_RUNNER: 'Run the test-runner agent:\n```bash\ncodex -p "$(cat .codex/agents/test-runner.md)"\n```',
|
|
6315
|
+
INVOKE_TEST_DEBUGGER_FIXER: 'Run the test-debugger-fixer agent:\n```bash\ncodex -p "$(cat .codex/agents/test-debugger-fixer.md)"\n```',
|
|
6316
|
+
INVOKE_TEST_CODE_GENERATOR: 'Run the test-code-generator agent:\n```bash\ncodex -p "$(cat .codex/agents/test-code-generator.md)"\n```',
|
|
6317
|
+
INVOKE_TEAM_COMMUNICATOR: 'Run the team-communicator agent:\n```bash\ncodex -p "$(cat .codex/agents/team-communicator.md)"\n```',
|
|
6318
|
+
INVOKE_ISSUE_TRACKER: 'Run the issue-tracker agent:\n```bash\ncodex -p "$(cat .codex/agents/issue-tracker.md)"\n```',
|
|
6319
|
+
INVOKE_DOCUMENTATION_RESEARCHER: 'Run the documentation-researcher agent:\n```bash\ncodex -p "$(cat .codex/agents/documentation-researcher.md)"\n```'
|
|
6320
|
+
}
|
|
6321
|
+
};
|
|
6322
|
+
function getToolString(toolId, key) {
|
|
6323
|
+
const toolStrings = TOOL_STRINGS[toolId];
|
|
6324
|
+
if (!toolStrings) {
|
|
6325
|
+
throw new Error(`Unknown tool: ${toolId}`);
|
|
6326
|
+
}
|
|
6327
|
+
const value = toolStrings[key];
|
|
6328
|
+
if (!value) {
|
|
6329
|
+
throw new Error(`Unknown string key: ${key} for tool: ${toolId}`);
|
|
6330
|
+
}
|
|
6331
|
+
return value;
|
|
6332
|
+
}
|
|
6333
|
+
function replaceInvocationPlaceholders(content, toolId) {
|
|
6334
|
+
let result = content;
|
|
6335
|
+
const keys = [
|
|
6336
|
+
"INVOKE_TEST_RUNNER",
|
|
6337
|
+
"INVOKE_TEST_DEBUGGER_FIXER",
|
|
6338
|
+
"INVOKE_TEST_CODE_GENERATOR",
|
|
6339
|
+
"INVOKE_TEAM_COMMUNICATOR",
|
|
6340
|
+
"INVOKE_ISSUE_TRACKER",
|
|
6341
|
+
"INVOKE_DOCUMENTATION_RESEARCHER"
|
|
6342
|
+
];
|
|
6343
|
+
for (const key of keys) {
|
|
6344
|
+
const placeholder = `{{${key}}}`;
|
|
6345
|
+
const replacement = getToolString(toolId, key);
|
|
6346
|
+
result = result.replace(new RegExp(placeholder, "g"), replacement);
|
|
6347
|
+
}
|
|
6348
|
+
return result;
|
|
6349
|
+
}
|
|
6350
|
+
|
|
6288
6351
|
// src/core/registry.ts
|
|
6289
6352
|
async function getAgentConfiguration(taskDefinitions, projectSubAgents) {
|
|
6290
6353
|
const taskSlugs = taskDefinitions.map((t) => t.slug);
|
|
@@ -6296,7 +6359,7 @@ async function getAgentConfiguration(taskDefinitions, projectSubAgents) {
|
|
|
6296
6359
|
taskDefinitions.forEach((task) => {
|
|
6297
6360
|
slashCommands[task.slug] = {
|
|
6298
6361
|
frontmatter: task.frontmatter,
|
|
6299
|
-
content: task.content
|
|
6362
|
+
content: replaceInvocationPlaceholders(task.content, "claude-code")
|
|
6300
6363
|
};
|
|
6301
6364
|
});
|
|
6302
6365
|
const allRoles = /* @__PURE__ */ new Set();
|