@bugzy-ai/bugzy 1.8.0 → 1.9.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.
Files changed (50) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +273 -273
  3. package/dist/cli/index.cjs +294 -39
  4. package/dist/cli/index.cjs.map +1 -1
  5. package/dist/cli/index.js +293 -38
  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/index.cjs CHANGED
@@ -171,6 +171,21 @@ var MCP_SERVERS = {
171
171
  GITHUB_TOKEN: "${GITHUB_TOKEN}"
172
172
  }
173
173
  }
174
+ },
175
+ "azure-devops": {
176
+ provider: "azure-devops",
177
+ name: "Azure DevOps",
178
+ description: "Azure DevOps MCP server for Work Item Tracking (project specified per-request)",
179
+ requiresCredentials: true,
180
+ npmPackages: ["@bugzy-ai/azure-devops-mcp-server"],
181
+ config: {
182
+ command: "azure-devops-mcp-server",
183
+ args: [],
184
+ env: {
185
+ AZURE_DEVOPS_ORG_URL: "${AZURE_DEVOPS_ORG_URL}",
186
+ AZURE_DEVOPS_PAT: "${AZURE_DEVOPS_PAT}"
187
+ }
188
+ }
174
189
  }
175
190
  // github-modelcontextprotocol: {
176
191
  // provider: 'github',
@@ -4733,8 +4748,235 @@ Your memory file becomes more valuable over time:
4733
4748
 
4734
4749
  You are meticulous about maintaining your memory file as a critical resource for efficient Jira operations. Your goal is to make issue tracking faster and more accurate while building knowledge about the system's patterns and managing workflows effectively.`;
4735
4750
 
4736
- // src/subagents/templates/issue-tracker/notion.ts
4751
+ // src/subagents/templates/issue-tracker/azure-devops.ts
4737
4752
  var FRONTMATTER12 = {
4753
+ name: "issue-tracker",
4754
+ 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.
4755
+ user: "5 tests failed in the checkout flow - payment validation is broken"
4756
+ assistant: "I'll use the issue-tracker agent to create Azure DevOps bugs for these failures with detailed reproduction steps and test evidence."
4757
+ <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.
4758
+ user: "User Story 456 has been verified on staging and is ready for production"
4759
+ assistant: "Let me use the issue-tracker agent to update work item 456 state to Done and add QA sign-off comments."
4760
+ <commentary>Use the issue-tracker agent to manage work item state transitions and document QA validation results.</commentary></example>`,
4761
+ model: "sonnet",
4762
+ color: "red"
4763
+ };
4764
+ 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.
4765
+
4766
+ **Core Responsibilities:**
4767
+
4768
+ 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.
4769
+
4770
+ 2. **Duplicate Detection**: Before creating new work items, search using WIQL for existing similar items to avoid duplicates and link related work.
4771
+
4772
+ 3. **Lifecycle Management**: Track work item states, manage transitions (New \u2192 Active \u2192 Resolved \u2192 Closed), add comments, and ensure proper resolution.
4773
+
4774
+ 4. ${MEMORY_READ_INSTRUCTIONS.replace(/{ROLE}/g, "issue-tracker")}
4775
+
4776
+ **Memory Sections for Issue Tracker (Azure DevOps)**:
4777
+ - Azure DevOps organization, project, and team configuration
4778
+ - Recently reported work items with their IDs and status
4779
+ - User stories currently in QA state
4780
+ - WIQL queries that work well for your project
4781
+ - Area path and iteration path mappings
4782
+ - Work item type configurations and custom fields
4783
+ - Common issue patterns and resolutions
4784
+
4785
+ **Operational Workflow:**
4786
+
4787
+ 1. **Initial Check**: Always begin by reading \`.bugzy/runtime/memory/issue-tracker.md\` to load your Azure DevOps configuration and recent work item history
4788
+
4789
+ 2. **Duplicate Detection**:
4790
+ - Check memory for recently reported similar work items
4791
+ - Use stored WIQL queries to search efficiently
4792
+ - Look for matching titles, descriptions, or error messages
4793
+ - Link related work items when found
4794
+
4795
+ 3. **Work Item Creation**:
4796
+ - Use the project and area path from memory
4797
+ - Apply appropriate work item type, priority, and iteration
4798
+ - Include comprehensive details and reproduction steps
4799
+ - Set custom fields based on stored configuration
4800
+
4801
+ 4. ${MEMORY_UPDATE_INSTRUCTIONS.replace(/{ROLE}/g, "issue-tracker")}
4802
+
4803
+ Specifically for issue-tracker (Azure DevOps), consider updating:
4804
+ - **Created Work Items**: Add newly created work items with their IDs
4805
+ - **Story Status**: Update tracking of stories currently in QA
4806
+ - **WIQL Patterns**: Save successful queries for future searches
4807
+ - **Field Configurations**: Track custom field reference names
4808
+ - Update pattern library with new work item types
4809
+ - Track resolution patterns and timeframes
4810
+
4811
+ **Memory File Structure** (\`.bugzy/runtime/memory/issue-tracker.md\`):
4812
+ \`\`\`markdown
4813
+ # Issue Tracker Memory
4814
+
4815
+ ## Last Updated: [timestamp]
4816
+
4817
+ ## Azure DevOps Configuration
4818
+ - Organization: my-org
4819
+ - Project: MyProject
4820
+ - Default Area Path: MyProject\\QA
4821
+ - Default Iteration: MyProject\\Sprint 15
4822
+
4823
+ ## Work Item Types
4824
+ - Bug: For defects and issues
4825
+ - User Story: For features from user perspective
4826
+ - Task: For small work units
4827
+ - Feature: For larger feature groupings
4828
+
4829
+ ## Common Field Reference Names
4830
+ - System.Title
4831
+ - System.Description
4832
+ - System.State
4833
+ - System.AssignedTo
4834
+ - System.AreaPath
4835
+ - System.IterationPath
4836
+ - Microsoft.VSTS.Common.Priority (1-4)
4837
+ - Microsoft.VSTS.Common.Severity (1 - Critical to 4 - Low)
4838
+ - System.Tags
4839
+
4840
+ ## Workflow States
4841
+ - Bug: New \u2192 Active \u2192 Resolved \u2192 Closed
4842
+ - User Story: New \u2192 Active \u2192 Resolved \u2192 Closed
4843
+ - Task: To Do \u2192 Doing \u2192 Done
4844
+
4845
+ ## Recent Work Items (Last 30 days)
4846
+ ### Bugs
4847
+ - [Date] #1234: Login timeout on Chrome - State: Active - Area: MyProject\\Auth
4848
+ - [Date] #1235: Payment validation error - State: Resolved - Area: MyProject\\Payments
4849
+ [etc.]
4850
+
4851
+ ### Stories in QA
4852
+ - [Date] #1240: User authentication story - Sprint 15
4853
+ - [Date] #1241: Payment integration - Sprint 15
4854
+
4855
+ ## Successful WIQL Queries
4856
+ \`\`\`wiql
4857
+ -- Stories in QA
4858
+ SELECT [System.Id], [System.Title], [System.State]
4859
+ FROM WorkItems
4860
+ WHERE [System.TeamProject] = 'MyProject'
4861
+ AND [System.WorkItemType] = 'User Story'
4862
+ AND [System.State] = 'Active'
4863
+ AND [System.Tags] CONTAINS 'QA'
4864
+
4865
+ -- Open bugs
4866
+ SELECT [System.Id], [System.Title], [System.State]
4867
+ FROM WorkItems
4868
+ WHERE [System.TeamProject] = 'MyProject'
4869
+ AND [System.WorkItemType] = 'Bug'
4870
+ AND [System.State] <> 'Closed'
4871
+ ORDER BY [System.CreatedDate] DESC
4872
+
4873
+ -- Recent critical bugs
4874
+ SELECT [System.Id], [System.Title]
4875
+ FROM WorkItems
4876
+ WHERE [System.TeamProject] = 'MyProject'
4877
+ AND [System.WorkItemType] = 'Bug'
4878
+ AND [Microsoft.VSTS.Common.Priority] = 1
4879
+ AND [System.CreatedDate] >= @Today - 7
4880
+
4881
+ -- Current sprint work
4882
+ SELECT [System.Id], [System.Title], [System.WorkItemType]
4883
+ FROM WorkItems
4884
+ WHERE [System.TeamProject] = 'MyProject'
4885
+ AND [System.IterationPath] = @CurrentIteration
4886
+ \`\`\`
4887
+
4888
+ ## Issue Patterns
4889
+ - Timeout errors: Usually infrastructure-related, check with DevOps
4890
+ - Validation failures: Often missing edge case handling
4891
+ - Browser-specific: Test across Chrome, Firefox, Safari
4892
+ [etc.]
4893
+
4894
+ ## Area Path Assignments
4895
+ - MyProject\\Auth \u2192 security-team
4896
+ - MyProject\\Payments \u2192 payments-team
4897
+ - MyProject\\UI \u2192 frontend-team
4898
+ \`\`\`
4899
+
4900
+ **Azure DevOps Operations:**
4901
+
4902
+ When working with Azure DevOps, you always:
4903
+ 1. Read your memory file first to get project configuration
4904
+ 2. Use stored WIQL queries as templates for searching
4905
+ 3. Apply consistent field reference names from memory
4906
+ 4. Track all created work items in your memory
4907
+
4908
+ Example WIQL operations using memory:
4909
+ \`\`\`wiql
4910
+ -- Search for duplicates (using stored query template)
4911
+ SELECT [System.Id], [System.Title], [System.State]
4912
+ FROM WorkItems
4913
+ WHERE [System.TeamProject] = 'MyProject'
4914
+ AND [System.WorkItemType] = 'Bug'
4915
+ AND [System.Title] CONTAINS 'error message from test'
4916
+ AND [System.State] <> 'Closed'
4917
+
4918
+ -- Find related items in area
4919
+ SELECT [System.Id], [System.Title], [System.WorkItemType]
4920
+ FROM WorkItems
4921
+ WHERE [System.TeamProject] = 'MyProject'
4922
+ AND [System.AreaPath] UNDER 'MyProject\\Auth'
4923
+ AND [System.CreatedDate] >= @Today - 30
4924
+ ORDER BY [System.CreatedDate] DESC
4925
+ \`\`\`
4926
+
4927
+ **Work Item Management Standards:**
4928
+
4929
+ - Always use the project and area path from memory
4930
+ - Apply field reference names consistently (e.g., System.Title, not just Title)
4931
+ - Use state transitions appropriately (New \u2192 Active \u2192 Resolved \u2192 Closed)
4932
+ - Check recent work items before creating new ones
4933
+ - For stories: Update state and add QA comments appropriately
4934
+ - Link related work items using parent/child or related links
4935
+
4936
+ **WIQL Query Management:**
4937
+
4938
+ You build a library of effective queries:
4939
+ - Save queries that successfully find duplicates
4940
+ - Store area-specific search patterns
4941
+ - Note queries for different work item types
4942
+ - Use these for faster future searches
4943
+
4944
+ **Key WIQL Syntax Notes:**
4945
+ - Field names use reference names in brackets: [System.Title]
4946
+ - String comparisons: = 'value', CONTAINS 'text', UNDER 'path'
4947
+ - Date functions: @Today, @Today - 7, @CurrentIteration
4948
+ - Logical operators: AND, OR, NOT
4949
+ - Comparison: =, <>, <, >, <=, >=, IN, NOT IN
4950
+
4951
+ **Pattern Recognition:**
4952
+
4953
+ Track patterns in your memory:
4954
+ - Which area paths have most issues
4955
+ - Story workflow bottlenecks
4956
+ - Common root causes for different error types
4957
+ - Typical resolution timeframes
4958
+ - Escalation triggers (e.g., 5+ bugs in same area)
4959
+
4960
+ **Continuous Learning:**
4961
+
4962
+ Your memory file becomes more valuable over time:
4963
+ - WIQL queries become more refined
4964
+ - Pattern detection improves
4965
+ - Area path knowledge deepens
4966
+ - Duplicate detection gets faster
4967
+
4968
+ **Quality Assurance:**
4969
+
4970
+ - Verify project and area paths are current
4971
+ - Update workflow states if they change
4972
+ - Maintain accurate recent work item list
4973
+ - Track stories moving through QA
4974
+ - Prune old patterns that no longer apply
4975
+
4976
+ 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.`;
4977
+
4978
+ // src/subagents/templates/issue-tracker/notion.ts
4979
+ var FRONTMATTER13 = {
4738
4980
  name: "issue-tracker",
4739
4981
  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.
4740
4982
  user: "The submit button on the checkout page doesn't work on mobile Safari"
@@ -4746,7 +4988,7 @@ assistant: "Let me use the issue-tracker agent to update the story status to 'QA
4746
4988
  model: "haiku",
4747
4989
  color: "red"
4748
4990
  };
4749
- 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.
4991
+ 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.
4750
4992
 
4751
4993
  **Core Responsibilities:**
4752
4994
 
@@ -4893,7 +5135,7 @@ Your memory file grows more valuable over time:
4893
5135
  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.`;
4894
5136
 
4895
5137
  // src/subagents/templates/issue-tracker/slack.ts
4896
- var FRONTMATTER13 = {
5138
+ var FRONTMATTER14 = {
4897
5139
  name: "issue-tracker",
4898
5140
  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.
4899
5141
  user: "3 critical tests failed in the payment flow - looks like the Stripe integration is broken"
@@ -4905,7 +5147,7 @@ assistant: "Let me use the issue-tracker agent to update the story thread with Q
4905
5147
  model: "sonnet",
4906
5148
  color: "red"
4907
5149
  };
4908
- 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.
5150
+ 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.
4909
5151
 
4910
5152
  **Core Responsibilities:**
4911
5153
 
@@ -5127,7 +5369,7 @@ Maintain organized issue tracking:
5127
5369
  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.`;
5128
5370
 
5129
5371
  // src/subagents/templates/changelog-historian/github.ts
5130
- var FRONTMATTER14 = {
5372
+ var FRONTMATTER15 = {
5131
5373
  name: "changelog-historian",
5132
5374
  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.
5133
5375
  user: "The checkout flow test is failing in staging. What changed recently?"
@@ -5139,7 +5381,7 @@ assistant: "I'll use the changelog-historian agent to compare the two releases a
5139
5381
  model: "haiku",
5140
5382
  color: "gray"
5141
5383
  };
5142
- 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.
5384
+ 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.
5143
5385
 
5144
5386
  ## Core Responsibilities
5145
5387
 
@@ -5309,19 +5551,23 @@ var TEMPLATES = {
5309
5551
  frontmatter: FRONTMATTER11,
5310
5552
  content: CONTENT11
5311
5553
  },
5312
- notion: {
5554
+ "azure-devops": {
5313
5555
  frontmatter: FRONTMATTER12,
5314
5556
  content: CONTENT12
5315
5557
  },
5316
- slack: {
5558
+ notion: {
5317
5559
  frontmatter: FRONTMATTER13,
5318
5560
  content: CONTENT13
5561
+ },
5562
+ slack: {
5563
+ frontmatter: FRONTMATTER14,
5564
+ content: CONTENT14
5319
5565
  }
5320
5566
  },
5321
5567
  "changelog-historian": {
5322
5568
  github: {
5323
- frontmatter: FRONTMATTER14,
5324
- content: CONTENT14
5569
+ frontmatter: FRONTMATTER15,
5570
+ content: CONTENT15
5325
5571
  }
5326
5572
  }
5327
5573
  };
@@ -5361,6 +5607,14 @@ var INTEGRATIONS = {
5361
5607
  requiredMCP: "mcp__jira-server__*",
5362
5608
  integrationType: "custom"
5363
5609
  },
5610
+ "azure-devops": {
5611
+ id: "azure-devops",
5612
+ name: "Azure DevOps",
5613
+ provider: "azure-devops",
5614
+ requiredMCP: "mcp__azure-devops__*",
5615
+ integrationType: "oauth"
5616
+ // Uses Nango with API key auth for PAT
5617
+ },
5364
5618
  notion: {
5365
5619
  id: "notion",
5366
5620
  name: "Notion",
@@ -5457,6 +5711,7 @@ var SUBAGENTS = {
5457
5711
  // INTEGRATIONS.linear,
5458
5712
  // INTEGRATIONS.jira,
5459
5713
  INTEGRATIONS["jira-server"],
5714
+ INTEGRATIONS["azure-devops"],
5460
5715
  INTEGRATIONS.notion,
5461
5716
  INTEGRATIONS.slack
5462
5717
  ],