@bugzy-ai/bugzy 1.19.0 → 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.
Files changed (58) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +273 -273
  3. package/dist/cli/index.cjs +152 -13
  4. package/dist/cli/index.cjs.map +1 -1
  5. package/dist/cli/index.js +151 -12
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/index.cjs +148 -10
  8. package/dist/index.cjs.map +1 -1
  9. package/dist/index.js +148 -10
  10. package/dist/index.js.map +1 -1
  11. package/dist/subagents/index.cjs +145 -10
  12. package/dist/subagents/index.cjs.map +1 -1
  13. package/dist/subagents/index.js +145 -10
  14. package/dist/subagents/index.js.map +1 -1
  15. package/dist/subagents/metadata.cjs +8 -0
  16. package/dist/subagents/metadata.cjs.map +1 -1
  17. package/dist/subagents/metadata.js +8 -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/hooks/pre-compact.sh +53 -53
  23. package/templates/init/.bugzy/runtime/hooks/session-start.sh +68 -68
  24. package/templates/init/.bugzy/runtime/knowledge-base.md +61 -61
  25. package/templates/init/.bugzy/runtime/knowledge-maintenance-guide.md +140 -140
  26. package/templates/init/.bugzy/runtime/project-context.md +35 -35
  27. package/templates/init/.bugzy/runtime/subagent-memory-guide.md +122 -122
  28. package/templates/init/.bugzy/runtime/templates/event-examples.md +194 -194
  29. package/templates/init/.bugzy/runtime/templates/test-plan-template.md +50 -50
  30. package/templates/init/.bugzy/runtime/templates/test-result-schema.md +498 -498
  31. package/templates/init/.claude/settings.json +49 -49
  32. package/templates/init/.env.testdata +18 -18
  33. package/templates/init/.gitignore-template +24 -24
  34. package/templates/init/AGENTS.md +155 -155
  35. package/templates/init/CLAUDE.md +157 -157
  36. package/templates/init/test-runs/README.md +45 -45
  37. package/templates/init/tests/CLAUDE.md +199 -199
  38. package/templates/init/tests/docs/test-execution-strategy.md +535 -535
  39. package/templates/init/tests/docs/testing-best-practices.md +724 -724
  40. package/templates/playwright/BasePage.template.ts +190 -190
  41. package/templates/playwright/auth.setup.template.ts +89 -89
  42. package/templates/playwright/dataGenerators.helper.template.ts +148 -148
  43. package/templates/playwright/dateUtils.helper.template.ts +96 -96
  44. package/templates/playwright/pages.fixture.template.ts +50 -50
  45. package/templates/playwright/playwright.config.template.ts +97 -97
  46. package/templates/playwright/reporters/__tests__/bugzy-reporter-failure-classification.test.ts +299 -299
  47. package/templates/playwright/reporters/__tests__/bugzy-reporter-manifest-merge.test.ts +329 -329
  48. package/templates/playwright/reporters/__tests__/playwright.config.ts +5 -5
  49. package/templates/playwright/reporters/bugzy-reporter.ts +784 -784
  50. package/dist/templates/init/.bugzy/runtime/knowledge-base.md +0 -61
  51. package/dist/templates/init/.bugzy/runtime/knowledge-maintenance-guide.md +0 -97
  52. package/dist/templates/init/.bugzy/runtime/project-context.md +0 -35
  53. package/dist/templates/init/.bugzy/runtime/subagent-memory-guide.md +0 -87
  54. package/dist/templates/init/.bugzy/runtime/templates/test-plan-template.md +0 -50
  55. package/dist/templates/init/.bugzy/runtime/templates/test-result-schema.md +0 -498
  56. package/dist/templates/init/.bugzy/runtime/test-execution-strategy.md +0 -535
  57. package/dist/templates/init/.bugzy/runtime/testing-best-practices.md +0 -632
  58. 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',
@@ -4367,8 +4370,131 @@ Your memory file becomes more valuable over time:
4367
4370
 
4368
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.`;
4369
4372
 
4370
- // src/subagents/templates/issue-tracker/notion.ts
4373
+ // src/subagents/templates/issue-tracker/asana.ts
4371
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 = {
4372
4498
  name: "issue-tracker",
4373
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.
4374
4500
  user: "The submit button on the checkout page doesn't work on mobile Safari"
@@ -4380,7 +4506,7 @@ assistant: "Let me use the issue-tracker agent to update the story status to 'QA
4380
4506
  model: "haiku",
4381
4507
  color: "red"
4382
4508
  };
4383
- 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.
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.
4384
4510
 
4385
4511
  **Core Responsibilities:**
4386
4512
 
@@ -4527,7 +4653,7 @@ Your memory file grows more valuable over time:
4527
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.`;
4528
4654
 
4529
4655
  // src/subagents/templates/issue-tracker/slack.ts
4530
- var FRONTMATTER14 = {
4656
+ var FRONTMATTER15 = {
4531
4657
  name: "issue-tracker",
4532
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.
4533
4659
  user: "3 critical tests failed in the payment flow - looks like the Stripe integration is broken"
@@ -4539,7 +4665,7 @@ assistant: "Let me use the issue-tracker agent to update the story thread with Q
4539
4665
  model: "sonnet",
4540
4666
  color: "red"
4541
4667
  };
4542
- 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.
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.
4543
4669
 
4544
4670
  **Core Responsibilities:**
4545
4671
 
@@ -4761,7 +4887,7 @@ Maintain organized issue tracking:
4761
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.`;
4762
4888
 
4763
4889
  // src/subagents/templates/changelog-historian/github.ts
4764
- var FRONTMATTER15 = {
4890
+ var FRONTMATTER16 = {
4765
4891
  name: "changelog-historian",
4766
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.
4767
4893
  user: "The checkout flow test is failing in staging. What changed recently?"
@@ -4773,7 +4899,7 @@ assistant: "I'll use the changelog-historian agent to compare the two releases a
4773
4899
  model: "haiku",
4774
4900
  color: "gray"
4775
4901
  };
4776
- 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.
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.
4777
4903
 
4778
4904
  ## Core Responsibilities
4779
4905
 
@@ -4945,19 +5071,23 @@ var TEMPLATES = {
4945
5071
  frontmatter: FRONTMATTER12,
4946
5072
  content: CONTENT12
4947
5073
  },
4948
- notion: {
5074
+ asana: {
4949
5075
  frontmatter: FRONTMATTER13,
4950
5076
  content: CONTENT13
4951
5077
  },
4952
- slack: {
5078
+ notion: {
4953
5079
  frontmatter: FRONTMATTER14,
4954
5080
  content: CONTENT14
5081
+ },
5082
+ slack: {
5083
+ frontmatter: FRONTMATTER15,
5084
+ content: CONTENT15
4955
5085
  }
4956
5086
  },
4957
5087
  "changelog-historian": {
4958
5088
  github: {
4959
- frontmatter: FRONTMATTER15,
4960
- content: CONTENT15
5089
+ frontmatter: FRONTMATTER16,
5090
+ content: CONTENT16
4961
5091
  }
4962
5092
  }
4963
5093
  };
@@ -5005,6 +5135,13 @@ var INTEGRATIONS = {
5005
5135
  integrationType: "oauth"
5006
5136
  // Uses Nango with API key auth for PAT
5007
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
+ },
5008
5145
  notion: {
5009
5146
  id: "notion",
5010
5147
  name: "Notion",
@@ -5109,6 +5246,7 @@ var SUBAGENTS = {
5109
5246
  INTEGRATIONS.jira,
5110
5247
  INTEGRATIONS["jira-server"],
5111
5248
  INTEGRATIONS["azure-devops"],
5249
+ INTEGRATIONS.asana,
5112
5250
  INTEGRATIONS.notion,
5113
5251
  INTEGRATIONS.slack
5114
5252
  ],