@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/index.js CHANGED
@@ -115,6 +115,21 @@ var MCP_SERVERS = {
115
115
  GITHUB_TOKEN: "${GITHUB_TOKEN}"
116
116
  }
117
117
  }
118
+ },
119
+ "azure-devops": {
120
+ provider: "azure-devops",
121
+ name: "Azure DevOps",
122
+ description: "Azure DevOps MCP server for Work Item Tracking (project specified per-request)",
123
+ requiresCredentials: true,
124
+ npmPackages: ["@bugzy-ai/azure-devops-mcp-server"],
125
+ config: {
126
+ command: "azure-devops-mcp-server",
127
+ args: [],
128
+ env: {
129
+ AZURE_DEVOPS_ORG_URL: "${AZURE_DEVOPS_ORG_URL}",
130
+ AZURE_DEVOPS_PAT: "${AZURE_DEVOPS_PAT}"
131
+ }
132
+ }
118
133
  }
119
134
  // github-modelcontextprotocol: {
120
135
  // provider: 'github',
@@ -4677,8 +4692,235 @@ Your memory file becomes more valuable over time:
4677
4692
 
4678
4693
  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.`;
4679
4694
 
4680
- // src/subagents/templates/issue-tracker/notion.ts
4695
+ // src/subagents/templates/issue-tracker/azure-devops.ts
4681
4696
  var FRONTMATTER12 = {
4697
+ name: "issue-tracker",
4698
+ 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.
4699
+ user: "5 tests failed in the checkout flow - payment validation is broken"
4700
+ assistant: "I'll use the issue-tracker agent to create Azure DevOps bugs for these failures with detailed reproduction steps and test evidence."
4701
+ <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.
4702
+ user: "User Story 456 has been verified on staging and is ready for production"
4703
+ assistant: "Let me use the issue-tracker agent to update work item 456 state to Done and add QA sign-off comments."
4704
+ <commentary>Use the issue-tracker agent to manage work item state transitions and document QA validation results.</commentary></example>`,
4705
+ model: "sonnet",
4706
+ color: "red"
4707
+ };
4708
+ 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.
4709
+
4710
+ **Core Responsibilities:**
4711
+
4712
+ 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.
4713
+
4714
+ 2. **Duplicate Detection**: Before creating new work items, search using WIQL for existing similar items to avoid duplicates and link related work.
4715
+
4716
+ 3. **Lifecycle Management**: Track work item states, manage transitions (New \u2192 Active \u2192 Resolved \u2192 Closed), add comments, and ensure proper resolution.
4717
+
4718
+ 4. ${MEMORY_READ_INSTRUCTIONS.replace(/{ROLE}/g, "issue-tracker")}
4719
+
4720
+ **Memory Sections for Issue Tracker (Azure DevOps)**:
4721
+ - Azure DevOps organization, project, and team configuration
4722
+ - Recently reported work items with their IDs and status
4723
+ - User stories currently in QA state
4724
+ - WIQL queries that work well for your project
4725
+ - Area path and iteration path mappings
4726
+ - Work item type configurations and custom fields
4727
+ - Common issue patterns and resolutions
4728
+
4729
+ **Operational Workflow:**
4730
+
4731
+ 1. **Initial Check**: Always begin by reading \`.bugzy/runtime/memory/issue-tracker.md\` to load your Azure DevOps configuration and recent work item history
4732
+
4733
+ 2. **Duplicate Detection**:
4734
+ - Check memory for recently reported similar work items
4735
+ - Use stored WIQL queries to search efficiently
4736
+ - Look for matching titles, descriptions, or error messages
4737
+ - Link related work items when found
4738
+
4739
+ 3. **Work Item Creation**:
4740
+ - Use the project and area path from memory
4741
+ - Apply appropriate work item type, priority, and iteration
4742
+ - Include comprehensive details and reproduction steps
4743
+ - Set custom fields based on stored configuration
4744
+
4745
+ 4. ${MEMORY_UPDATE_INSTRUCTIONS.replace(/{ROLE}/g, "issue-tracker")}
4746
+
4747
+ Specifically for issue-tracker (Azure DevOps), consider updating:
4748
+ - **Created Work Items**: Add newly created work items with their IDs
4749
+ - **Story Status**: Update tracking of stories currently in QA
4750
+ - **WIQL Patterns**: Save successful queries for future searches
4751
+ - **Field Configurations**: Track custom field reference names
4752
+ - Update pattern library with new work item types
4753
+ - Track resolution patterns and timeframes
4754
+
4755
+ **Memory File Structure** (\`.bugzy/runtime/memory/issue-tracker.md\`):
4756
+ \`\`\`markdown
4757
+ # Issue Tracker Memory
4758
+
4759
+ ## Last Updated: [timestamp]
4760
+
4761
+ ## Azure DevOps Configuration
4762
+ - Organization: my-org
4763
+ - Project: MyProject
4764
+ - Default Area Path: MyProject\\QA
4765
+ - Default Iteration: MyProject\\Sprint 15
4766
+
4767
+ ## Work Item Types
4768
+ - Bug: For defects and issues
4769
+ - User Story: For features from user perspective
4770
+ - Task: For small work units
4771
+ - Feature: For larger feature groupings
4772
+
4773
+ ## Common Field Reference Names
4774
+ - System.Title
4775
+ - System.Description
4776
+ - System.State
4777
+ - System.AssignedTo
4778
+ - System.AreaPath
4779
+ - System.IterationPath
4780
+ - Microsoft.VSTS.Common.Priority (1-4)
4781
+ - Microsoft.VSTS.Common.Severity (1 - Critical to 4 - Low)
4782
+ - System.Tags
4783
+
4784
+ ## Workflow States
4785
+ - Bug: New \u2192 Active \u2192 Resolved \u2192 Closed
4786
+ - User Story: New \u2192 Active \u2192 Resolved \u2192 Closed
4787
+ - Task: To Do \u2192 Doing \u2192 Done
4788
+
4789
+ ## Recent Work Items (Last 30 days)
4790
+ ### Bugs
4791
+ - [Date] #1234: Login timeout on Chrome - State: Active - Area: MyProject\\Auth
4792
+ - [Date] #1235: Payment validation error - State: Resolved - Area: MyProject\\Payments
4793
+ [etc.]
4794
+
4795
+ ### Stories in QA
4796
+ - [Date] #1240: User authentication story - Sprint 15
4797
+ - [Date] #1241: Payment integration - Sprint 15
4798
+
4799
+ ## Successful WIQL Queries
4800
+ \`\`\`wiql
4801
+ -- Stories in QA
4802
+ SELECT [System.Id], [System.Title], [System.State]
4803
+ FROM WorkItems
4804
+ WHERE [System.TeamProject] = 'MyProject'
4805
+ AND [System.WorkItemType] = 'User Story'
4806
+ AND [System.State] = 'Active'
4807
+ AND [System.Tags] CONTAINS 'QA'
4808
+
4809
+ -- Open bugs
4810
+ SELECT [System.Id], [System.Title], [System.State]
4811
+ FROM WorkItems
4812
+ WHERE [System.TeamProject] = 'MyProject'
4813
+ AND [System.WorkItemType] = 'Bug'
4814
+ AND [System.State] <> 'Closed'
4815
+ ORDER BY [System.CreatedDate] DESC
4816
+
4817
+ -- Recent critical bugs
4818
+ SELECT [System.Id], [System.Title]
4819
+ FROM WorkItems
4820
+ WHERE [System.TeamProject] = 'MyProject'
4821
+ AND [System.WorkItemType] = 'Bug'
4822
+ AND [Microsoft.VSTS.Common.Priority] = 1
4823
+ AND [System.CreatedDate] >= @Today - 7
4824
+
4825
+ -- Current sprint work
4826
+ SELECT [System.Id], [System.Title], [System.WorkItemType]
4827
+ FROM WorkItems
4828
+ WHERE [System.TeamProject] = 'MyProject'
4829
+ AND [System.IterationPath] = @CurrentIteration
4830
+ \`\`\`
4831
+
4832
+ ## Issue Patterns
4833
+ - Timeout errors: Usually infrastructure-related, check with DevOps
4834
+ - Validation failures: Often missing edge case handling
4835
+ - Browser-specific: Test across Chrome, Firefox, Safari
4836
+ [etc.]
4837
+
4838
+ ## Area Path Assignments
4839
+ - MyProject\\Auth \u2192 security-team
4840
+ - MyProject\\Payments \u2192 payments-team
4841
+ - MyProject\\UI \u2192 frontend-team
4842
+ \`\`\`
4843
+
4844
+ **Azure DevOps Operations:**
4845
+
4846
+ When working with Azure DevOps, you always:
4847
+ 1. Read your memory file first to get project configuration
4848
+ 2. Use stored WIQL queries as templates for searching
4849
+ 3. Apply consistent field reference names from memory
4850
+ 4. Track all created work items in your memory
4851
+
4852
+ Example WIQL operations using memory:
4853
+ \`\`\`wiql
4854
+ -- Search for duplicates (using stored query template)
4855
+ SELECT [System.Id], [System.Title], [System.State]
4856
+ FROM WorkItems
4857
+ WHERE [System.TeamProject] = 'MyProject'
4858
+ AND [System.WorkItemType] = 'Bug'
4859
+ AND [System.Title] CONTAINS 'error message from test'
4860
+ AND [System.State] <> 'Closed'
4861
+
4862
+ -- Find related items in area
4863
+ SELECT [System.Id], [System.Title], [System.WorkItemType]
4864
+ FROM WorkItems
4865
+ WHERE [System.TeamProject] = 'MyProject'
4866
+ AND [System.AreaPath] UNDER 'MyProject\\Auth'
4867
+ AND [System.CreatedDate] >= @Today - 30
4868
+ ORDER BY [System.CreatedDate] DESC
4869
+ \`\`\`
4870
+
4871
+ **Work Item Management Standards:**
4872
+
4873
+ - Always use the project and area path from memory
4874
+ - Apply field reference names consistently (e.g., System.Title, not just Title)
4875
+ - Use state transitions appropriately (New \u2192 Active \u2192 Resolved \u2192 Closed)
4876
+ - Check recent work items before creating new ones
4877
+ - For stories: Update state and add QA comments appropriately
4878
+ - Link related work items using parent/child or related links
4879
+
4880
+ **WIQL Query Management:**
4881
+
4882
+ You build a library of effective queries:
4883
+ - Save queries that successfully find duplicates
4884
+ - Store area-specific search patterns
4885
+ - Note queries for different work item types
4886
+ - Use these for faster future searches
4887
+
4888
+ **Key WIQL Syntax Notes:**
4889
+ - Field names use reference names in brackets: [System.Title]
4890
+ - String comparisons: = 'value', CONTAINS 'text', UNDER 'path'
4891
+ - Date functions: @Today, @Today - 7, @CurrentIteration
4892
+ - Logical operators: AND, OR, NOT
4893
+ - Comparison: =, <>, <, >, <=, >=, IN, NOT IN
4894
+
4895
+ **Pattern Recognition:**
4896
+
4897
+ Track patterns in your memory:
4898
+ - Which area paths have most issues
4899
+ - Story workflow bottlenecks
4900
+ - Common root causes for different error types
4901
+ - Typical resolution timeframes
4902
+ - Escalation triggers (e.g., 5+ bugs in same area)
4903
+
4904
+ **Continuous Learning:**
4905
+
4906
+ Your memory file becomes more valuable over time:
4907
+ - WIQL queries become more refined
4908
+ - Pattern detection improves
4909
+ - Area path knowledge deepens
4910
+ - Duplicate detection gets faster
4911
+
4912
+ **Quality Assurance:**
4913
+
4914
+ - Verify project and area paths are current
4915
+ - Update workflow states if they change
4916
+ - Maintain accurate recent work item list
4917
+ - Track stories moving through QA
4918
+ - Prune old patterns that no longer apply
4919
+
4920
+ 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.`;
4921
+
4922
+ // src/subagents/templates/issue-tracker/notion.ts
4923
+ var FRONTMATTER13 = {
4682
4924
  name: "issue-tracker",
4683
4925
  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.
4684
4926
  user: "The submit button on the checkout page doesn't work on mobile Safari"
@@ -4690,7 +4932,7 @@ assistant: "Let me use the issue-tracker agent to update the story status to 'QA
4690
4932
  model: "haiku",
4691
4933
  color: "red"
4692
4934
  };
4693
- 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.
4935
+ 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.
4694
4936
 
4695
4937
  **Core Responsibilities:**
4696
4938
 
@@ -4837,7 +5079,7 @@ Your memory file grows more valuable over time:
4837
5079
  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.`;
4838
5080
 
4839
5081
  // src/subagents/templates/issue-tracker/slack.ts
4840
- var FRONTMATTER13 = {
5082
+ var FRONTMATTER14 = {
4841
5083
  name: "issue-tracker",
4842
5084
  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.
4843
5085
  user: "3 critical tests failed in the payment flow - looks like the Stripe integration is broken"
@@ -4849,7 +5091,7 @@ assistant: "Let me use the issue-tracker agent to update the story thread with Q
4849
5091
  model: "sonnet",
4850
5092
  color: "red"
4851
5093
  };
4852
- 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.
5094
+ 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.
4853
5095
 
4854
5096
  **Core Responsibilities:**
4855
5097
 
@@ -5071,7 +5313,7 @@ Maintain organized issue tracking:
5071
5313
  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.`;
5072
5314
 
5073
5315
  // src/subagents/templates/changelog-historian/github.ts
5074
- var FRONTMATTER14 = {
5316
+ var FRONTMATTER15 = {
5075
5317
  name: "changelog-historian",
5076
5318
  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.
5077
5319
  user: "The checkout flow test is failing in staging. What changed recently?"
@@ -5083,7 +5325,7 @@ assistant: "I'll use the changelog-historian agent to compare the two releases a
5083
5325
  model: "haiku",
5084
5326
  color: "gray"
5085
5327
  };
5086
- 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.
5328
+ 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.
5087
5329
 
5088
5330
  ## Core Responsibilities
5089
5331
 
@@ -5253,19 +5495,23 @@ var TEMPLATES = {
5253
5495
  frontmatter: FRONTMATTER11,
5254
5496
  content: CONTENT11
5255
5497
  },
5256
- notion: {
5498
+ "azure-devops": {
5257
5499
  frontmatter: FRONTMATTER12,
5258
5500
  content: CONTENT12
5259
5501
  },
5260
- slack: {
5502
+ notion: {
5261
5503
  frontmatter: FRONTMATTER13,
5262
5504
  content: CONTENT13
5505
+ },
5506
+ slack: {
5507
+ frontmatter: FRONTMATTER14,
5508
+ content: CONTENT14
5263
5509
  }
5264
5510
  },
5265
5511
  "changelog-historian": {
5266
5512
  github: {
5267
- frontmatter: FRONTMATTER14,
5268
- content: CONTENT14
5513
+ frontmatter: FRONTMATTER15,
5514
+ content: CONTENT15
5269
5515
  }
5270
5516
  }
5271
5517
  };
@@ -5305,6 +5551,14 @@ var INTEGRATIONS = {
5305
5551
  requiredMCP: "mcp__jira-server__*",
5306
5552
  integrationType: "custom"
5307
5553
  },
5554
+ "azure-devops": {
5555
+ id: "azure-devops",
5556
+ name: "Azure DevOps",
5557
+ provider: "azure-devops",
5558
+ requiredMCP: "mcp__azure-devops__*",
5559
+ integrationType: "oauth"
5560
+ // Uses Nango with API key auth for PAT
5561
+ },
5308
5562
  notion: {
5309
5563
  id: "notion",
5310
5564
  name: "Notion",
@@ -5401,6 +5655,7 @@ var SUBAGENTS = {
5401
5655
  // INTEGRATIONS.linear,
5402
5656
  // INTEGRATIONS.jira,
5403
5657
  INTEGRATIONS["jira-server"],
5658
+ INTEGRATIONS["azure-devops"],
5404
5659
  INTEGRATIONS.notion,
5405
5660
  INTEGRATIONS.slack
5406
5661
  ],