@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.cjs
CHANGED
|
@@ -168,6 +168,9 @@ var MCP_SERVERS = {
|
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
170
|
},
|
|
171
|
+
// asana: CLI-only integration — no MCP server needed.
|
|
172
|
+
// Agent uses `asana-cli task search|create|update|comment` via Bash.
|
|
173
|
+
// Package is installed globally in the container for CLI access.
|
|
171
174
|
// github-modelcontextprotocol: {
|
|
172
175
|
// provider: 'github',
|
|
173
176
|
// name: 'GitHub',
|
|
@@ -317,10 +320,6 @@ Extract the following from arguments:
|
|
|
317
320
|
- **type**: Test type (exploratory, functional, regression, smoke) - defaults to functional
|
|
318
321
|
- **focus**: Optional specific feature or section to focus on`
|
|
319
322
|
},
|
|
320
|
-
// Step 4: Load Project Context (library)
|
|
321
|
-
"load-project-context",
|
|
322
|
-
// Step 5: Knowledge Base Read (library)
|
|
323
|
-
"read-knowledge-base",
|
|
324
323
|
// Step 5: Gather Context (inline)
|
|
325
324
|
{
|
|
326
325
|
inline: true,
|
|
@@ -524,11 +523,7 @@ var generateTestPlanTask = {
|
|
|
524
523
|
title: "Arguments",
|
|
525
524
|
content: `Product description: $ARGUMENTS`
|
|
526
525
|
},
|
|
527
|
-
// Step
|
|
528
|
-
"load-project-context",
|
|
529
|
-
// Step 5: Knowledge Base Read (library)
|
|
530
|
-
"read-knowledge-base",
|
|
531
|
-
// Step 6: Process Description (inline)
|
|
526
|
+
// Step 5: Process Description (inline)
|
|
532
527
|
{
|
|
533
528
|
inline: true,
|
|
534
529
|
title: "Process the Product Description",
|
|
@@ -704,10 +699,6 @@ Process team messages and handle multi-turn conversations with the product team
|
|
|
704
699
|
title: "Arguments",
|
|
705
700
|
content: `Team message/thread context: $ARGUMENTS`
|
|
706
701
|
},
|
|
707
|
-
// Step 4: Load Project Context (library)
|
|
708
|
-
"load-project-context",
|
|
709
|
-
// Step 5: Knowledge Base Read (library)
|
|
710
|
-
"read-knowledge-base",
|
|
711
702
|
// Step 6: Detect Intent (inline - simplified, no handler file loading)
|
|
712
703
|
{
|
|
713
704
|
inline: true,
|
|
@@ -902,10 +893,6 @@ Process webhook events from integrated systems by analyzing event content, deter
|
|
|
902
893
|
title: "Arguments",
|
|
903
894
|
content: `Arguments: $ARGUMENTS`
|
|
904
895
|
},
|
|
905
|
-
// Step 4: Load Project Context (library)
|
|
906
|
-
"load-project-context",
|
|
907
|
-
// Step 5: Knowledge Base Read (library)
|
|
908
|
-
"read-knowledge-base",
|
|
909
896
|
// Step 5: Understand Event Context (inline)
|
|
910
897
|
{
|
|
911
898
|
inline: true,
|
|
@@ -1374,10 +1361,6 @@ Extract the following from arguments:
|
|
|
1374
1361
|
- Specific file: path to a specific test file
|
|
1375
1362
|
- All tests: "all" or "" \u2192 runs entire test suite`
|
|
1376
1363
|
},
|
|
1377
|
-
// Step 4: Load Project Context (library)
|
|
1378
|
-
"load-project-context",
|
|
1379
|
-
// Step 5: Knowledge Base Read (library)
|
|
1380
|
-
"read-knowledge-base",
|
|
1381
1364
|
// Step 5: Test Execution Strategy (library)
|
|
1382
1365
|
"read-test-strategy",
|
|
1383
1366
|
// Step 6: Clarification Protocol (library)
|
|
@@ -1526,10 +1509,6 @@ This task performs comprehensive change verification with:
|
|
|
1526
1509
|
|
|
1527
1510
|
The input format determines the trigger source and context extraction strategy.`
|
|
1528
1511
|
},
|
|
1529
|
-
// Step 4: Load Project Context (library)
|
|
1530
|
-
"load-project-context",
|
|
1531
|
-
// Step 5: Knowledge Base Read (library)
|
|
1532
|
-
"read-knowledge-base",
|
|
1533
1512
|
// Step 5: Detect Trigger Source (inline)
|
|
1534
1513
|
{
|
|
1535
1514
|
inline: true,
|
|
@@ -1939,7 +1918,9 @@ Include in the message:
|
|
|
1939
1918
|
- Any blocking issues or critical findings`,
|
|
1940
1919
|
conditionalOnSubagent: "team-communicator"
|
|
1941
1920
|
},
|
|
1942
|
-
// Step 15:
|
|
1921
|
+
// Step 15: Knowledge Base Update (library)
|
|
1922
|
+
"update-knowledge-base",
|
|
1923
|
+
// Step 16: Documentation Research (conditional library step)
|
|
1943
1924
|
{
|
|
1944
1925
|
stepId: "gather-documentation",
|
|
1945
1926
|
conditionalOnSubagent: "documentation-researcher"
|
|
@@ -1990,9 +1971,7 @@ Output to CI build log (print detailed results to stdout) and exit with appropri
|
|
|
1990
1971
|
Post PR comment if GitHub context available.`,
|
|
1991
1972
|
conditionalOnSubagent: "team-communicator"
|
|
1992
1973
|
},
|
|
1993
|
-
// Step 17:
|
|
1994
|
-
"update-knowledge-base",
|
|
1995
|
-
// Step 18: Handle Special Cases (inline)
|
|
1974
|
+
// Step 17: Handle Special Cases (inline)
|
|
1996
1975
|
{
|
|
1997
1976
|
inline: true,
|
|
1998
1977
|
title: "Handle Special Cases",
|
|
@@ -2044,8 +2023,6 @@ This command orchestrates the complete test coverage workflow in a single execut
|
|
|
2044
2023
|
content: `Focus area: $ARGUMENTS`
|
|
2045
2024
|
},
|
|
2046
2025
|
// Phase 1: Setup
|
|
2047
|
-
"load-project-context",
|
|
2048
|
-
"read-knowledge-base",
|
|
2049
2026
|
{
|
|
2050
2027
|
stepId: "gather-documentation",
|
|
2051
2028
|
conditionalOnSubagent: "documentation-researcher"
|
|
@@ -2114,9 +2091,6 @@ var exploreApplicationTask = {
|
|
|
2114
2091
|
- **depth**: shallow (15-20 min) or deep (45-60 min, default)
|
|
2115
2092
|
- **system**: target system (optional for multi-system setups)`
|
|
2116
2093
|
},
|
|
2117
|
-
// Setup
|
|
2118
|
-
"load-project-context",
|
|
2119
|
-
"read-knowledge-base",
|
|
2120
2094
|
// Exploration Protocol (adaptive depth)
|
|
2121
2095
|
"exploration-protocol",
|
|
2122
2096
|
// Execute
|
|
@@ -2181,11 +2155,7 @@ This task is triggered automatically when test results are submitted to the Bugz
|
|
|
2181
2155
|
title: "Arguments",
|
|
2182
2156
|
content: `Arguments: $ARGUMENTS`
|
|
2183
2157
|
},
|
|
2184
|
-
// Step
|
|
2185
|
-
"load-project-context",
|
|
2186
|
-
// Step 5: Knowledge Base Read (library)
|
|
2187
|
-
"read-knowledge-base",
|
|
2188
|
-
// Step 6: Normalize Test Results (library — handles URL/inline results + manifest creation)
|
|
2158
|
+
// Step 5: Normalize Test Results (library — handles URL/inline results + manifest creation)
|
|
2189
2159
|
"normalize-test-results",
|
|
2190
2160
|
// Step 7: Triage Failures (existing library step)
|
|
2191
2161
|
"triage-failures",
|
|
@@ -2196,57 +2166,13 @@ This task is triggered automatically when test results are submitted to the Bugz
|
|
|
2196
2166
|
stepId: "log-product-bugs",
|
|
2197
2167
|
conditionalOnSubagent: "issue-tracker"
|
|
2198
2168
|
},
|
|
2199
|
-
// Step 10:
|
|
2200
|
-
"update-knowledge-base",
|
|
2201
|
-
// Step 11: Notify Team (conditional — requires team-communicator)
|
|
2169
|
+
// Step 10: Notify Team (conditional — requires team-communicator)
|
|
2202
2170
|
{
|
|
2203
2171
|
stepId: "notify-team",
|
|
2204
2172
|
conditionalOnSubagent: "team-communicator"
|
|
2205
2173
|
},
|
|
2206
|
-
// Step
|
|
2207
|
-
|
|
2208
|
-
inline: true,
|
|
2209
|
-
title: "Generate Triage Report",
|
|
2210
|
-
content: `## Generate Triage Report
|
|
2211
|
-
|
|
2212
|
-
Create a structured triage report as the task output. This report is stored in \`task_executions.result\` and displayed in the Bugzy dashboard.
|
|
2213
|
-
|
|
2214
|
-
**Report Structure:**
|
|
2215
|
-
\`\`\`json
|
|
2216
|
-
{
|
|
2217
|
-
"summary": {
|
|
2218
|
-
"total": <number>,
|
|
2219
|
-
"passed": <number>,
|
|
2220
|
-
"failed": <number>,
|
|
2221
|
-
"skipped": <number>,
|
|
2222
|
-
"duration_ms": <number or null>
|
|
2223
|
-
},
|
|
2224
|
-
"ci_metadata": {
|
|
2225
|
-
"pipeline_url": "<from event payload>",
|
|
2226
|
-
"commit_sha": "<from event payload>",
|
|
2227
|
-
"branch": "<from event payload>"
|
|
2228
|
-
},
|
|
2229
|
-
"triage": {
|
|
2230
|
-
"product_bugs": [
|
|
2231
|
-
{
|
|
2232
|
-
"test_name": "<name>",
|
|
2233
|
-
"error": "<brief error>",
|
|
2234
|
-
"reason": "<why this is a product bug>"
|
|
2235
|
-
}
|
|
2236
|
-
],
|
|
2237
|
-
"test_issues": [
|
|
2238
|
-
{
|
|
2239
|
-
"test_name": "<name>",
|
|
2240
|
-
"error": "<brief error>",
|
|
2241
|
-
"reason": "<why this is a test issue>"
|
|
2242
|
-
}
|
|
2243
|
-
]
|
|
2244
|
-
}
|
|
2245
|
-
}
|
|
2246
|
-
\`\`\`
|
|
2247
|
-
|
|
2248
|
-
Output this JSON as the final result of the task.`
|
|
2249
|
-
}
|
|
2174
|
+
// Step 11: Knowledge Base Update (library)
|
|
2175
|
+
"update-knowledge-base"
|
|
2250
2176
|
],
|
|
2251
2177
|
requiredSubagents: ["browser-automation", "test-engineer"],
|
|
2252
2178
|
optionalSubagents: ["issue-tracker", "team-communicator"],
|
|
@@ -2280,9 +2206,6 @@ var exploreTestCodebaseTask = {
|
|
|
2280
2206
|
**Parse:**
|
|
2281
2207
|
- **focus**: specific area to analyze (default: comprehensive)`
|
|
2282
2208
|
},
|
|
2283
|
-
// Setup
|
|
2284
|
-
"load-project-context",
|
|
2285
|
-
"read-knowledge-base",
|
|
2286
2209
|
// Core analysis
|
|
2287
2210
|
"analyze-test-codebase",
|
|
2288
2211
|
// Generate results parser for normalizing test output
|
|
@@ -4447,8 +4370,131 @@ Your memory file becomes more valuable over time:
|
|
|
4447
4370
|
|
|
4448
4371
|
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.`;
|
|
4449
4372
|
|
|
4450
|
-
// src/subagents/templates/issue-tracker/
|
|
4373
|
+
// src/subagents/templates/issue-tracker/asana.ts
|
|
4451
4374
|
var FRONTMATTER13 = {
|
|
4375
|
+
name: "issue-tracker",
|
|
4376
|
+
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.
|
|
4377
|
+
user: "3 tests failed in the checkout flow - payment validation is broken"
|
|
4378
|
+
assistant: "I'll use the issue-tracker agent to create Asana tasks for these failures with detailed reproduction steps and test evidence."
|
|
4379
|
+
<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.
|
|
4380
|
+
user: "Task 1234567890 has been verified on staging"
|
|
4381
|
+
assistant: "Let me use the issue-tracker agent to mark the task as complete and add verification comments."
|
|
4382
|
+
<commentary>Use the issue-tracker agent to update task status and document QA validation results.</commentary></example>`,
|
|
4383
|
+
model: "sonnet",
|
|
4384
|
+
color: "red"
|
|
4385
|
+
};
|
|
4386
|
+
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.
|
|
4387
|
+
|
|
4388
|
+
**Important: CLI-First Approach**
|
|
4389
|
+
|
|
4390
|
+
Always prefer CLI commands via Bash over MCP tool calls. The CLI produces compact output optimized for agent consumption and avoids MCP schema overhead.
|
|
4391
|
+
|
|
4392
|
+
**Primary Interface \u2014 CLI Commands (via Bash):**
|
|
4393
|
+
|
|
4394
|
+
- **Search tasks**: \`asana-cli task search --query "login bug" [--project GID] [--assignee GID]\`
|
|
4395
|
+
- **Get task details**: \`asana-cli task get <gid>\`
|
|
4396
|
+
- **Create task**: \`asana-cli task create --name "Bug: ..." --project GID [--description "..."] [--assignee GID] [--due YYYY-MM-DD]\`
|
|
4397
|
+
- **Update task**: \`asana-cli task update <gid> [--name "..."] [--completed] [--assignee GID] [--due YYYY-MM-DD]\`
|
|
4398
|
+
- **Add comment**: \`asana-cli task comment <gid> --body "Test evidence: ..."\`
|
|
4399
|
+
- **List projects**: \`asana-cli project list\`
|
|
4400
|
+
- **All commands**: Add \`--json\` for structured JSON output when parsing is needed
|
|
4401
|
+
|
|
4402
|
+
**Core Responsibilities:**
|
|
4403
|
+
|
|
4404
|
+
1. **Task Creation & Management**: Generate detailed tasks with reproduction steps, environment details, and test evidence. Include severity assessment and proper project/section assignment.
|
|
4405
|
+
|
|
4406
|
+
2. **Duplicate Detection**: Before creating new tasks, always search for existing similar tasks to avoid duplicates and link related work.
|
|
4407
|
+
|
|
4408
|
+
3. **Lifecycle Management**: Track task status, mark tasks complete when verified, add comments with test findings and status updates.
|
|
4409
|
+
|
|
4410
|
+
4. ${MEMORY_READ_INSTRUCTIONS.replace(/{ROLE}/g, "issue-tracker")}
|
|
4411
|
+
|
|
4412
|
+
**Memory Sections for Issue Tracker (Asana)**:
|
|
4413
|
+
- Asana workspace GID, project GIDs, and section mappings
|
|
4414
|
+
- Recently reported tasks with their GIDs and status
|
|
4415
|
+
- Search queries that work well for finding duplicates
|
|
4416
|
+
- Task naming conventions and description templates
|
|
4417
|
+
- Project-specific workflows and assignee mappings
|
|
4418
|
+
|
|
4419
|
+
**Operational Workflow:**
|
|
4420
|
+
|
|
4421
|
+
1. **Initial Check**: Always begin by reading \`.bugzy/runtime/memory/issue-tracker.md\` to load your Asana configuration and recent task history
|
|
4422
|
+
|
|
4423
|
+
2. **Duplicate Detection**:
|
|
4424
|
+
- Check memory for recently reported similar tasks
|
|
4425
|
+
- Use \`asana-cli task search --query "error keywords"\` to search
|
|
4426
|
+
- Look for matching names, descriptions, or error messages
|
|
4427
|
+
- If duplicate found, add a comment to the existing task instead
|
|
4428
|
+
|
|
4429
|
+
3. **Task Creation**:
|
|
4430
|
+
- Use the project GID from memory
|
|
4431
|
+
- Include comprehensive details: reproduction steps, expected vs actual behavior, environment
|
|
4432
|
+
- Set appropriate assignee and due date when known
|
|
4433
|
+
- Add test evidence and screenshots references in the description
|
|
4434
|
+
|
|
4435
|
+
4. ${MEMORY_UPDATE_INSTRUCTIONS.replace(/{ROLE}/g, "issue-tracker")}
|
|
4436
|
+
|
|
4437
|
+
Specifically for issue-tracker (Asana), consider updating:
|
|
4438
|
+
- **Created Tasks**: Add newly created tasks with their GIDs
|
|
4439
|
+
- **Project Mappings**: Track which projects map to which areas
|
|
4440
|
+
- **Search Patterns**: Save effective search queries
|
|
4441
|
+
- **Assignee Mappings**: Track who handles what areas
|
|
4442
|
+
- Update pattern library with new issue types
|
|
4443
|
+
|
|
4444
|
+
**Memory File Structure** (\`.bugzy/runtime/memory/issue-tracker.md\`):
|
|
4445
|
+
\`\`\`markdown
|
|
4446
|
+
# Issue Tracker Memory
|
|
4447
|
+
|
|
4448
|
+
## Last Updated: [timestamp]
|
|
4449
|
+
|
|
4450
|
+
## Asana Configuration
|
|
4451
|
+
- Workspace GID: 12345
|
|
4452
|
+
- Default Project GID: 67890
|
|
4453
|
+
- Project: My Project
|
|
4454
|
+
|
|
4455
|
+
## Project Mappings
|
|
4456
|
+
- Auth issues \u2192 Project "Auth" (GID: 11111)
|
|
4457
|
+
- Payment issues \u2192 Project "Payments" (GID: 22222)
|
|
4458
|
+
- UI issues \u2192 Project "Frontend" (GID: 33333)
|
|
4459
|
+
|
|
4460
|
+
## Assignee Mappings
|
|
4461
|
+
- Auth bugs \u2192 user GID 44444
|
|
4462
|
+
- Payment bugs \u2192 user GID 55555
|
|
4463
|
+
|
|
4464
|
+
## Recent Tasks (Last 30 days)
|
|
4465
|
+
- [Date] GID 98765: Login timeout on Chrome - Status: Open
|
|
4466
|
+
- [Date] GID 98766: Payment validation error - Status: Completed
|
|
4467
|
+
|
|
4468
|
+
## Effective Search Queries
|
|
4469
|
+
- Login issues: --query "login" --project 11111
|
|
4470
|
+
- Payment bugs: --query "payment" --project 22222
|
|
4471
|
+
- Recent failures: --query "fail" (no project filter)
|
|
4472
|
+
|
|
4473
|
+
## Issue Patterns
|
|
4474
|
+
- Timeout errors: Usually infrastructure-related
|
|
4475
|
+
- Validation failures: Often missing edge case handling
|
|
4476
|
+
- Browser-specific: Test across Chrome, Firefox, Safari
|
|
4477
|
+
\`\`\`
|
|
4478
|
+
|
|
4479
|
+
**Task Creation Standards:**
|
|
4480
|
+
|
|
4481
|
+
- Always search before creating to prevent duplicates
|
|
4482
|
+
- Task names: \`Bug: [Component] Short description\` or \`[Type]: Short description\`
|
|
4483
|
+
- Description includes: reproduction steps, expected behavior, actual behavior, environment details, test evidence
|
|
4484
|
+
- Set assignee when the responsible team member is known
|
|
4485
|
+
- Set due date for urgent/critical bugs
|
|
4486
|
+
|
|
4487
|
+
**Quality Assurance:**
|
|
4488
|
+
|
|
4489
|
+
- Verify project GIDs are current
|
|
4490
|
+
- Update task status after verification
|
|
4491
|
+
- Maintain accurate recent task list in memory
|
|
4492
|
+
- Prune old patterns that no longer apply
|
|
4493
|
+
|
|
4494
|
+
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.`;
|
|
4495
|
+
|
|
4496
|
+
// src/subagents/templates/issue-tracker/notion.ts
|
|
4497
|
+
var FRONTMATTER14 = {
|
|
4452
4498
|
name: "issue-tracker",
|
|
4453
4499
|
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.
|
|
4454
4500
|
user: "The submit button on the checkout page doesn't work on mobile Safari"
|
|
@@ -4460,7 +4506,7 @@ assistant: "Let me use the issue-tracker agent to update the story status to 'QA
|
|
|
4460
4506
|
model: "haiku",
|
|
4461
4507
|
color: "red"
|
|
4462
4508
|
};
|
|
4463
|
-
var
|
|
4509
|
+
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.
|
|
4464
4510
|
|
|
4465
4511
|
**Core Responsibilities:**
|
|
4466
4512
|
|
|
@@ -4607,7 +4653,7 @@ Your memory file grows more valuable over time:
|
|
|
4607
4653
|
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.`;
|
|
4608
4654
|
|
|
4609
4655
|
// src/subagents/templates/issue-tracker/slack.ts
|
|
4610
|
-
var
|
|
4656
|
+
var FRONTMATTER15 = {
|
|
4611
4657
|
name: "issue-tracker",
|
|
4612
4658
|
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.
|
|
4613
4659
|
user: "3 critical tests failed in the payment flow - looks like the Stripe integration is broken"
|
|
@@ -4619,7 +4665,7 @@ assistant: "Let me use the issue-tracker agent to update the story thread with Q
|
|
|
4619
4665
|
model: "sonnet",
|
|
4620
4666
|
color: "red"
|
|
4621
4667
|
};
|
|
4622
|
-
var
|
|
4668
|
+
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.
|
|
4623
4669
|
|
|
4624
4670
|
**Core Responsibilities:**
|
|
4625
4671
|
|
|
@@ -4841,7 +4887,7 @@ Maintain organized issue tracking:
|
|
|
4841
4887
|
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.`;
|
|
4842
4888
|
|
|
4843
4889
|
// src/subagents/templates/changelog-historian/github.ts
|
|
4844
|
-
var
|
|
4890
|
+
var FRONTMATTER16 = {
|
|
4845
4891
|
name: "changelog-historian",
|
|
4846
4892
|
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.
|
|
4847
4893
|
user: "The checkout flow test is failing in staging. What changed recently?"
|
|
@@ -4853,7 +4899,7 @@ assistant: "I'll use the changelog-historian agent to compare the two releases a
|
|
|
4853
4899
|
model: "haiku",
|
|
4854
4900
|
color: "gray"
|
|
4855
4901
|
};
|
|
4856
|
-
var
|
|
4902
|
+
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.
|
|
4857
4903
|
|
|
4858
4904
|
## Core Responsibilities
|
|
4859
4905
|
|
|
@@ -5025,19 +5071,23 @@ var TEMPLATES = {
|
|
|
5025
5071
|
frontmatter: FRONTMATTER12,
|
|
5026
5072
|
content: CONTENT12
|
|
5027
5073
|
},
|
|
5028
|
-
|
|
5074
|
+
asana: {
|
|
5029
5075
|
frontmatter: FRONTMATTER13,
|
|
5030
5076
|
content: CONTENT13
|
|
5031
5077
|
},
|
|
5032
|
-
|
|
5078
|
+
notion: {
|
|
5033
5079
|
frontmatter: FRONTMATTER14,
|
|
5034
5080
|
content: CONTENT14
|
|
5081
|
+
},
|
|
5082
|
+
slack: {
|
|
5083
|
+
frontmatter: FRONTMATTER15,
|
|
5084
|
+
content: CONTENT15
|
|
5035
5085
|
}
|
|
5036
5086
|
},
|
|
5037
5087
|
"changelog-historian": {
|
|
5038
5088
|
github: {
|
|
5039
|
-
frontmatter:
|
|
5040
|
-
content:
|
|
5089
|
+
frontmatter: FRONTMATTER16,
|
|
5090
|
+
content: CONTENT16
|
|
5041
5091
|
}
|
|
5042
5092
|
}
|
|
5043
5093
|
};
|
|
@@ -5085,6 +5135,13 @@ var INTEGRATIONS = {
|
|
|
5085
5135
|
integrationType: "oauth"
|
|
5086
5136
|
// Uses Nango with API key auth for PAT
|
|
5087
5137
|
},
|
|
5138
|
+
asana: {
|
|
5139
|
+
id: "asana",
|
|
5140
|
+
name: "Asana",
|
|
5141
|
+
provider: "asana",
|
|
5142
|
+
// No requiredMCP — uses asana-mcp-server CLI (CLI tool), not MCP server
|
|
5143
|
+
integrationType: "oauth"
|
|
5144
|
+
},
|
|
5088
5145
|
notion: {
|
|
5089
5146
|
id: "notion",
|
|
5090
5147
|
name: "Notion",
|
|
@@ -5189,6 +5246,7 @@ var SUBAGENTS = {
|
|
|
5189
5246
|
INTEGRATIONS.jira,
|
|
5190
5247
|
INTEGRATIONS["jira-server"],
|
|
5191
5248
|
INTEGRATIONS["azure-devops"],
|
|
5249
|
+
INTEGRATIONS.asana,
|
|
5192
5250
|
INTEGRATIONS.notion,
|
|
5193
5251
|
INTEGRATIONS.slack
|
|
5194
5252
|
],
|
|
@@ -5378,38 +5436,6 @@ async function getAgentConfiguration(taskDefinitions, projectSubAgents) {
|
|
|
5378
5436
|
};
|
|
5379
5437
|
}
|
|
5380
5438
|
|
|
5381
|
-
// src/tasks/steps/setup/read-knowledge-base.ts
|
|
5382
|
-
var readKnowledgeBaseStep = {
|
|
5383
|
-
id: "read-knowledge-base",
|
|
5384
|
-
title: "Read Knowledge Base",
|
|
5385
|
-
category: "setup",
|
|
5386
|
-
content: `## Knowledge Base Context
|
|
5387
|
-
|
|
5388
|
-
Before proceeding, read the curated knowledge base to inform your work:
|
|
5389
|
-
|
|
5390
|
-
**Location:** \`.bugzy/runtime/knowledge-base.md\`
|
|
5391
|
-
|
|
5392
|
-
**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.
|
|
5393
|
-
|
|
5394
|
-
**How to Use:**
|
|
5395
|
-
1. Read the knowledge base to understand:
|
|
5396
|
-
- Project-specific patterns and conventions
|
|
5397
|
-
- Known behaviors and system characteristics
|
|
5398
|
-
- Relevant context from past work
|
|
5399
|
-
- Documented decisions and approaches
|
|
5400
|
-
|
|
5401
|
-
2. Apply this knowledge to:
|
|
5402
|
-
- Make informed decisions aligned with project patterns
|
|
5403
|
-
- Avoid repeating past mistakes
|
|
5404
|
-
- Build on existing understanding
|
|
5405
|
-
- Maintain consistency with established practices
|
|
5406
|
-
|
|
5407
|
-
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.
|
|
5408
|
-
|
|
5409
|
-
**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.`,
|
|
5410
|
-
tags: ["setup", "context"]
|
|
5411
|
-
};
|
|
5412
|
-
|
|
5413
5439
|
// src/tasks/steps/setup/read-test-strategy.ts
|
|
5414
5440
|
var readTestStrategyStep = {
|
|
5415
5441
|
id: "read-test-strategy",
|
|
@@ -5431,38 +5457,6 @@ Apply the strategy guidance when determining which tests to run.
|
|
|
5431
5457
|
tags: ["setup", "test-execution", "strategy"]
|
|
5432
5458
|
};
|
|
5433
5459
|
|
|
5434
|
-
// src/tasks/steps/setup/load-project-context.ts
|
|
5435
|
-
var loadProjectContextStep = {
|
|
5436
|
-
id: "load-project-context",
|
|
5437
|
-
title: "Load Project Context",
|
|
5438
|
-
category: "setup",
|
|
5439
|
-
content: `## Load Project Context
|
|
5440
|
-
|
|
5441
|
-
Check for existing project context to inform your work:
|
|
5442
|
-
|
|
5443
|
-
**1. Check Project Context**
|
|
5444
|
-
- Read \`.bugzy/runtime/project-context.md\` if it exists
|
|
5445
|
-
- Check if it contains information relevant to: $ARGUMENTS
|
|
5446
|
-
- This file contains:
|
|
5447
|
-
- Application overview and architecture
|
|
5448
|
-
- Key user flows and features
|
|
5449
|
-
- Technical patterns discovered
|
|
5450
|
-
- Environment details
|
|
5451
|
-
|
|
5452
|
-
**2. Check Test Execution Strategy**
|
|
5453
|
-
- Read \`./tests/docs/test-execution-strategy.md\` if it exists
|
|
5454
|
-
- Understand available test tiers and when to use them
|
|
5455
|
-
- Note default behaviors and time/coverage trade-offs
|
|
5456
|
-
|
|
5457
|
-
**3. Document Findings**
|
|
5458
|
-
Note what context is available:
|
|
5459
|
-
\`\`\`
|
|
5460
|
-
Project Context: [exists/missing] - [relevant to focus area: yes/no/partial]
|
|
5461
|
-
Test Strategy: [exists/missing]
|
|
5462
|
-
\`\`\``,
|
|
5463
|
-
tags: ["setup", "context"]
|
|
5464
|
-
};
|
|
5465
|
-
|
|
5466
5460
|
// src/tasks/steps/setup/security-notice.ts
|
|
5467
5461
|
var securityNoticeStep = {
|
|
5468
5462
|
id: "security-notice",
|
|
@@ -6681,40 +6675,6 @@ Notify the team about progress and results:
|
|
|
6681
6675
|
tags: ["communication", "optional"]
|
|
6682
6676
|
};
|
|
6683
6677
|
|
|
6684
|
-
// src/tasks/steps/maintenance/update-knowledge-base.ts
|
|
6685
|
-
var updateKnowledgeBaseStep = {
|
|
6686
|
-
id: "update-knowledge-base",
|
|
6687
|
-
title: "Update Knowledge Base",
|
|
6688
|
-
category: "maintenance",
|
|
6689
|
-
content: `## Knowledge Base Maintenance
|
|
6690
|
-
|
|
6691
|
-
After completing your work, update the knowledge base with new insights.
|
|
6692
|
-
|
|
6693
|
-
**Location:** \`.bugzy/runtime/knowledge-base.md\`
|
|
6694
|
-
|
|
6695
|
-
**Process:**
|
|
6696
|
-
|
|
6697
|
-
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)
|
|
6698
|
-
|
|
6699
|
-
2. **Review the current knowledge base** to check for overlaps, contradictions, or opportunities to consolidate existing knowledge
|
|
6700
|
-
|
|
6701
|
-
3. **Update the knowledge base** following the maintenance guide principles:
|
|
6702
|
-
- Favor consolidation over addition
|
|
6703
|
-
- Update rather than append
|
|
6704
|
-
- Resolve contradictions immediately
|
|
6705
|
-
- Focus on quality over completeness
|
|
6706
|
-
|
|
6707
|
-
**What to Add:**
|
|
6708
|
-
- New patterns discovered about the application
|
|
6709
|
-
- Behaviors that differ from expectations
|
|
6710
|
-
- Technical constraints or requirements
|
|
6711
|
-
- Useful selectors or navigation patterns
|
|
6712
|
-
- Error handling patterns
|
|
6713
|
-
|
|
6714
|
-
**Remember:** Every entry should answer "Will this help someone working on this project in 6 months?"`,
|
|
6715
|
-
tags: ["maintenance", "knowledge"]
|
|
6716
|
-
};
|
|
6717
|
-
|
|
6718
6678
|
// src/tasks/steps/maintenance/generate-final-report.ts
|
|
6719
6679
|
var generateFinalReportStep = {
|
|
6720
6680
|
id: "generate-final-report",
|
|
@@ -6886,13 +6846,45 @@ For each modified test case:
|
|
|
6886
6846
|
tags: ["maintenance", "automation", "feedback"]
|
|
6887
6847
|
};
|
|
6888
6848
|
|
|
6849
|
+
// src/tasks/steps/maintenance/update-knowledge-base.ts
|
|
6850
|
+
var updateKnowledgeBaseStep = {
|
|
6851
|
+
id: "update-knowledge-base",
|
|
6852
|
+
title: "Update Knowledge Base",
|
|
6853
|
+
category: "maintenance",
|
|
6854
|
+
content: `## Knowledge Base Maintenance
|
|
6855
|
+
|
|
6856
|
+
After completing your work, update the knowledge base with new insights.
|
|
6857
|
+
|
|
6858
|
+
**Location:** \`.bugzy/runtime/knowledge-base.md\`
|
|
6859
|
+
|
|
6860
|
+
**Process:**
|
|
6861
|
+
|
|
6862
|
+
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)
|
|
6863
|
+
|
|
6864
|
+
2. **Review the current knowledge base** to check for overlaps, contradictions, or opportunities to consolidate existing knowledge
|
|
6865
|
+
|
|
6866
|
+
3. **Update the knowledge base** following the maintenance guide principles:
|
|
6867
|
+
- Favor consolidation over addition
|
|
6868
|
+
- Update rather than append
|
|
6869
|
+
- Resolve contradictions immediately
|
|
6870
|
+
- Focus on quality over completeness
|
|
6871
|
+
|
|
6872
|
+
**What to Add:**
|
|
6873
|
+
- New patterns discovered about the application
|
|
6874
|
+
- Behaviors that differ from expectations
|
|
6875
|
+
- Technical constraints or requirements
|
|
6876
|
+
- Useful selectors or navigation patterns
|
|
6877
|
+
- Error handling patterns
|
|
6878
|
+
|
|
6879
|
+
**Remember:** Every entry should answer "Will this help someone working on this project in 6 months?"`,
|
|
6880
|
+
tags: ["maintenance", "knowledge"]
|
|
6881
|
+
};
|
|
6882
|
+
|
|
6889
6883
|
// src/tasks/steps/index.ts
|
|
6890
6884
|
var STEP_LIBRARY = {
|
|
6891
6885
|
// Setup
|
|
6892
6886
|
"security-notice": securityNoticeStep,
|
|
6893
|
-
"read-knowledge-base": readKnowledgeBaseStep,
|
|
6894
6887
|
"read-test-strategy": readTestStrategyStep,
|
|
6895
|
-
"load-project-context": loadProjectContextStep,
|
|
6896
6888
|
"gather-documentation": gatherDocumentationStep,
|
|
6897
6889
|
// Exploration
|
|
6898
6890
|
"exploration-protocol": explorationProtocolStep,
|
|
@@ -6918,12 +6910,12 @@ var STEP_LIBRARY = {
|
|
|
6918
6910
|
// Communication
|
|
6919
6911
|
"notify-team": notifyTeamStep,
|
|
6920
6912
|
// Maintenance
|
|
6921
|
-
"update-knowledge-base": updateKnowledgeBaseStep,
|
|
6922
6913
|
"generate-final-report": generateFinalReportStep,
|
|
6923
6914
|
"update-exploration-artifacts": updateExplorationArtifactsStep,
|
|
6924
6915
|
"cleanup-temp-files": cleanupTempFilesStep,
|
|
6925
6916
|
"validate-test-artifacts": validateTestArtifactsStep,
|
|
6926
|
-
"sync-automation-from-feedback": syncAutomationFromFeedbackStep
|
|
6917
|
+
"sync-automation-from-feedback": syncAutomationFromFeedbackStep,
|
|
6918
|
+
"update-knowledge-base": updateKnowledgeBaseStep
|
|
6927
6919
|
};
|
|
6928
6920
|
function getStep(id) {
|
|
6929
6921
|
const step = STEP_LIBRARY[id];
|