@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.d.cts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ var MCP_SERVERS = {
|
|
|
5
5
|
name: "Slack",
|
|
6
6
|
description: "Slack MCP server for messaging and channel operations",
|
|
7
7
|
requiresCredentials: true,
|
|
8
|
+
npmPackages: ["simple-slack-mcp-server"],
|
|
8
9
|
config: {
|
|
9
10
|
command: "slack-mcp-server",
|
|
10
11
|
args: [],
|
|
@@ -18,6 +19,7 @@ var MCP_SERVERS = {
|
|
|
18
19
|
name: "Microsoft Teams",
|
|
19
20
|
description: "Microsoft Teams MCP server for messaging and channel operations",
|
|
20
21
|
requiresCredentials: true,
|
|
22
|
+
npmPackages: ["@bugzy-ai/teams-mcp-server"],
|
|
21
23
|
config: {
|
|
22
24
|
command: "teams-mcp-server",
|
|
23
25
|
args: [],
|
|
@@ -31,6 +33,7 @@ var MCP_SERVERS = {
|
|
|
31
33
|
name: "Playwright",
|
|
32
34
|
description: "Playwright MCP server for browser automation",
|
|
33
35
|
requiresCredentials: false,
|
|
36
|
+
npmPackages: ["@playwright/mcp"],
|
|
34
37
|
config: {
|
|
35
38
|
command: "mcp-server-playwright",
|
|
36
39
|
args: [
|
|
@@ -55,6 +58,7 @@ var MCP_SERVERS = {
|
|
|
55
58
|
name: "Notion",
|
|
56
59
|
description: "Notion MCP server for documentation",
|
|
57
60
|
requiresCredentials: true,
|
|
61
|
+
npmPackages: ["@notionhq/notion-mcp-server"],
|
|
58
62
|
config: {
|
|
59
63
|
command: "notion-mcp-server",
|
|
60
64
|
args: [],
|
|
@@ -68,6 +72,7 @@ var MCP_SERVERS = {
|
|
|
68
72
|
name: "Jira Server (On-Prem)",
|
|
69
73
|
description: "Jira Server MCP via tunnel for on-premise instances",
|
|
70
74
|
requiresCredentials: true,
|
|
75
|
+
npmPackages: ["@mcp-tunnel/wrapper", "@bugzy-ai/jira-mcp-server"],
|
|
71
76
|
config: {
|
|
72
77
|
command: "mcp-tunnel",
|
|
73
78
|
args: ["--server", "jira-mcp-server"],
|
|
@@ -653,7 +658,9 @@ Document all findings including:
|
|
|
653
658
|
\`\`\`
|
|
654
659
|
|
|
655
660
|
#### 3.2 Launch Test Runner Agent
|
|
656
|
-
|
|
661
|
+
{{INVOKE_TEST_RUNNER}}
|
|
662
|
+
|
|
663
|
+
Execute the exploration test case with special exploration instructions:
|
|
657
664
|
|
|
658
665
|
\`\`\`
|
|
659
666
|
Execute the exploration test case at ./test-cases/EXPLORATION-TEMP.md with focus on discovery and documentation.
|
|
@@ -1106,10 +1113,10 @@ Before invoking the agent, identify the test cases for the current area:
|
|
|
1106
1113
|
|
|
1107
1114
|
#### Step 2.2: Invoke test-code-generator Agent
|
|
1108
1115
|
|
|
1109
|
-
|
|
1116
|
+
{{INVOKE_TEST_CODE_GENERATOR}} for the current area with the following context:
|
|
1110
1117
|
|
|
1111
1118
|
**Agent Invocation:**
|
|
1112
|
-
"
|
|
1119
|
+
"Automate test cases for the [AREA_NAME] area.
|
|
1113
1120
|
|
|
1114
1121
|
**Context:**
|
|
1115
1122
|
- Area: [AREA_NAME]
|
|
@@ -1249,10 +1256,10 @@ Provide a comprehensive summary showing:
|
|
|
1249
1256
|
role: "documentation-researcher",
|
|
1250
1257
|
contentBlock: `#### 1.4 Gather Product Documentation
|
|
1251
1258
|
|
|
1252
|
-
|
|
1259
|
+
{{INVOKE_DOCUMENTATION_RESEARCHER}} to gather comprehensive product documentation:
|
|
1253
1260
|
|
|
1254
1261
|
\`\`\`
|
|
1255
|
-
|
|
1262
|
+
Explore all available product documentation, specifically focusing on:
|
|
1256
1263
|
- UI elements and workflows
|
|
1257
1264
|
- User interactions and navigation paths
|
|
1258
1265
|
- Form fields and validation rules
|
|
@@ -1266,10 +1273,9 @@ Use the documentation-researcher agent to explore all available product document
|
|
|
1266
1273
|
role: "team-communicator",
|
|
1267
1274
|
contentBlock: `### Step 4.5: Team Communication
|
|
1268
1275
|
|
|
1269
|
-
|
|
1276
|
+
{{INVOKE_TEAM_COMMUNICATOR}} to notify the product team about the new test cases and automated tests:
|
|
1270
1277
|
|
|
1271
1278
|
\`\`\`
|
|
1272
|
-
Use the team-communicator agent to:
|
|
1273
1279
|
1. Post an update about test case and automation creation
|
|
1274
1280
|
2. Provide summary of coverage:
|
|
1275
1281
|
- Number of manual test cases created
|
|
@@ -1527,10 +1533,10 @@ Provide a summary of:
|
|
|
1527
1533
|
role: "documentation-researcher",
|
|
1528
1534
|
contentBlock: `### Step 2: Gather comprehensive project documentation
|
|
1529
1535
|
|
|
1530
|
-
|
|
1536
|
+
{{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.
|
|
1531
1537
|
|
|
1532
1538
|
\`\`\`
|
|
1533
|
-
|
|
1539
|
+
Explore all available project documentation related to: $ARGUMENTS
|
|
1534
1540
|
|
|
1535
1541
|
Specifically gather:
|
|
1536
1542
|
- Product specifications and requirements
|
|
@@ -1555,10 +1561,9 @@ The agent will:
|
|
|
1555
1561
|
role: "team-communicator",
|
|
1556
1562
|
contentBlock: `### Step 7.5: Team Communication
|
|
1557
1563
|
|
|
1558
|
-
|
|
1564
|
+
{{INVOKE_TEAM_COMMUNICATOR}} to notify the product team about the new test plan:
|
|
1559
1565
|
|
|
1560
1566
|
\`\`\`
|
|
1561
|
-
Use the team-communicator agent to:
|
|
1562
1567
|
1. Post an update about the test plan creation
|
|
1563
1568
|
2. Provide a brief summary of coverage areas and key features
|
|
1564
1569
|
3. Mention any areas that need exploration or clarification
|
|
@@ -1793,7 +1798,7 @@ Classify the ambiguity level to determine appropriate response:
|
|
|
1793
1798
|
#### Clarification Approach by Severity
|
|
1794
1799
|
|
|
1795
1800
|
**For CRITICAL/HIGH ambiguity:**
|
|
1796
|
-
1. **
|
|
1801
|
+
1. **{{INVOKE_TEAM_COMMUNICATOR}} to ask specific questions**
|
|
1797
1802
|
2. **WAIT for response before proceeding**
|
|
1798
1803
|
3. **Document the clarification request in event history**
|
|
1799
1804
|
|
|
@@ -2066,7 +2071,7 @@ ${KNOWLEDGE_BASE_UPDATE_INSTRUCTIONS}`,
|
|
|
2066
2071
|
contentBlock: `#### 3.3 Use Documentation Researcher if Needed
|
|
2067
2072
|
For events mentioning unknown features or components:
|
|
2068
2073
|
\`\`\`
|
|
2069
|
-
|
|
2074
|
+
{{INVOKE_DOCUMENTATION_RESEARCHER}} to find information about: [component/feature]
|
|
2070
2075
|
\`\`\``
|
|
2071
2076
|
},
|
|
2072
2077
|
{
|
|
@@ -2075,7 +2080,7 @@ Use documentation-researcher agent to find information about: [component/feature
|
|
|
2075
2080
|
|
|
2076
2081
|
When an issue needs to be tracked (task type: report_bug or update_story):
|
|
2077
2082
|
\`\`\`
|
|
2078
|
-
|
|
2083
|
+
{{INVOKE_ISSUE_TRACKER}}
|
|
2079
2084
|
1. Check for duplicate issues in the tracking system
|
|
2080
2085
|
2. For bugs: Create detailed bug report with:
|
|
2081
2086
|
- Clear, descriptive title
|
|
@@ -2344,7 +2349,7 @@ For each failed test:
|
|
|
2344
2349
|
For each test classified as **[TEST ISSUE]**, use the test-debugger-fixer agent to automatically fix the test:
|
|
2345
2350
|
|
|
2346
2351
|
\`\`\`
|
|
2347
|
-
|
|
2352
|
+
{{INVOKE_TEST_DEBUGGER_FIXER}}
|
|
2348
2353
|
|
|
2349
2354
|
For each failed test classified as a test issue (not a product bug), provide:
|
|
2350
2355
|
- Test run timestamp: [from manifest.timestamp]
|
|
@@ -2439,7 +2444,7 @@ After triage in Step 5.1, for tests classified as **[PRODUCT BUG]**, use the iss
|
|
|
2439
2444
|
For each bug to report, use the issue-tracker agent:
|
|
2440
2445
|
|
|
2441
2446
|
\`\`\`
|
|
2442
|
-
|
|
2447
|
+
{{INVOKE_ISSUE_TRACKER}}
|
|
2443
2448
|
1. Check for duplicate bugs in the tracking system
|
|
2444
2449
|
- The agent will automatically search for similar existing issues
|
|
2445
2450
|
- It maintains memory of recently reported issues
|
|
@@ -2510,10 +2515,11 @@ After issue tracker agent completes, create a summary:
|
|
|
2510
2515
|
role: "team-communicator",
|
|
2511
2516
|
contentBlock: `### Step 6: Team Communication
|
|
2512
2517
|
|
|
2513
|
-
|
|
2518
|
+
{{INVOKE_TEAM_COMMUNICATOR}}
|
|
2519
|
+
|
|
2520
|
+
Notify the product team about test execution:
|
|
2514
2521
|
|
|
2515
2522
|
\`\`\`
|
|
2516
|
-
Use the team-communicator agent to:
|
|
2517
2523
|
1. Post test execution summary with key statistics
|
|
2518
2524
|
2. Highlight critical failures that need immediate attention
|
|
2519
2525
|
3. Share important learnings about product behavior
|
|
@@ -2848,7 +2854,7 @@ Read and analyze the JSON report:
|
|
|
2848
2854
|
For each test classified as **[TEST ISSUE]**, use the test-debugger-fixer agent to automatically fix the test:
|
|
2849
2855
|
|
|
2850
2856
|
\`\`\`
|
|
2851
|
-
|
|
2857
|
+
{{INVOKE_TEST_DEBUGGER_FIXER}}
|
|
2852
2858
|
|
|
2853
2859
|
For each failed test classified as a test issue (not a product bug), provide:
|
|
2854
2860
|
- Test file path: [from JSON report]
|
|
@@ -2889,7 +2895,7 @@ Classification guidelines:
|
|
|
2889
2895
|
#### 4A.4 Fix Test Issues Automatically
|
|
2890
2896
|
|
|
2891
2897
|
For tests classified as [TEST ISSUE]:
|
|
2892
|
-
-
|
|
2898
|
+
- {{INVOKE_TEST_DEBUGGER_FIXER}} to analyze and fix
|
|
2893
2899
|
- Agent debugs with browser if needed
|
|
2894
2900
|
- Applies fix (selector update, wait condition, assertion correction)
|
|
2895
2901
|
- Reruns test to verify fix (10x for flaky tests)
|
|
@@ -2905,7 +2911,7 @@ Track fixed tests with:
|
|
|
2905
2911
|
{{ISSUE_TRACKER_INSTRUCTIONS}}
|
|
2906
2912
|
|
|
2907
2913
|
For tests classified as [PRODUCT BUG]:
|
|
2908
|
-
-
|
|
2914
|
+
- {{INVOKE_ISSUE_TRACKER}} to create bug reports
|
|
2909
2915
|
- Agent checks for duplicates automatically
|
|
2910
2916
|
- Creates detailed report with:
|
|
2911
2917
|
- Title, description, reproduction steps
|
|
@@ -3221,10 +3227,10 @@ Format as comprehensive markdown report for terminal display:
|
|
|
3221
3227
|
|
|
3222
3228
|
{{TEAM_COMMUNICATOR_INSTRUCTIONS}}
|
|
3223
3229
|
|
|
3224
|
-
|
|
3230
|
+
{{INVOKE_TEAM_COMMUNICATOR}} to post concise results to Slack thread:
|
|
3225
3231
|
|
|
3226
3232
|
\`\`\`
|
|
3227
|
-
|
|
3233
|
+
Post verification results.
|
|
3228
3234
|
|
|
3229
3235
|
**Channel**: [from CHANGE_CONTEXT.slackChannel]
|
|
3230
3236
|
**Thread**: [from CHANGE_CONTEXT.slackThread]
|
|
@@ -3405,10 +3411,10 @@ A successful verification includes:
|
|
|
3405
3411
|
role: "documentation-researcher",
|
|
3406
3412
|
contentBlock: `#### Research Project Documentation
|
|
3407
3413
|
|
|
3408
|
-
|
|
3414
|
+
{{INVOKE_DOCUMENTATION_RESEARCHER}} to gather comprehensive context about the changed features:
|
|
3409
3415
|
|
|
3410
3416
|
\`\`\`
|
|
3411
|
-
|
|
3417
|
+
Explore project documentation related to the changes.
|
|
3412
3418
|
|
|
3413
3419
|
Specifically gather:
|
|
3414
3420
|
- Product specifications for affected features
|
|
@@ -3440,10 +3446,9 @@ Use this information to:
|
|
|
3440
3446
|
role: "issue-tracker",
|
|
3441
3447
|
contentBlock: `#### Log Product Bugs
|
|
3442
3448
|
|
|
3443
|
-
For tests classified as **[PRODUCT BUG]**,
|
|
3449
|
+
For tests classified as **[PRODUCT BUG]**, {{INVOKE_ISSUE_TRACKER}} to log bugs:
|
|
3444
3450
|
|
|
3445
3451
|
\`\`\`
|
|
3446
|
-
Use issue-tracker agent to:
|
|
3447
3452
|
1. Check for duplicate bugs in the tracking system
|
|
3448
3453
|
- The agent will automatically search for similar existing issues
|
|
3449
3454
|
- It maintains memory of recently reported issues
|
|
@@ -3492,10 +3497,9 @@ Use issue-tracker agent to:
|
|
|
3492
3497
|
role: "team-communicator",
|
|
3493
3498
|
contentBlock: `#### Team Communication
|
|
3494
3499
|
|
|
3495
|
-
|
|
3500
|
+
{{INVOKE_TEAM_COMMUNICATOR}} to share verification results (primarily for Slack trigger, but can be used for other triggers):
|
|
3496
3501
|
|
|
3497
3502
|
\`\`\`
|
|
3498
|
-
Use the team-communicator agent to:
|
|
3499
3503
|
1. Post verification results summary
|
|
3500
3504
|
2. Highlight critical failures that need immediate attention
|
|
3501
3505
|
3. Share bugs logged with issue tracker links
|
|
@@ -6132,8 +6136,8 @@ var SUBAGENTS = {
|
|
|
6132
6136
|
description: "Automatically create and track bugs and issues",
|
|
6133
6137
|
icon: "bot",
|
|
6134
6138
|
integrations: [
|
|
6135
|
-
INTEGRATIONS.linear,
|
|
6136
|
-
INTEGRATIONS.jira,
|
|
6139
|
+
// INTEGRATIONS.linear,
|
|
6140
|
+
// INTEGRATIONS.jira,
|
|
6137
6141
|
INTEGRATIONS["jira-server"],
|
|
6138
6142
|
INTEGRATIONS.notion,
|
|
6139
6143
|
INTEGRATIONS.slack
|
|
@@ -6147,7 +6151,10 @@ var SUBAGENTS = {
|
|
|
6147
6151
|
name: "Documentation Researcher",
|
|
6148
6152
|
description: "Search and retrieve information from your documentation",
|
|
6149
6153
|
icon: "file-search",
|
|
6150
|
-
integrations: [
|
|
6154
|
+
integrations: [
|
|
6155
|
+
INTEGRATIONS.notion
|
|
6156
|
+
// INTEGRATIONS.confluence
|
|
6157
|
+
],
|
|
6151
6158
|
model: "sonnet",
|
|
6152
6159
|
color: "cyan",
|
|
6153
6160
|
version: "1.0.0"
|
|
@@ -6230,6 +6237,62 @@ function buildSubagentsConfig(subagents) {
|
|
|
6230
6237
|
return configs;
|
|
6231
6238
|
}
|
|
6232
6239
|
|
|
6240
|
+
// src/core/tool-strings.ts
|
|
6241
|
+
var TOOL_STRINGS = {
|
|
6242
|
+
"claude-code": {
|
|
6243
|
+
INVOKE_TEST_RUNNER: "Use the test-runner subagent to execute the tests",
|
|
6244
|
+
INVOKE_TEST_DEBUGGER_FIXER: "Use the test-debugger-fixer subagent to debug and fix the failing test",
|
|
6245
|
+
INVOKE_TEST_CODE_GENERATOR: "Use the test-code-generator subagent to generate automated test code",
|
|
6246
|
+
INVOKE_TEAM_COMMUNICATOR: "Use the team-communicator subagent to notify the team",
|
|
6247
|
+
INVOKE_ISSUE_TRACKER: "Use the issue-tracker subagent to create or update issues",
|
|
6248
|
+
INVOKE_DOCUMENTATION_RESEARCHER: "Use the documentation-researcher subagent to search and gather documentation"
|
|
6249
|
+
},
|
|
6250
|
+
"cursor": {
|
|
6251
|
+
INVOKE_TEST_RUNNER: 'Run the test-runner agent:\n```bash\ncursor-agent -p "$(cat .cursor/agents/test-runner.md)" --output-format text\n```',
|
|
6252
|
+
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```',
|
|
6253
|
+
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```',
|
|
6254
|
+
INVOKE_TEAM_COMMUNICATOR: 'Run the team-communicator agent:\n```bash\ncursor-agent -p "$(cat .cursor/agents/team-communicator.md)" --output-format text\n```',
|
|
6255
|
+
INVOKE_ISSUE_TRACKER: 'Run the issue-tracker agent:\n```bash\ncursor-agent -p "$(cat .cursor/agents/issue-tracker.md)" --output-format text\n```',
|
|
6256
|
+
INVOKE_DOCUMENTATION_RESEARCHER: 'Run the documentation-researcher agent:\n```bash\ncursor-agent -p "$(cat .cursor/agents/documentation-researcher.md)" --output-format text\n```'
|
|
6257
|
+
},
|
|
6258
|
+
"codex": {
|
|
6259
|
+
INVOKE_TEST_RUNNER: 'Run the test-runner agent:\n```bash\ncodex -p "$(cat .codex/agents/test-runner.md)"\n```',
|
|
6260
|
+
INVOKE_TEST_DEBUGGER_FIXER: 'Run the test-debugger-fixer agent:\n```bash\ncodex -p "$(cat .codex/agents/test-debugger-fixer.md)"\n```',
|
|
6261
|
+
INVOKE_TEST_CODE_GENERATOR: 'Run the test-code-generator agent:\n```bash\ncodex -p "$(cat .codex/agents/test-code-generator.md)"\n```',
|
|
6262
|
+
INVOKE_TEAM_COMMUNICATOR: 'Run the team-communicator agent:\n```bash\ncodex -p "$(cat .codex/agents/team-communicator.md)"\n```',
|
|
6263
|
+
INVOKE_ISSUE_TRACKER: 'Run the issue-tracker agent:\n```bash\ncodex -p "$(cat .codex/agents/issue-tracker.md)"\n```',
|
|
6264
|
+
INVOKE_DOCUMENTATION_RESEARCHER: 'Run the documentation-researcher agent:\n```bash\ncodex -p "$(cat .codex/agents/documentation-researcher.md)"\n```'
|
|
6265
|
+
}
|
|
6266
|
+
};
|
|
6267
|
+
function getToolString(toolId, key) {
|
|
6268
|
+
const toolStrings = TOOL_STRINGS[toolId];
|
|
6269
|
+
if (!toolStrings) {
|
|
6270
|
+
throw new Error(`Unknown tool: ${toolId}`);
|
|
6271
|
+
}
|
|
6272
|
+
const value = toolStrings[key];
|
|
6273
|
+
if (!value) {
|
|
6274
|
+
throw new Error(`Unknown string key: ${key} for tool: ${toolId}`);
|
|
6275
|
+
}
|
|
6276
|
+
return value;
|
|
6277
|
+
}
|
|
6278
|
+
function replaceInvocationPlaceholders(content, toolId) {
|
|
6279
|
+
let result = content;
|
|
6280
|
+
const keys = [
|
|
6281
|
+
"INVOKE_TEST_RUNNER",
|
|
6282
|
+
"INVOKE_TEST_DEBUGGER_FIXER",
|
|
6283
|
+
"INVOKE_TEST_CODE_GENERATOR",
|
|
6284
|
+
"INVOKE_TEAM_COMMUNICATOR",
|
|
6285
|
+
"INVOKE_ISSUE_TRACKER",
|
|
6286
|
+
"INVOKE_DOCUMENTATION_RESEARCHER"
|
|
6287
|
+
];
|
|
6288
|
+
for (const key of keys) {
|
|
6289
|
+
const placeholder = `{{${key}}}`;
|
|
6290
|
+
const replacement = getToolString(toolId, key);
|
|
6291
|
+
result = result.replace(new RegExp(placeholder, "g"), replacement);
|
|
6292
|
+
}
|
|
6293
|
+
return result;
|
|
6294
|
+
}
|
|
6295
|
+
|
|
6233
6296
|
// src/core/registry.ts
|
|
6234
6297
|
async function getAgentConfiguration(taskDefinitions, projectSubAgents) {
|
|
6235
6298
|
const taskSlugs = taskDefinitions.map((t) => t.slug);
|
|
@@ -6241,7 +6304,7 @@ async function getAgentConfiguration(taskDefinitions, projectSubAgents) {
|
|
|
6241
6304
|
taskDefinitions.forEach((task) => {
|
|
6242
6305
|
slashCommands[task.slug] = {
|
|
6243
6306
|
frontmatter: task.frontmatter,
|
|
6244
|
-
content: task.content
|
|
6307
|
+
content: replaceInvocationPlaceholders(task.content, "claude-code")
|
|
6245
6308
|
};
|
|
6246
6309
|
});
|
|
6247
6310
|
const allRoles = /* @__PURE__ */ new Set();
|