@bugzy-ai/bugzy 1.18.5 → 1.19.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/LICENSE +21 -21
- package/README.md +273 -273
- package/dist/cli/index.cjs +332 -257
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.js +334 -259
- package/dist/cli/index.js.map +1 -1
- package/dist/index.cjs +193 -201
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +193 -201
- package/dist/index.js.map +1 -1
- package/dist/subagents/index.cjs +145 -10
- package/dist/subagents/index.cjs.map +1 -1
- package/dist/subagents/index.js +145 -10
- package/dist/subagents/index.js.map +1 -1
- package/dist/subagents/metadata.cjs +8 -0
- package/dist/subagents/metadata.cjs.map +1 -1
- package/dist/subagents/metadata.js +8 -0
- package/dist/subagents/metadata.js.map +1 -1
- package/dist/tasks/index.cjs +9 -89
- package/dist/tasks/index.cjs.map +1 -1
- package/dist/tasks/index.js +9 -89
- package/dist/tasks/index.js.map +1 -1
- package/package.json +95 -95
- package/templates/init/.bugzy/runtime/hooks/pre-compact.sh +53 -0
- package/templates/init/.bugzy/runtime/hooks/session-start.sh +68 -0
- package/templates/init/.bugzy/runtime/knowledge-base.md +61 -61
- package/templates/init/.bugzy/runtime/knowledge-maintenance-guide.md +140 -97
- package/templates/init/.bugzy/runtime/project-context.md +35 -35
- package/templates/init/.bugzy/runtime/subagent-memory-guide.md +122 -87
- package/templates/init/.bugzy/runtime/templates/event-examples.md +194 -194
- package/templates/init/.bugzy/runtime/templates/test-plan-template.md +50 -50
- package/templates/init/.bugzy/runtime/templates/test-result-schema.md +498 -498
- package/templates/init/.claude/settings.json +49 -28
- package/templates/init/.env.testdata +18 -18
- package/templates/init/.gitignore-template +24 -24
- package/templates/init/AGENTS.md +155 -155
- package/templates/init/CLAUDE.md +157 -157
- package/templates/init/test-runs/README.md +45 -45
- package/templates/init/tests/CLAUDE.md +199 -199
- package/templates/init/tests/docs/test-execution-strategy.md +535 -535
- package/templates/init/tests/docs/testing-best-practices.md +724 -724
- package/templates/playwright/BasePage.template.ts +190 -190
- package/templates/playwright/auth.setup.template.ts +89 -89
- package/templates/playwright/dataGenerators.helper.template.ts +148 -148
- package/templates/playwright/dateUtils.helper.template.ts +96 -96
- package/templates/playwright/pages.fixture.template.ts +50 -50
- package/templates/playwright/playwright.config.template.ts +97 -97
- package/templates/playwright/reporters/__tests__/bugzy-reporter-failure-classification.test.ts +299 -299
- package/templates/playwright/reporters/__tests__/bugzy-reporter-manifest-merge.test.ts +329 -329
- package/templates/playwright/reporters/__tests__/playwright.config.ts +5 -5
- package/templates/playwright/reporters/bugzy-reporter.ts +784 -784
- package/dist/templates/init/.bugzy/runtime/knowledge-base.md +0 -61
- package/dist/templates/init/.bugzy/runtime/knowledge-maintenance-guide.md +0 -97
- package/dist/templates/init/.bugzy/runtime/project-context.md +0 -35
- package/dist/templates/init/.bugzy/runtime/subagent-memory-guide.md +0 -87
- package/dist/templates/init/.bugzy/runtime/templates/test-plan-template.md +0 -50
- package/dist/templates/init/.bugzy/runtime/templates/test-result-schema.md +0 -498
- package/dist/templates/init/.bugzy/runtime/test-execution-strategy.md +0 -535
- package/dist/templates/init/.bugzy/runtime/testing-best-practices.md +0 -632
- package/dist/templates/init/.gitignore-template +0 -25
package/dist/index.js
CHANGED
|
@@ -112,6 +112,9 @@ var MCP_SERVERS = {
|
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
},
|
|
115
|
+
// asana: CLI-only integration — no MCP server needed.
|
|
116
|
+
// Agent uses `asana-cli task search|create|update|comment` via Bash.
|
|
117
|
+
// Package is installed globally in the container for CLI access.
|
|
115
118
|
// github-modelcontextprotocol: {
|
|
116
119
|
// provider: 'github',
|
|
117
120
|
// name: 'GitHub',
|
|
@@ -261,10 +264,6 @@ Extract the following from arguments:
|
|
|
261
264
|
- **type**: Test type (exploratory, functional, regression, smoke) - defaults to functional
|
|
262
265
|
- **focus**: Optional specific feature or section to focus on`
|
|
263
266
|
},
|
|
264
|
-
// Step 4: Load Project Context (library)
|
|
265
|
-
"load-project-context",
|
|
266
|
-
// Step 5: Knowledge Base Read (library)
|
|
267
|
-
"read-knowledge-base",
|
|
268
267
|
// Step 5: Gather Context (inline)
|
|
269
268
|
{
|
|
270
269
|
inline: true,
|
|
@@ -468,11 +467,7 @@ var generateTestPlanTask = {
|
|
|
468
467
|
title: "Arguments",
|
|
469
468
|
content: `Product description: $ARGUMENTS`
|
|
470
469
|
},
|
|
471
|
-
// Step
|
|
472
|
-
"load-project-context",
|
|
473
|
-
// Step 5: Knowledge Base Read (library)
|
|
474
|
-
"read-knowledge-base",
|
|
475
|
-
// Step 6: Process Description (inline)
|
|
470
|
+
// Step 5: Process Description (inline)
|
|
476
471
|
{
|
|
477
472
|
inline: true,
|
|
478
473
|
title: "Process the Product Description",
|
|
@@ -648,10 +643,6 @@ Process team messages and handle multi-turn conversations with the product team
|
|
|
648
643
|
title: "Arguments",
|
|
649
644
|
content: `Team message/thread context: $ARGUMENTS`
|
|
650
645
|
},
|
|
651
|
-
// Step 4: Load Project Context (library)
|
|
652
|
-
"load-project-context",
|
|
653
|
-
// Step 5: Knowledge Base Read (library)
|
|
654
|
-
"read-knowledge-base",
|
|
655
646
|
// Step 6: Detect Intent (inline - simplified, no handler file loading)
|
|
656
647
|
{
|
|
657
648
|
inline: true,
|
|
@@ -846,10 +837,6 @@ Process webhook events from integrated systems by analyzing event content, deter
|
|
|
846
837
|
title: "Arguments",
|
|
847
838
|
content: `Arguments: $ARGUMENTS`
|
|
848
839
|
},
|
|
849
|
-
// Step 4: Load Project Context (library)
|
|
850
|
-
"load-project-context",
|
|
851
|
-
// Step 5: Knowledge Base Read (library)
|
|
852
|
-
"read-knowledge-base",
|
|
853
840
|
// Step 5: Understand Event Context (inline)
|
|
854
841
|
{
|
|
855
842
|
inline: true,
|
|
@@ -1318,10 +1305,6 @@ Extract the following from arguments:
|
|
|
1318
1305
|
- Specific file: path to a specific test file
|
|
1319
1306
|
- All tests: "all" or "" \u2192 runs entire test suite`
|
|
1320
1307
|
},
|
|
1321
|
-
// Step 4: Load Project Context (library)
|
|
1322
|
-
"load-project-context",
|
|
1323
|
-
// Step 5: Knowledge Base Read (library)
|
|
1324
|
-
"read-knowledge-base",
|
|
1325
1308
|
// Step 5: Test Execution Strategy (library)
|
|
1326
1309
|
"read-test-strategy",
|
|
1327
1310
|
// Step 6: Clarification Protocol (library)
|
|
@@ -1470,10 +1453,6 @@ This task performs comprehensive change verification with:
|
|
|
1470
1453
|
|
|
1471
1454
|
The input format determines the trigger source and context extraction strategy.`
|
|
1472
1455
|
},
|
|
1473
|
-
// Step 4: Load Project Context (library)
|
|
1474
|
-
"load-project-context",
|
|
1475
|
-
// Step 5: Knowledge Base Read (library)
|
|
1476
|
-
"read-knowledge-base",
|
|
1477
1456
|
// Step 5: Detect Trigger Source (inline)
|
|
1478
1457
|
{
|
|
1479
1458
|
inline: true,
|
|
@@ -1883,7 +1862,9 @@ Include in the message:
|
|
|
1883
1862
|
- Any blocking issues or critical findings`,
|
|
1884
1863
|
conditionalOnSubagent: "team-communicator"
|
|
1885
1864
|
},
|
|
1886
|
-
// Step 15:
|
|
1865
|
+
// Step 15: Knowledge Base Update (library)
|
|
1866
|
+
"update-knowledge-base",
|
|
1867
|
+
// Step 16: Documentation Research (conditional library step)
|
|
1887
1868
|
{
|
|
1888
1869
|
stepId: "gather-documentation",
|
|
1889
1870
|
conditionalOnSubagent: "documentation-researcher"
|
|
@@ -1934,9 +1915,7 @@ Output to CI build log (print detailed results to stdout) and exit with appropri
|
|
|
1934
1915
|
Post PR comment if GitHub context available.`,
|
|
1935
1916
|
conditionalOnSubagent: "team-communicator"
|
|
1936
1917
|
},
|
|
1937
|
-
// Step 17:
|
|
1938
|
-
"update-knowledge-base",
|
|
1939
|
-
// Step 18: Handle Special Cases (inline)
|
|
1918
|
+
// Step 17: Handle Special Cases (inline)
|
|
1940
1919
|
{
|
|
1941
1920
|
inline: true,
|
|
1942
1921
|
title: "Handle Special Cases",
|
|
@@ -1988,8 +1967,6 @@ This command orchestrates the complete test coverage workflow in a single execut
|
|
|
1988
1967
|
content: `Focus area: $ARGUMENTS`
|
|
1989
1968
|
},
|
|
1990
1969
|
// Phase 1: Setup
|
|
1991
|
-
"load-project-context",
|
|
1992
|
-
"read-knowledge-base",
|
|
1993
1970
|
{
|
|
1994
1971
|
stepId: "gather-documentation",
|
|
1995
1972
|
conditionalOnSubagent: "documentation-researcher"
|
|
@@ -2058,9 +2035,6 @@ var exploreApplicationTask = {
|
|
|
2058
2035
|
- **depth**: shallow (15-20 min) or deep (45-60 min, default)
|
|
2059
2036
|
- **system**: target system (optional for multi-system setups)`
|
|
2060
2037
|
},
|
|
2061
|
-
// Setup
|
|
2062
|
-
"load-project-context",
|
|
2063
|
-
"read-knowledge-base",
|
|
2064
2038
|
// Exploration Protocol (adaptive depth)
|
|
2065
2039
|
"exploration-protocol",
|
|
2066
2040
|
// Execute
|
|
@@ -2125,11 +2099,7 @@ This task is triggered automatically when test results are submitted to the Bugz
|
|
|
2125
2099
|
title: "Arguments",
|
|
2126
2100
|
content: `Arguments: $ARGUMENTS`
|
|
2127
2101
|
},
|
|
2128
|
-
// Step
|
|
2129
|
-
"load-project-context",
|
|
2130
|
-
// Step 5: Knowledge Base Read (library)
|
|
2131
|
-
"read-knowledge-base",
|
|
2132
|
-
// Step 6: Normalize Test Results (library — handles URL/inline results + manifest creation)
|
|
2102
|
+
// Step 5: Normalize Test Results (library — handles URL/inline results + manifest creation)
|
|
2133
2103
|
"normalize-test-results",
|
|
2134
2104
|
// Step 7: Triage Failures (existing library step)
|
|
2135
2105
|
"triage-failures",
|
|
@@ -2140,57 +2110,13 @@ This task is triggered automatically when test results are submitted to the Bugz
|
|
|
2140
2110
|
stepId: "log-product-bugs",
|
|
2141
2111
|
conditionalOnSubagent: "issue-tracker"
|
|
2142
2112
|
},
|
|
2143
|
-
// Step 10:
|
|
2144
|
-
"update-knowledge-base",
|
|
2145
|
-
// Step 11: Notify Team (conditional — requires team-communicator)
|
|
2113
|
+
// Step 10: Notify Team (conditional — requires team-communicator)
|
|
2146
2114
|
{
|
|
2147
2115
|
stepId: "notify-team",
|
|
2148
2116
|
conditionalOnSubagent: "team-communicator"
|
|
2149
2117
|
},
|
|
2150
|
-
// Step
|
|
2151
|
-
|
|
2152
|
-
inline: true,
|
|
2153
|
-
title: "Generate Triage Report",
|
|
2154
|
-
content: `## Generate Triage Report
|
|
2155
|
-
|
|
2156
|
-
Create a structured triage report as the task output. This report is stored in \`task_executions.result\` and displayed in the Bugzy dashboard.
|
|
2157
|
-
|
|
2158
|
-
**Report Structure:**
|
|
2159
|
-
\`\`\`json
|
|
2160
|
-
{
|
|
2161
|
-
"summary": {
|
|
2162
|
-
"total": <number>,
|
|
2163
|
-
"passed": <number>,
|
|
2164
|
-
"failed": <number>,
|
|
2165
|
-
"skipped": <number>,
|
|
2166
|
-
"duration_ms": <number or null>
|
|
2167
|
-
},
|
|
2168
|
-
"ci_metadata": {
|
|
2169
|
-
"pipeline_url": "<from event payload>",
|
|
2170
|
-
"commit_sha": "<from event payload>",
|
|
2171
|
-
"branch": "<from event payload>"
|
|
2172
|
-
},
|
|
2173
|
-
"triage": {
|
|
2174
|
-
"product_bugs": [
|
|
2175
|
-
{
|
|
2176
|
-
"test_name": "<name>",
|
|
2177
|
-
"error": "<brief error>",
|
|
2178
|
-
"reason": "<why this is a product bug>"
|
|
2179
|
-
}
|
|
2180
|
-
],
|
|
2181
|
-
"test_issues": [
|
|
2182
|
-
{
|
|
2183
|
-
"test_name": "<name>",
|
|
2184
|
-
"error": "<brief error>",
|
|
2185
|
-
"reason": "<why this is a test issue>"
|
|
2186
|
-
}
|
|
2187
|
-
]
|
|
2188
|
-
}
|
|
2189
|
-
}
|
|
2190
|
-
\`\`\`
|
|
2191
|
-
|
|
2192
|
-
Output this JSON as the final result of the task.`
|
|
2193
|
-
}
|
|
2118
|
+
// Step 11: Knowledge Base Update (library)
|
|
2119
|
+
"update-knowledge-base"
|
|
2194
2120
|
],
|
|
2195
2121
|
requiredSubagents: ["browser-automation", "test-engineer"],
|
|
2196
2122
|
optionalSubagents: ["issue-tracker", "team-communicator"],
|
|
@@ -2224,9 +2150,6 @@ var exploreTestCodebaseTask = {
|
|
|
2224
2150
|
**Parse:**
|
|
2225
2151
|
- **focus**: specific area to analyze (default: comprehensive)`
|
|
2226
2152
|
},
|
|
2227
|
-
// Setup
|
|
2228
|
-
"load-project-context",
|
|
2229
|
-
"read-knowledge-base",
|
|
2230
2153
|
// Core analysis
|
|
2231
2154
|
"analyze-test-codebase",
|
|
2232
2155
|
// Generate results parser for normalizing test output
|
|
@@ -4391,8 +4314,131 @@ Your memory file becomes more valuable over time:
|
|
|
4391
4314
|
|
|
4392
4315
|
You are meticulous about maintaining your memory file as a critical resource for efficient Azure DevOps operations. Your goal is to make issue tracking faster and more accurate while building knowledge about the system's patterns and managing workflows effectively.`;
|
|
4393
4316
|
|
|
4394
|
-
// src/subagents/templates/issue-tracker/
|
|
4317
|
+
// src/subagents/templates/issue-tracker/asana.ts
|
|
4395
4318
|
var FRONTMATTER13 = {
|
|
4319
|
+
name: "issue-tracker",
|
|
4320
|
+
description: `Use this agent to track and manage tasks and bugs in Asana. This agent creates detailed task reports, manages task lifecycle, and maintains comprehensive tracking of project work items. Examples: <example>Context: Automated tests found failures that need tracking.
|
|
4321
|
+
user: "3 tests failed in the checkout flow - payment validation is broken"
|
|
4322
|
+
assistant: "I'll use the issue-tracker agent to create Asana tasks for these failures with detailed reproduction steps and test evidence."
|
|
4323
|
+
<commentary>Since test failures were discovered, use the issue-tracker agent to create Asana tasks, check for duplicates, and properly categorize each bug.</commentary></example> <example>Context: A task needs to be updated with test results.
|
|
4324
|
+
user: "Task 1234567890 has been verified on staging"
|
|
4325
|
+
assistant: "Let me use the issue-tracker agent to mark the task as complete and add verification comments."
|
|
4326
|
+
<commentary>Use the issue-tracker agent to update task status and document QA validation results.</commentary></example>`,
|
|
4327
|
+
model: "sonnet",
|
|
4328
|
+
color: "red"
|
|
4329
|
+
};
|
|
4330
|
+
var CONTENT13 = `You are an expert Issue Tracker specializing in managing tasks, bugs, and project work items in Asana. Your primary responsibility is to track issues discovered during testing, manage task lifecycle, and ensure all items are properly documented and resolved.
|
|
4331
|
+
|
|
4332
|
+
**Important: CLI-First Approach**
|
|
4333
|
+
|
|
4334
|
+
Always prefer CLI commands via Bash over MCP tool calls. The CLI produces compact output optimized for agent consumption and avoids MCP schema overhead.
|
|
4335
|
+
|
|
4336
|
+
**Primary Interface \u2014 CLI Commands (via Bash):**
|
|
4337
|
+
|
|
4338
|
+
- **Search tasks**: \`asana-cli task search --query "login bug" [--project GID] [--assignee GID]\`
|
|
4339
|
+
- **Get task details**: \`asana-cli task get <gid>\`
|
|
4340
|
+
- **Create task**: \`asana-cli task create --name "Bug: ..." --project GID [--description "..."] [--assignee GID] [--due YYYY-MM-DD]\`
|
|
4341
|
+
- **Update task**: \`asana-cli task update <gid> [--name "..."] [--completed] [--assignee GID] [--due YYYY-MM-DD]\`
|
|
4342
|
+
- **Add comment**: \`asana-cli task comment <gid> --body "Test evidence: ..."\`
|
|
4343
|
+
- **List projects**: \`asana-cli project list\`
|
|
4344
|
+
- **All commands**: Add \`--json\` for structured JSON output when parsing is needed
|
|
4345
|
+
|
|
4346
|
+
**Core Responsibilities:**
|
|
4347
|
+
|
|
4348
|
+
1. **Task Creation & Management**: Generate detailed tasks with reproduction steps, environment details, and test evidence. Include severity assessment and proper project/section assignment.
|
|
4349
|
+
|
|
4350
|
+
2. **Duplicate Detection**: Before creating new tasks, always search for existing similar tasks to avoid duplicates and link related work.
|
|
4351
|
+
|
|
4352
|
+
3. **Lifecycle Management**: Track task status, mark tasks complete when verified, add comments with test findings and status updates.
|
|
4353
|
+
|
|
4354
|
+
4. ${MEMORY_READ_INSTRUCTIONS.replace(/{ROLE}/g, "issue-tracker")}
|
|
4355
|
+
|
|
4356
|
+
**Memory Sections for Issue Tracker (Asana)**:
|
|
4357
|
+
- Asana workspace GID, project GIDs, and section mappings
|
|
4358
|
+
- Recently reported tasks with their GIDs and status
|
|
4359
|
+
- Search queries that work well for finding duplicates
|
|
4360
|
+
- Task naming conventions and description templates
|
|
4361
|
+
- Project-specific workflows and assignee mappings
|
|
4362
|
+
|
|
4363
|
+
**Operational Workflow:**
|
|
4364
|
+
|
|
4365
|
+
1. **Initial Check**: Always begin by reading \`.bugzy/runtime/memory/issue-tracker.md\` to load your Asana configuration and recent task history
|
|
4366
|
+
|
|
4367
|
+
2. **Duplicate Detection**:
|
|
4368
|
+
- Check memory for recently reported similar tasks
|
|
4369
|
+
- Use \`asana-cli task search --query "error keywords"\` to search
|
|
4370
|
+
- Look for matching names, descriptions, or error messages
|
|
4371
|
+
- If duplicate found, add a comment to the existing task instead
|
|
4372
|
+
|
|
4373
|
+
3. **Task Creation**:
|
|
4374
|
+
- Use the project GID from memory
|
|
4375
|
+
- Include comprehensive details: reproduction steps, expected vs actual behavior, environment
|
|
4376
|
+
- Set appropriate assignee and due date when known
|
|
4377
|
+
- Add test evidence and screenshots references in the description
|
|
4378
|
+
|
|
4379
|
+
4. ${MEMORY_UPDATE_INSTRUCTIONS.replace(/{ROLE}/g, "issue-tracker")}
|
|
4380
|
+
|
|
4381
|
+
Specifically for issue-tracker (Asana), consider updating:
|
|
4382
|
+
- **Created Tasks**: Add newly created tasks with their GIDs
|
|
4383
|
+
- **Project Mappings**: Track which projects map to which areas
|
|
4384
|
+
- **Search Patterns**: Save effective search queries
|
|
4385
|
+
- **Assignee Mappings**: Track who handles what areas
|
|
4386
|
+
- Update pattern library with new issue types
|
|
4387
|
+
|
|
4388
|
+
**Memory File Structure** (\`.bugzy/runtime/memory/issue-tracker.md\`):
|
|
4389
|
+
\`\`\`markdown
|
|
4390
|
+
# Issue Tracker Memory
|
|
4391
|
+
|
|
4392
|
+
## Last Updated: [timestamp]
|
|
4393
|
+
|
|
4394
|
+
## Asana Configuration
|
|
4395
|
+
- Workspace GID: 12345
|
|
4396
|
+
- Default Project GID: 67890
|
|
4397
|
+
- Project: My Project
|
|
4398
|
+
|
|
4399
|
+
## Project Mappings
|
|
4400
|
+
- Auth issues \u2192 Project "Auth" (GID: 11111)
|
|
4401
|
+
- Payment issues \u2192 Project "Payments" (GID: 22222)
|
|
4402
|
+
- UI issues \u2192 Project "Frontend" (GID: 33333)
|
|
4403
|
+
|
|
4404
|
+
## Assignee Mappings
|
|
4405
|
+
- Auth bugs \u2192 user GID 44444
|
|
4406
|
+
- Payment bugs \u2192 user GID 55555
|
|
4407
|
+
|
|
4408
|
+
## Recent Tasks (Last 30 days)
|
|
4409
|
+
- [Date] GID 98765: Login timeout on Chrome - Status: Open
|
|
4410
|
+
- [Date] GID 98766: Payment validation error - Status: Completed
|
|
4411
|
+
|
|
4412
|
+
## Effective Search Queries
|
|
4413
|
+
- Login issues: --query "login" --project 11111
|
|
4414
|
+
- Payment bugs: --query "payment" --project 22222
|
|
4415
|
+
- Recent failures: --query "fail" (no project filter)
|
|
4416
|
+
|
|
4417
|
+
## Issue Patterns
|
|
4418
|
+
- Timeout errors: Usually infrastructure-related
|
|
4419
|
+
- Validation failures: Often missing edge case handling
|
|
4420
|
+
- Browser-specific: Test across Chrome, Firefox, Safari
|
|
4421
|
+
\`\`\`
|
|
4422
|
+
|
|
4423
|
+
**Task Creation Standards:**
|
|
4424
|
+
|
|
4425
|
+
- Always search before creating to prevent duplicates
|
|
4426
|
+
- Task names: \`Bug: [Component] Short description\` or \`[Type]: Short description\`
|
|
4427
|
+
- Description includes: reproduction steps, expected behavior, actual behavior, environment details, test evidence
|
|
4428
|
+
- Set assignee when the responsible team member is known
|
|
4429
|
+
- Set due date for urgent/critical bugs
|
|
4430
|
+
|
|
4431
|
+
**Quality Assurance:**
|
|
4432
|
+
|
|
4433
|
+
- Verify project GIDs are current
|
|
4434
|
+
- Update task status after verification
|
|
4435
|
+
- Maintain accurate recent task list in memory
|
|
4436
|
+
- Prune old patterns that no longer apply
|
|
4437
|
+
|
|
4438
|
+
You are meticulous about maintaining your memory file as a critical resource for efficient Asana operations. Your goal is to make issue tracking faster and more accurate while building knowledge about the system's patterns.`;
|
|
4439
|
+
|
|
4440
|
+
// src/subagents/templates/issue-tracker/notion.ts
|
|
4441
|
+
var FRONTMATTER14 = {
|
|
4396
4442
|
name: "issue-tracker",
|
|
4397
4443
|
description: `Use this agent to track and manage all types of issues including bugs, stories, and tasks in Notion databases. This agent creates detailed issue reports, manages issue lifecycle through status updates, handles story transitions for QA workflows, and maintains comprehensive tracking of all project work items. Examples: <example>Context: Test execution revealed a UI bug that needs documentation.
|
|
4398
4444
|
user: "The submit button on the checkout page doesn't work on mobile Safari"
|
|
@@ -4404,7 +4450,7 @@ assistant: "Let me use the issue-tracker agent to update the story status to 'QA
|
|
|
4404
4450
|
model: "haiku",
|
|
4405
4451
|
color: "red"
|
|
4406
4452
|
};
|
|
4407
|
-
var
|
|
4453
|
+
var CONTENT14 = `You are an expert Issue Tracker specializing in managing all types of project issues including bugs, stories, and tasks in Notion databases. Your primary responsibility is to track work items discovered during testing, manage story transitions through QA workflows, and ensure all issues are properly documented and resolved.
|
|
4408
4454
|
|
|
4409
4455
|
**Core Responsibilities:**
|
|
4410
4456
|
|
|
@@ -4551,7 +4597,7 @@ Your memory file grows more valuable over time:
|
|
|
4551
4597
|
You are meticulous about maintaining your memory file as a critical resource that makes issue tracking more efficient and effective. Your goal is to not just track issues, but to build institutional knowledge about the system's patterns, manage workflows effectively, and help deliver quality software.`;
|
|
4552
4598
|
|
|
4553
4599
|
// src/subagents/templates/issue-tracker/slack.ts
|
|
4554
|
-
var
|
|
4600
|
+
var FRONTMATTER15 = {
|
|
4555
4601
|
name: "issue-tracker",
|
|
4556
4602
|
description: `Use this agent to track and manage all types of issues including bugs, stories, and tasks in Slack. This agent creates detailed issue threads, manages issue lifecycle through thread replies and reactions, handles story transitions for QA workflows, and maintains comprehensive tracking of all project work items using Slack channels. Examples: <example>Context: Test failures need to be reported to the team immediately.
|
|
4557
4603
|
user: "3 critical tests failed in the payment flow - looks like the Stripe integration is broken"
|
|
@@ -4563,7 +4609,7 @@ assistant: "Let me use the issue-tracker agent to update the story thread with Q
|
|
|
4563
4609
|
model: "sonnet",
|
|
4564
4610
|
color: "red"
|
|
4565
4611
|
};
|
|
4566
|
-
var
|
|
4612
|
+
var CONTENT15 = `You are an expert Issue Tracker specializing in managing all types of project issues including bugs, stories, and tasks in Slack. Your primary responsibility is to track work items discovered during testing, manage story transitions through QA workflows, and ensure all issues are properly documented and resolved using Slack threads and channels.
|
|
4567
4613
|
|
|
4568
4614
|
**Core Responsibilities:**
|
|
4569
4615
|
|
|
@@ -4785,7 +4831,7 @@ Maintain organized issue tracking:
|
|
|
4785
4831
|
You are focused on creating clear, organized issue threads that leverage Slack's real-time collaboration features while maintaining comprehensive tracking in your memory. Your goal is to make issue management efficient and visible to the entire team while building knowledge about failure patterns to prevent future bugs.`;
|
|
4786
4832
|
|
|
4787
4833
|
// src/subagents/templates/changelog-historian/github.ts
|
|
4788
|
-
var
|
|
4834
|
+
var FRONTMATTER16 = {
|
|
4789
4835
|
name: "changelog-historian",
|
|
4790
4836
|
description: `Use this agent when you need to understand what code changes went into a build, deployment, or release. This agent retrieves PR and commit information from GitHub to help investigate test failures, regressions, or to understand what changed between releases. Examples: <example>Context: A test started failing after a deployment.
|
|
4791
4837
|
user: "The checkout flow test is failing in staging. What changed recently?"
|
|
@@ -4797,7 +4843,7 @@ assistant: "I'll use the changelog-historian agent to compare the two releases a
|
|
|
4797
4843
|
model: "haiku",
|
|
4798
4844
|
color: "gray"
|
|
4799
4845
|
};
|
|
4800
|
-
var
|
|
4846
|
+
var CONTENT16 = `You are an expert Changelog Historian specializing in understanding code changes and their impact. Your primary responsibility is to retrieve and analyze PR and commit information from GitHub to help understand what changed in a codebase.
|
|
4801
4847
|
|
|
4802
4848
|
## Core Responsibilities
|
|
4803
4849
|
|
|
@@ -4969,19 +5015,23 @@ var TEMPLATES = {
|
|
|
4969
5015
|
frontmatter: FRONTMATTER12,
|
|
4970
5016
|
content: CONTENT12
|
|
4971
5017
|
},
|
|
4972
|
-
|
|
5018
|
+
asana: {
|
|
4973
5019
|
frontmatter: FRONTMATTER13,
|
|
4974
5020
|
content: CONTENT13
|
|
4975
5021
|
},
|
|
4976
|
-
|
|
5022
|
+
notion: {
|
|
4977
5023
|
frontmatter: FRONTMATTER14,
|
|
4978
5024
|
content: CONTENT14
|
|
5025
|
+
},
|
|
5026
|
+
slack: {
|
|
5027
|
+
frontmatter: FRONTMATTER15,
|
|
5028
|
+
content: CONTENT15
|
|
4979
5029
|
}
|
|
4980
5030
|
},
|
|
4981
5031
|
"changelog-historian": {
|
|
4982
5032
|
github: {
|
|
4983
|
-
frontmatter:
|
|
4984
|
-
content:
|
|
5033
|
+
frontmatter: FRONTMATTER16,
|
|
5034
|
+
content: CONTENT16
|
|
4985
5035
|
}
|
|
4986
5036
|
}
|
|
4987
5037
|
};
|
|
@@ -5029,6 +5079,13 @@ var INTEGRATIONS = {
|
|
|
5029
5079
|
integrationType: "oauth"
|
|
5030
5080
|
// Uses Nango with API key auth for PAT
|
|
5031
5081
|
},
|
|
5082
|
+
asana: {
|
|
5083
|
+
id: "asana",
|
|
5084
|
+
name: "Asana",
|
|
5085
|
+
provider: "asana",
|
|
5086
|
+
// No requiredMCP — uses asana-mcp-server CLI (CLI tool), not MCP server
|
|
5087
|
+
integrationType: "oauth"
|
|
5088
|
+
},
|
|
5032
5089
|
notion: {
|
|
5033
5090
|
id: "notion",
|
|
5034
5091
|
name: "Notion",
|
|
@@ -5133,6 +5190,7 @@ var SUBAGENTS = {
|
|
|
5133
5190
|
INTEGRATIONS.jira,
|
|
5134
5191
|
INTEGRATIONS["jira-server"],
|
|
5135
5192
|
INTEGRATIONS["azure-devops"],
|
|
5193
|
+
INTEGRATIONS.asana,
|
|
5136
5194
|
INTEGRATIONS.notion,
|
|
5137
5195
|
INTEGRATIONS.slack
|
|
5138
5196
|
],
|
|
@@ -5322,38 +5380,6 @@ async function getAgentConfiguration(taskDefinitions, projectSubAgents) {
|
|
|
5322
5380
|
};
|
|
5323
5381
|
}
|
|
5324
5382
|
|
|
5325
|
-
// src/tasks/steps/setup/read-knowledge-base.ts
|
|
5326
|
-
var readKnowledgeBaseStep = {
|
|
5327
|
-
id: "read-knowledge-base",
|
|
5328
|
-
title: "Read Knowledge Base",
|
|
5329
|
-
category: "setup",
|
|
5330
|
-
content: `## Knowledge Base Context
|
|
5331
|
-
|
|
5332
|
-
Before proceeding, read the curated knowledge base to inform your work:
|
|
5333
|
-
|
|
5334
|
-
**Location:** \`.bugzy/runtime/knowledge-base.md\`
|
|
5335
|
-
|
|
5336
|
-
**Purpose:** The knowledge base is a living collection of factual knowledge - what we currently know and believe to be true about this project, its patterns, and its context. This is NOT a historical log, but a curated snapshot that evolves as understanding improves.
|
|
5337
|
-
|
|
5338
|
-
**How to Use:**
|
|
5339
|
-
1. Read the knowledge base to understand:
|
|
5340
|
-
- Project-specific patterns and conventions
|
|
5341
|
-
- Known behaviors and system characteristics
|
|
5342
|
-
- Relevant context from past work
|
|
5343
|
-
- Documented decisions and approaches
|
|
5344
|
-
|
|
5345
|
-
2. Apply this knowledge to:
|
|
5346
|
-
- Make informed decisions aligned with project patterns
|
|
5347
|
-
- Avoid repeating past mistakes
|
|
5348
|
-
- Build on existing understanding
|
|
5349
|
-
- Maintain consistency with established practices
|
|
5350
|
-
|
|
5351
|
-
3. **Relay to subagents**: Subagents do NOT read the knowledge base directly. When delegating work, you MUST include relevant KB patterns in your delegation message \u2014 especially testing patterns (timing, selectors, assertion approaches) that affect test reliability.
|
|
5352
|
-
|
|
5353
|
-
**Note:** The knowledge base may not exist yet or may be empty. If it doesn't exist or is empty, proceed without this context and help build it as you work.`,
|
|
5354
|
-
tags: ["setup", "context"]
|
|
5355
|
-
};
|
|
5356
|
-
|
|
5357
5383
|
// src/tasks/steps/setup/read-test-strategy.ts
|
|
5358
5384
|
var readTestStrategyStep = {
|
|
5359
5385
|
id: "read-test-strategy",
|
|
@@ -5375,38 +5401,6 @@ Apply the strategy guidance when determining which tests to run.
|
|
|
5375
5401
|
tags: ["setup", "test-execution", "strategy"]
|
|
5376
5402
|
};
|
|
5377
5403
|
|
|
5378
|
-
// src/tasks/steps/setup/load-project-context.ts
|
|
5379
|
-
var loadProjectContextStep = {
|
|
5380
|
-
id: "load-project-context",
|
|
5381
|
-
title: "Load Project Context",
|
|
5382
|
-
category: "setup",
|
|
5383
|
-
content: `## Load Project Context
|
|
5384
|
-
|
|
5385
|
-
Check for existing project context to inform your work:
|
|
5386
|
-
|
|
5387
|
-
**1. Check Project Context**
|
|
5388
|
-
- Read \`.bugzy/runtime/project-context.md\` if it exists
|
|
5389
|
-
- Check if it contains information relevant to: $ARGUMENTS
|
|
5390
|
-
- This file contains:
|
|
5391
|
-
- Application overview and architecture
|
|
5392
|
-
- Key user flows and features
|
|
5393
|
-
- Technical patterns discovered
|
|
5394
|
-
- Environment details
|
|
5395
|
-
|
|
5396
|
-
**2. Check Test Execution Strategy**
|
|
5397
|
-
- Read \`./tests/docs/test-execution-strategy.md\` if it exists
|
|
5398
|
-
- Understand available test tiers and when to use them
|
|
5399
|
-
- Note default behaviors and time/coverage trade-offs
|
|
5400
|
-
|
|
5401
|
-
**3. Document Findings**
|
|
5402
|
-
Note what context is available:
|
|
5403
|
-
\`\`\`
|
|
5404
|
-
Project Context: [exists/missing] - [relevant to focus area: yes/no/partial]
|
|
5405
|
-
Test Strategy: [exists/missing]
|
|
5406
|
-
\`\`\``,
|
|
5407
|
-
tags: ["setup", "context"]
|
|
5408
|
-
};
|
|
5409
|
-
|
|
5410
5404
|
// src/tasks/steps/setup/security-notice.ts
|
|
5411
5405
|
var securityNoticeStep = {
|
|
5412
5406
|
id: "security-notice",
|
|
@@ -6625,40 +6619,6 @@ Notify the team about progress and results:
|
|
|
6625
6619
|
tags: ["communication", "optional"]
|
|
6626
6620
|
};
|
|
6627
6621
|
|
|
6628
|
-
// src/tasks/steps/maintenance/update-knowledge-base.ts
|
|
6629
|
-
var updateKnowledgeBaseStep = {
|
|
6630
|
-
id: "update-knowledge-base",
|
|
6631
|
-
title: "Update Knowledge Base",
|
|
6632
|
-
category: "maintenance",
|
|
6633
|
-
content: `## Knowledge Base Maintenance
|
|
6634
|
-
|
|
6635
|
-
After completing your work, update the knowledge base with new insights.
|
|
6636
|
-
|
|
6637
|
-
**Location:** \`.bugzy/runtime/knowledge-base.md\`
|
|
6638
|
-
|
|
6639
|
-
**Process:**
|
|
6640
|
-
|
|
6641
|
-
1. **Read the maintenance guide** at \`.bugzy/runtime/knowledge-maintenance-guide.md\` to understand when to ADD, UPDATE, or REMOVE entries and how to maintain a curated knowledge base (not an append-only log)
|
|
6642
|
-
|
|
6643
|
-
2. **Review the current knowledge base** to check for overlaps, contradictions, or opportunities to consolidate existing knowledge
|
|
6644
|
-
|
|
6645
|
-
3. **Update the knowledge base** following the maintenance guide principles:
|
|
6646
|
-
- Favor consolidation over addition
|
|
6647
|
-
- Update rather than append
|
|
6648
|
-
- Resolve contradictions immediately
|
|
6649
|
-
- Focus on quality over completeness
|
|
6650
|
-
|
|
6651
|
-
**What to Add:**
|
|
6652
|
-
- New patterns discovered about the application
|
|
6653
|
-
- Behaviors that differ from expectations
|
|
6654
|
-
- Technical constraints or requirements
|
|
6655
|
-
- Useful selectors or navigation patterns
|
|
6656
|
-
- Error handling patterns
|
|
6657
|
-
|
|
6658
|
-
**Remember:** Every entry should answer "Will this help someone working on this project in 6 months?"`,
|
|
6659
|
-
tags: ["maintenance", "knowledge"]
|
|
6660
|
-
};
|
|
6661
|
-
|
|
6662
6622
|
// src/tasks/steps/maintenance/generate-final-report.ts
|
|
6663
6623
|
var generateFinalReportStep = {
|
|
6664
6624
|
id: "generate-final-report",
|
|
@@ -6830,13 +6790,45 @@ For each modified test case:
|
|
|
6830
6790
|
tags: ["maintenance", "automation", "feedback"]
|
|
6831
6791
|
};
|
|
6832
6792
|
|
|
6793
|
+
// src/tasks/steps/maintenance/update-knowledge-base.ts
|
|
6794
|
+
var updateKnowledgeBaseStep = {
|
|
6795
|
+
id: "update-knowledge-base",
|
|
6796
|
+
title: "Update Knowledge Base",
|
|
6797
|
+
category: "maintenance",
|
|
6798
|
+
content: `## Knowledge Base Maintenance
|
|
6799
|
+
|
|
6800
|
+
After completing your work, update the knowledge base with new insights.
|
|
6801
|
+
|
|
6802
|
+
**Location:** \`.bugzy/runtime/knowledge-base.md\`
|
|
6803
|
+
|
|
6804
|
+
**Process:**
|
|
6805
|
+
|
|
6806
|
+
1. **Read the maintenance guide** at \`.bugzy/runtime/knowledge-maintenance-guide.md\` to understand when to ADD, UPDATE, or REMOVE entries and how to maintain a curated knowledge base (not an append-only log)
|
|
6807
|
+
|
|
6808
|
+
2. **Review the current knowledge base** to check for overlaps, contradictions, or opportunities to consolidate existing knowledge
|
|
6809
|
+
|
|
6810
|
+
3. **Update the knowledge base** following the maintenance guide principles:
|
|
6811
|
+
- Favor consolidation over addition
|
|
6812
|
+
- Update rather than append
|
|
6813
|
+
- Resolve contradictions immediately
|
|
6814
|
+
- Focus on quality over completeness
|
|
6815
|
+
|
|
6816
|
+
**What to Add:**
|
|
6817
|
+
- New patterns discovered about the application
|
|
6818
|
+
- Behaviors that differ from expectations
|
|
6819
|
+
- Technical constraints or requirements
|
|
6820
|
+
- Useful selectors or navigation patterns
|
|
6821
|
+
- Error handling patterns
|
|
6822
|
+
|
|
6823
|
+
**Remember:** Every entry should answer "Will this help someone working on this project in 6 months?"`,
|
|
6824
|
+
tags: ["maintenance", "knowledge"]
|
|
6825
|
+
};
|
|
6826
|
+
|
|
6833
6827
|
// src/tasks/steps/index.ts
|
|
6834
6828
|
var STEP_LIBRARY = {
|
|
6835
6829
|
// Setup
|
|
6836
6830
|
"security-notice": securityNoticeStep,
|
|
6837
|
-
"read-knowledge-base": readKnowledgeBaseStep,
|
|
6838
6831
|
"read-test-strategy": readTestStrategyStep,
|
|
6839
|
-
"load-project-context": loadProjectContextStep,
|
|
6840
6832
|
"gather-documentation": gatherDocumentationStep,
|
|
6841
6833
|
// Exploration
|
|
6842
6834
|
"exploration-protocol": explorationProtocolStep,
|
|
@@ -6862,12 +6854,12 @@ var STEP_LIBRARY = {
|
|
|
6862
6854
|
// Communication
|
|
6863
6855
|
"notify-team": notifyTeamStep,
|
|
6864
6856
|
// Maintenance
|
|
6865
|
-
"update-knowledge-base": updateKnowledgeBaseStep,
|
|
6866
6857
|
"generate-final-report": generateFinalReportStep,
|
|
6867
6858
|
"update-exploration-artifacts": updateExplorationArtifactsStep,
|
|
6868
6859
|
"cleanup-temp-files": cleanupTempFilesStep,
|
|
6869
6860
|
"validate-test-artifacts": validateTestArtifactsStep,
|
|
6870
|
-
"sync-automation-from-feedback": syncAutomationFromFeedbackStep
|
|
6861
|
+
"sync-automation-from-feedback": syncAutomationFromFeedbackStep,
|
|
6862
|
+
"update-knowledge-base": updateKnowledgeBaseStep
|
|
6871
6863
|
};
|
|
6872
6864
|
function getStep(id) {
|
|
6873
6865
|
const step = STEP_LIBRARY[id];
|