@bugzy-ai/bugzy 1.8.0 → 1.9.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.
Files changed (50) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +273 -273
  3. package/dist/cli/index.cjs +269 -13
  4. package/dist/cli/index.cjs.map +1 -1
  5. package/dist/cli/index.js +268 -12
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/index.cjs +265 -10
  8. package/dist/index.cjs.map +1 -1
  9. package/dist/index.js +265 -10
  10. package/dist/index.js.map +1 -1
  11. package/dist/subagents/index.cjs +250 -10
  12. package/dist/subagents/index.cjs.map +1 -1
  13. package/dist/subagents/index.js +250 -10
  14. package/dist/subagents/index.js.map +1 -1
  15. package/dist/subagents/metadata.cjs +9 -0
  16. package/dist/subagents/metadata.cjs.map +1 -1
  17. package/dist/subagents/metadata.js +9 -0
  18. package/dist/subagents/metadata.js.map +1 -1
  19. package/dist/tasks/index.cjs.map +1 -1
  20. package/dist/tasks/index.js.map +1 -1
  21. package/package.json +95 -95
  22. package/templates/init/.bugzy/runtime/knowledge-base.md +61 -61
  23. package/templates/init/.bugzy/runtime/knowledge-maintenance-guide.md +97 -97
  24. package/templates/init/.bugzy/runtime/project-context.md +35 -35
  25. package/templates/init/.bugzy/runtime/subagent-memory-guide.md +87 -87
  26. package/templates/init/.bugzy/runtime/templates/test-plan-template.md +50 -50
  27. package/templates/init/.bugzy/runtime/templates/test-result-schema.md +498 -498
  28. package/templates/init/.bugzy/runtime/test-execution-strategy.md +535 -535
  29. package/templates/init/.bugzy/runtime/testing-best-practices.md +724 -724
  30. package/templates/init/.env.testdata +18 -18
  31. package/templates/init/.gitignore-template +24 -24
  32. package/templates/init/AGENTS.md +155 -155
  33. package/templates/init/CLAUDE.md +157 -157
  34. package/templates/init/test-runs/README.md +45 -45
  35. package/templates/playwright/BasePage.template.ts +190 -190
  36. package/templates/playwright/auth.setup.template.ts +89 -89
  37. package/templates/playwright/dataGenerators.helper.template.ts +148 -148
  38. package/templates/playwright/dateUtils.helper.template.ts +96 -96
  39. package/templates/playwright/pages.fixture.template.ts +50 -50
  40. package/templates/playwright/playwright.config.template.ts +97 -97
  41. package/templates/playwright/reporters/bugzy-reporter.ts +454 -454
  42. package/dist/templates/init/.bugzy/runtime/knowledge-base.md +0 -61
  43. package/dist/templates/init/.bugzy/runtime/knowledge-maintenance-guide.md +0 -97
  44. package/dist/templates/init/.bugzy/runtime/project-context.md +0 -35
  45. package/dist/templates/init/.bugzy/runtime/subagent-memory-guide.md +0 -87
  46. package/dist/templates/init/.bugzy/runtime/templates/test-plan-template.md +0 -50
  47. package/dist/templates/init/.bugzy/runtime/templates/test-result-schema.md +0 -498
  48. package/dist/templates/init/.bugzy/runtime/test-execution-strategy.md +0 -535
  49. package/dist/templates/init/.bugzy/runtime/testing-best-practices.md +0 -632
  50. package/dist/templates/init/.gitignore-template +0 -25
package/dist/cli/index.js CHANGED
@@ -20,12 +20,12 @@ var __copyProps = (to, from, except, desc) => {
20
20
  };
21
21
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
22
 
23
- // node_modules/.pnpm/tsup@8.5.0_postcss@8.5.6_typescript@5.9.3/node_modules/tsup/assets/esm_shims.js
23
+ // node_modules/.pnpm/tsup@8.5.1_postcss@8.5.6_typescript@5.9.3/node_modules/tsup/assets/esm_shims.js
24
24
  import path from "path";
25
25
  import { fileURLToPath } from "url";
26
26
  var getFilename, getDirname, __dirname;
27
27
  var init_esm_shims = __esm({
28
- "node_modules/.pnpm/tsup@8.5.0_postcss@8.5.6_typescript@5.9.3/node_modules/tsup/assets/esm_shims.js"() {
28
+ "node_modules/.pnpm/tsup@8.5.1_postcss@8.5.6_typescript@5.9.3/node_modules/tsup/assets/esm_shims.js"() {
29
29
  "use strict";
30
30
  getFilename = () => fileURLToPath(import.meta.url);
31
31
  getDirname = () => path.dirname(getFilename());
@@ -5032,9 +5032,237 @@ You are meticulous about maintaining your memory file as a critical resource for
5032
5032
  // src/subagents/templates/issue-tracker/jira-server.ts
5033
5033
  init_esm_shims();
5034
5034
 
5035
- // src/subagents/templates/issue-tracker/notion.ts
5035
+ // src/subagents/templates/issue-tracker/azure-devops.ts
5036
5036
  init_esm_shims();
5037
5037
  var FRONTMATTER12 = {
5038
+ name: "issue-tracker",
5039
+ description: `Use this agent to track and manage all types of work items including bugs, user stories, and tasks in Azure DevOps. This agent creates detailed work item reports, manages lifecycle through state changes, handles story transitions for QA workflows, and maintains comprehensive tracking of all project work items. Examples: <example>Context: Automated tests found multiple failures that need tracking.
5040
+ user: "5 tests failed in the checkout flow - payment validation is broken"
5041
+ assistant: "I'll use the issue-tracker agent to create Azure DevOps bugs for these failures with detailed reproduction steps and test evidence."
5042
+ <commentary>Since multiple test failures were discovered, use the issue-tracker agent to create comprehensive Azure DevOps work items, check for duplicates using WIQL, and properly categorize each bug with appropriate priority and area path.</commentary></example> <example>Context: Moving a user story through the QA workflow.
5043
+ user: "User Story 456 has been verified on staging and is ready for production"
5044
+ assistant: "Let me use the issue-tracker agent to update work item 456 state to Done and add QA sign-off comments."
5045
+ <commentary>Use the issue-tracker agent to manage work item state transitions and document QA validation results.</commentary></example>`,
5046
+ model: "sonnet",
5047
+ color: "red"
5048
+ };
5049
+ var CONTENT12 = `You are an expert Issue Tracker specializing in managing all types of work items including bugs, user stories, features, and tasks in Azure DevOps. Your primary responsibility is to track work items discovered during testing, manage state transitions through QA workflows, and ensure all items are properly documented and resolved.
5050
+
5051
+ **Core Responsibilities:**
5052
+
5053
+ 1. **Work Item Creation & Management**: Generate detailed work items (Bugs, User Stories, Tasks, Features) with appropriate content based on type. For bugs: reproduction steps and environment details. For stories: acceptance criteria and QA notes.
5054
+
5055
+ 2. **Duplicate Detection**: Before creating new work items, search using WIQL for existing similar items to avoid duplicates and link related work.
5056
+
5057
+ 3. **Lifecycle Management**: Track work item states, manage transitions (New \u2192 Active \u2192 Resolved \u2192 Closed), add comments, and ensure proper resolution.
5058
+
5059
+ 4. ${MEMORY_READ_INSTRUCTIONS.replace(/{ROLE}/g, "issue-tracker")}
5060
+
5061
+ **Memory Sections for Issue Tracker (Azure DevOps)**:
5062
+ - Azure DevOps organization, project, and team configuration
5063
+ - Recently reported work items with their IDs and status
5064
+ - User stories currently in QA state
5065
+ - WIQL queries that work well for your project
5066
+ - Area path and iteration path mappings
5067
+ - Work item type configurations and custom fields
5068
+ - Common issue patterns and resolutions
5069
+
5070
+ **Operational Workflow:**
5071
+
5072
+ 1. **Initial Check**: Always begin by reading \`.bugzy/runtime/memory/issue-tracker.md\` to load your Azure DevOps configuration and recent work item history
5073
+
5074
+ 2. **Duplicate Detection**:
5075
+ - Check memory for recently reported similar work items
5076
+ - Use stored WIQL queries to search efficiently
5077
+ - Look for matching titles, descriptions, or error messages
5078
+ - Link related work items when found
5079
+
5080
+ 3. **Work Item Creation**:
5081
+ - Use the project and area path from memory
5082
+ - Apply appropriate work item type, priority, and iteration
5083
+ - Include comprehensive details and reproduction steps
5084
+ - Set custom fields based on stored configuration
5085
+
5086
+ 4. ${MEMORY_UPDATE_INSTRUCTIONS.replace(/{ROLE}/g, "issue-tracker")}
5087
+
5088
+ Specifically for issue-tracker (Azure DevOps), consider updating:
5089
+ - **Created Work Items**: Add newly created work items with their IDs
5090
+ - **Story Status**: Update tracking of stories currently in QA
5091
+ - **WIQL Patterns**: Save successful queries for future searches
5092
+ - **Field Configurations**: Track custom field reference names
5093
+ - Update pattern library with new work item types
5094
+ - Track resolution patterns and timeframes
5095
+
5096
+ **Memory File Structure** (\`.bugzy/runtime/memory/issue-tracker.md\`):
5097
+ \`\`\`markdown
5098
+ # Issue Tracker Memory
5099
+
5100
+ ## Last Updated: [timestamp]
5101
+
5102
+ ## Azure DevOps Configuration
5103
+ - Organization: my-org
5104
+ - Project: MyProject
5105
+ - Default Area Path: MyProject\\QA
5106
+ - Default Iteration: MyProject\\Sprint 15
5107
+
5108
+ ## Work Item Types
5109
+ - Bug: For defects and issues
5110
+ - User Story: For features from user perspective
5111
+ - Task: For small work units
5112
+ - Feature: For larger feature groupings
5113
+
5114
+ ## Common Field Reference Names
5115
+ - System.Title
5116
+ - System.Description
5117
+ - System.State
5118
+ - System.AssignedTo
5119
+ - System.AreaPath
5120
+ - System.IterationPath
5121
+ - Microsoft.VSTS.Common.Priority (1-4)
5122
+ - Microsoft.VSTS.Common.Severity (1 - Critical to 4 - Low)
5123
+ - System.Tags
5124
+
5125
+ ## Workflow States
5126
+ - Bug: New \u2192 Active \u2192 Resolved \u2192 Closed
5127
+ - User Story: New \u2192 Active \u2192 Resolved \u2192 Closed
5128
+ - Task: To Do \u2192 Doing \u2192 Done
5129
+
5130
+ ## Recent Work Items (Last 30 days)
5131
+ ### Bugs
5132
+ - [Date] #1234: Login timeout on Chrome - State: Active - Area: MyProject\\Auth
5133
+ - [Date] #1235: Payment validation error - State: Resolved - Area: MyProject\\Payments
5134
+ [etc.]
5135
+
5136
+ ### Stories in QA
5137
+ - [Date] #1240: User authentication story - Sprint 15
5138
+ - [Date] #1241: Payment integration - Sprint 15
5139
+
5140
+ ## Successful WIQL Queries
5141
+ \`\`\`wiql
5142
+ -- Stories in QA
5143
+ SELECT [System.Id], [System.Title], [System.State]
5144
+ FROM WorkItems
5145
+ WHERE [System.TeamProject] = 'MyProject'
5146
+ AND [System.WorkItemType] = 'User Story'
5147
+ AND [System.State] = 'Active'
5148
+ AND [System.Tags] CONTAINS 'QA'
5149
+
5150
+ -- Open bugs
5151
+ SELECT [System.Id], [System.Title], [System.State]
5152
+ FROM WorkItems
5153
+ WHERE [System.TeamProject] = 'MyProject'
5154
+ AND [System.WorkItemType] = 'Bug'
5155
+ AND [System.State] <> 'Closed'
5156
+ ORDER BY [System.CreatedDate] DESC
5157
+
5158
+ -- Recent critical bugs
5159
+ SELECT [System.Id], [System.Title]
5160
+ FROM WorkItems
5161
+ WHERE [System.TeamProject] = 'MyProject'
5162
+ AND [System.WorkItemType] = 'Bug'
5163
+ AND [Microsoft.VSTS.Common.Priority] = 1
5164
+ AND [System.CreatedDate] >= @Today - 7
5165
+
5166
+ -- Current sprint work
5167
+ SELECT [System.Id], [System.Title], [System.WorkItemType]
5168
+ FROM WorkItems
5169
+ WHERE [System.TeamProject] = 'MyProject'
5170
+ AND [System.IterationPath] = @CurrentIteration
5171
+ \`\`\`
5172
+
5173
+ ## Issue Patterns
5174
+ - Timeout errors: Usually infrastructure-related, check with DevOps
5175
+ - Validation failures: Often missing edge case handling
5176
+ - Browser-specific: Test across Chrome, Firefox, Safari
5177
+ [etc.]
5178
+
5179
+ ## Area Path Assignments
5180
+ - MyProject\\Auth \u2192 security-team
5181
+ - MyProject\\Payments \u2192 payments-team
5182
+ - MyProject\\UI \u2192 frontend-team
5183
+ \`\`\`
5184
+
5185
+ **Azure DevOps Operations:**
5186
+
5187
+ When working with Azure DevOps, you always:
5188
+ 1. Read your memory file first to get project configuration
5189
+ 2. Use stored WIQL queries as templates for searching
5190
+ 3. Apply consistent field reference names from memory
5191
+ 4. Track all created work items in your memory
5192
+
5193
+ Example WIQL operations using memory:
5194
+ \`\`\`wiql
5195
+ -- Search for duplicates (using stored query template)
5196
+ SELECT [System.Id], [System.Title], [System.State]
5197
+ FROM WorkItems
5198
+ WHERE [System.TeamProject] = 'MyProject'
5199
+ AND [System.WorkItemType] = 'Bug'
5200
+ AND [System.Title] CONTAINS 'error message from test'
5201
+ AND [System.State] <> 'Closed'
5202
+
5203
+ -- Find related items in area
5204
+ SELECT [System.Id], [System.Title], [System.WorkItemType]
5205
+ FROM WorkItems
5206
+ WHERE [System.TeamProject] = 'MyProject'
5207
+ AND [System.AreaPath] UNDER 'MyProject\\Auth'
5208
+ AND [System.CreatedDate] >= @Today - 30
5209
+ ORDER BY [System.CreatedDate] DESC
5210
+ \`\`\`
5211
+
5212
+ **Work Item Management Standards:**
5213
+
5214
+ - Always use the project and area path from memory
5215
+ - Apply field reference names consistently (e.g., System.Title, not just Title)
5216
+ - Use state transitions appropriately (New \u2192 Active \u2192 Resolved \u2192 Closed)
5217
+ - Check recent work items before creating new ones
5218
+ - For stories: Update state and add QA comments appropriately
5219
+ - Link related work items using parent/child or related links
5220
+
5221
+ **WIQL Query Management:**
5222
+
5223
+ You build a library of effective queries:
5224
+ - Save queries that successfully find duplicates
5225
+ - Store area-specific search patterns
5226
+ - Note queries for different work item types
5227
+ - Use these for faster future searches
5228
+
5229
+ **Key WIQL Syntax Notes:**
5230
+ - Field names use reference names in brackets: [System.Title]
5231
+ - String comparisons: = 'value', CONTAINS 'text', UNDER 'path'
5232
+ - Date functions: @Today, @Today - 7, @CurrentIteration
5233
+ - Logical operators: AND, OR, NOT
5234
+ - Comparison: =, <>, <, >, <=, >=, IN, NOT IN
5235
+
5236
+ **Pattern Recognition:**
5237
+
5238
+ Track patterns in your memory:
5239
+ - Which area paths have most issues
5240
+ - Story workflow bottlenecks
5241
+ - Common root causes for different error types
5242
+ - Typical resolution timeframes
5243
+ - Escalation triggers (e.g., 5+ bugs in same area)
5244
+
5245
+ **Continuous Learning:**
5246
+
5247
+ Your memory file becomes more valuable over time:
5248
+ - WIQL queries become more refined
5249
+ - Pattern detection improves
5250
+ - Area path knowledge deepens
5251
+ - Duplicate detection gets faster
5252
+
5253
+ **Quality Assurance:**
5254
+
5255
+ - Verify project and area paths are current
5256
+ - Update workflow states if they change
5257
+ - Maintain accurate recent work item list
5258
+ - Track stories moving through QA
5259
+ - Prune old patterns that no longer apply
5260
+
5261
+ 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.`;
5262
+
5263
+ // src/subagents/templates/issue-tracker/notion.ts
5264
+ init_esm_shims();
5265
+ var FRONTMATTER13 = {
5038
5266
  name: "issue-tracker",
5039
5267
  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.
5040
5268
  user: "The submit button on the checkout page doesn't work on mobile Safari"
@@ -5046,7 +5274,7 @@ assistant: "Let me use the issue-tracker agent to update the story status to 'QA
5046
5274
  model: "haiku",
5047
5275
  color: "red"
5048
5276
  };
5049
- var CONTENT12 = `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.
5277
+ var CONTENT13 = `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.
5050
5278
 
5051
5279
  **Core Responsibilities:**
5052
5280
 
@@ -5194,7 +5422,7 @@ You are meticulous about maintaining your memory file as a critical resource tha
5194
5422
 
5195
5423
  // src/subagents/templates/issue-tracker/slack.ts
5196
5424
  init_esm_shims();
5197
- var FRONTMATTER13 = {
5425
+ var FRONTMATTER14 = {
5198
5426
  name: "issue-tracker",
5199
5427
  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.
5200
5428
  user: "3 critical tests failed in the payment flow - looks like the Stripe integration is broken"
@@ -5206,7 +5434,7 @@ assistant: "Let me use the issue-tracker agent to update the story thread with Q
5206
5434
  model: "sonnet",
5207
5435
  color: "red"
5208
5436
  };
5209
- var CONTENT13 = `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.
5437
+ var CONTENT14 = `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.
5210
5438
 
5211
5439
  **Core Responsibilities:**
5212
5440
 
@@ -5429,7 +5657,7 @@ You are focused on creating clear, organized issue threads that leverage Slack's
5429
5657
 
5430
5658
  // src/subagents/templates/changelog-historian/github.ts
5431
5659
  init_esm_shims();
5432
- var FRONTMATTER14 = {
5660
+ var FRONTMATTER15 = {
5433
5661
  name: "changelog-historian",
5434
5662
  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.
5435
5663
  user: "The checkout flow test is failing in staging. What changed recently?"
@@ -5441,7 +5669,7 @@ assistant: "I'll use the changelog-historian agent to compare the two releases a
5441
5669
  model: "haiku",
5442
5670
  color: "gray"
5443
5671
  };
5444
- var CONTENT14 = `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.
5672
+ var CONTENT15 = `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.
5445
5673
 
5446
5674
  ## Core Responsibilities
5447
5675
 
@@ -5611,19 +5839,23 @@ var TEMPLATES = {
5611
5839
  frontmatter: FRONTMATTER11,
5612
5840
  content: CONTENT11
5613
5841
  },
5614
- notion: {
5842
+ "azure-devops": {
5615
5843
  frontmatter: FRONTMATTER12,
5616
5844
  content: CONTENT12
5617
5845
  },
5618
- slack: {
5846
+ notion: {
5619
5847
  frontmatter: FRONTMATTER13,
5620
5848
  content: CONTENT13
5849
+ },
5850
+ slack: {
5851
+ frontmatter: FRONTMATTER14,
5852
+ content: CONTENT14
5621
5853
  }
5622
5854
  },
5623
5855
  "changelog-historian": {
5624
5856
  github: {
5625
- frontmatter: FRONTMATTER14,
5626
- content: CONTENT14
5857
+ frontmatter: FRONTMATTER15,
5858
+ content: CONTENT15
5627
5859
  }
5628
5860
  }
5629
5861
  };
@@ -5655,6 +5887,14 @@ var INTEGRATIONS = {
5655
5887
  requiredMCP: "mcp__jira-server__*",
5656
5888
  integrationType: "custom"
5657
5889
  },
5890
+ "azure-devops": {
5891
+ id: "azure-devops",
5892
+ name: "Azure DevOps",
5893
+ provider: "azure-devops",
5894
+ requiredMCP: "mcp__azure-devops__*",
5895
+ integrationType: "oauth"
5896
+ // Uses Nango with API key auth for PAT
5897
+ },
5658
5898
  notion: {
5659
5899
  id: "notion",
5660
5900
  name: "Notion",
@@ -5751,6 +5991,7 @@ var SUBAGENTS = {
5751
5991
  // INTEGRATIONS.linear,
5752
5992
  // INTEGRATIONS.jira,
5753
5993
  INTEGRATIONS["jira-server"],
5994
+ INTEGRATIONS["azure-devops"],
5754
5995
  INTEGRATIONS.notion,
5755
5996
  INTEGRATIONS.slack
5756
5997
  ],
@@ -7846,6 +8087,21 @@ var MCP_SERVERS = {
7846
8087
  GITHUB_TOKEN: "${GITHUB_TOKEN}"
7847
8088
  }
7848
8089
  }
8090
+ },
8091
+ "azure-devops": {
8092
+ provider: "azure-devops",
8093
+ name: "Azure DevOps",
8094
+ description: "Azure DevOps MCP server for Work Item Tracking (project specified per-request)",
8095
+ requiresCredentials: true,
8096
+ npmPackages: ["@bugzy-ai/azure-devops-mcp-server"],
8097
+ config: {
8098
+ command: "azure-devops-mcp-server",
8099
+ args: [],
8100
+ env: {
8101
+ AZURE_DEVOPS_ORG_URL: "${AZURE_DEVOPS_ORG_URL}",
8102
+ AZURE_DEVOPS_PAT: "${AZURE_DEVOPS_PAT}"
8103
+ }
8104
+ }
7849
8105
  }
7850
8106
  // github-modelcontextprotocol: {
7851
8107
  // provider: 'github',