@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
@@ -31,12 +31,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
31
31
  ));
32
32
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
33
33
 
34
- // node_modules/.pnpm/tsup@8.5.0_postcss@8.5.6_typescript@5.9.3/node_modules/tsup/assets/cjs_shims.js
34
+ // node_modules/.pnpm/tsup@8.5.1_postcss@8.5.6_typescript@5.9.3/node_modules/tsup/assets/cjs_shims.js
35
35
  var getImportMetaUrl, importMetaUrl;
36
36
  var init_cjs_shims = __esm({
37
- "node_modules/.pnpm/tsup@8.5.0_postcss@8.5.6_typescript@5.9.3/node_modules/tsup/assets/cjs_shims.js"() {
37
+ "node_modules/.pnpm/tsup@8.5.1_postcss@8.5.6_typescript@5.9.3/node_modules/tsup/assets/cjs_shims.js"() {
38
38
  "use strict";
39
- getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
39
+ getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.tagName.toUpperCase() === "SCRIPT" ? document.currentScript.src : new URL("main.js", document.baseURI).href;
40
40
  importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
41
41
  }
42
42
  });
@@ -2462,6 +2462,13 @@ var INTEGRATIONS = {
2462
2462
  integrationType: "oauth"
2463
2463
  // Uses Nango with API key auth for PAT
2464
2464
  },
2465
+ asana: {
2466
+ id: "asana",
2467
+ name: "Asana",
2468
+ provider: "asana",
2469
+ // No requiredMCP — uses asana-mcp-server CLI (CLI tool), not MCP server
2470
+ integrationType: "oauth"
2471
+ },
2465
2472
  notion: {
2466
2473
  id: "notion",
2467
2474
  name: "Notion",
@@ -2566,6 +2573,7 @@ var SUBAGENTS = {
2566
2573
  INTEGRATIONS.jira,
2567
2574
  INTEGRATIONS["jira-server"],
2568
2575
  INTEGRATIONS["azure-devops"],
2576
+ INTEGRATIONS.asana,
2569
2577
  INTEGRATIONS.notion,
2570
2578
  INTEGRATIONS.slack
2571
2579
  ],
@@ -4892,9 +4900,133 @@ Your memory file becomes more valuable over time:
4892
4900
 
4893
4901
  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.`;
4894
4902
 
4895
- // src/subagents/templates/issue-tracker/notion.ts
4903
+ // src/subagents/templates/issue-tracker/asana.ts
4896
4904
  init_cjs_shims();
4897
4905
  var FRONTMATTER13 = {
4906
+ name: "issue-tracker",
4907
+ 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.
4908
+ user: "3 tests failed in the checkout flow - payment validation is broken"
4909
+ assistant: "I'll use the issue-tracker agent to create Asana tasks for these failures with detailed reproduction steps and test evidence."
4910
+ <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.
4911
+ user: "Task 1234567890 has been verified on staging"
4912
+ assistant: "Let me use the issue-tracker agent to mark the task as complete and add verification comments."
4913
+ <commentary>Use the issue-tracker agent to update task status and document QA validation results.</commentary></example>`,
4914
+ model: "sonnet",
4915
+ color: "red"
4916
+ };
4917
+ 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.
4918
+
4919
+ **Important: CLI-First Approach**
4920
+
4921
+ Always prefer CLI commands via Bash over MCP tool calls. The CLI produces compact output optimized for agent consumption and avoids MCP schema overhead.
4922
+
4923
+ **Primary Interface \u2014 CLI Commands (via Bash):**
4924
+
4925
+ - **Search tasks**: \`asana-cli task search --query "login bug" [--project GID] [--assignee GID]\`
4926
+ - **Get task details**: \`asana-cli task get <gid>\`
4927
+ - **Create task**: \`asana-cli task create --name "Bug: ..." --project GID [--description "..."] [--assignee GID] [--due YYYY-MM-DD]\`
4928
+ - **Update task**: \`asana-cli task update <gid> [--name "..."] [--completed] [--assignee GID] [--due YYYY-MM-DD]\`
4929
+ - **Add comment**: \`asana-cli task comment <gid> --body "Test evidence: ..."\`
4930
+ - **List projects**: \`asana-cli project list\`
4931
+ - **All commands**: Add \`--json\` for structured JSON output when parsing is needed
4932
+
4933
+ **Core Responsibilities:**
4934
+
4935
+ 1. **Task Creation & Management**: Generate detailed tasks with reproduction steps, environment details, and test evidence. Include severity assessment and proper project/section assignment.
4936
+
4937
+ 2. **Duplicate Detection**: Before creating new tasks, always search for existing similar tasks to avoid duplicates and link related work.
4938
+
4939
+ 3. **Lifecycle Management**: Track task status, mark tasks complete when verified, add comments with test findings and status updates.
4940
+
4941
+ 4. ${MEMORY_READ_INSTRUCTIONS.replace(/{ROLE}/g, "issue-tracker")}
4942
+
4943
+ **Memory Sections for Issue Tracker (Asana)**:
4944
+ - Asana workspace GID, project GIDs, and section mappings
4945
+ - Recently reported tasks with their GIDs and status
4946
+ - Search queries that work well for finding duplicates
4947
+ - Task naming conventions and description templates
4948
+ - Project-specific workflows and assignee mappings
4949
+
4950
+ **Operational Workflow:**
4951
+
4952
+ 1. **Initial Check**: Always begin by reading \`.bugzy/runtime/memory/issue-tracker.md\` to load your Asana configuration and recent task history
4953
+
4954
+ 2. **Duplicate Detection**:
4955
+ - Check memory for recently reported similar tasks
4956
+ - Use \`asana-cli task search --query "error keywords"\` to search
4957
+ - Look for matching names, descriptions, or error messages
4958
+ - If duplicate found, add a comment to the existing task instead
4959
+
4960
+ 3. **Task Creation**:
4961
+ - Use the project GID from memory
4962
+ - Include comprehensive details: reproduction steps, expected vs actual behavior, environment
4963
+ - Set appropriate assignee and due date when known
4964
+ - Add test evidence and screenshots references in the description
4965
+
4966
+ 4. ${MEMORY_UPDATE_INSTRUCTIONS.replace(/{ROLE}/g, "issue-tracker")}
4967
+
4968
+ Specifically for issue-tracker (Asana), consider updating:
4969
+ - **Created Tasks**: Add newly created tasks with their GIDs
4970
+ - **Project Mappings**: Track which projects map to which areas
4971
+ - **Search Patterns**: Save effective search queries
4972
+ - **Assignee Mappings**: Track who handles what areas
4973
+ - Update pattern library with new issue types
4974
+
4975
+ **Memory File Structure** (\`.bugzy/runtime/memory/issue-tracker.md\`):
4976
+ \`\`\`markdown
4977
+ # Issue Tracker Memory
4978
+
4979
+ ## Last Updated: [timestamp]
4980
+
4981
+ ## Asana Configuration
4982
+ - Workspace GID: 12345
4983
+ - Default Project GID: 67890
4984
+ - Project: My Project
4985
+
4986
+ ## Project Mappings
4987
+ - Auth issues \u2192 Project "Auth" (GID: 11111)
4988
+ - Payment issues \u2192 Project "Payments" (GID: 22222)
4989
+ - UI issues \u2192 Project "Frontend" (GID: 33333)
4990
+
4991
+ ## Assignee Mappings
4992
+ - Auth bugs \u2192 user GID 44444
4993
+ - Payment bugs \u2192 user GID 55555
4994
+
4995
+ ## Recent Tasks (Last 30 days)
4996
+ - [Date] GID 98765: Login timeout on Chrome - Status: Open
4997
+ - [Date] GID 98766: Payment validation error - Status: Completed
4998
+
4999
+ ## Effective Search Queries
5000
+ - Login issues: --query "login" --project 11111
5001
+ - Payment bugs: --query "payment" --project 22222
5002
+ - Recent failures: --query "fail" (no project filter)
5003
+
5004
+ ## Issue Patterns
5005
+ - Timeout errors: Usually infrastructure-related
5006
+ - Validation failures: Often missing edge case handling
5007
+ - Browser-specific: Test across Chrome, Firefox, Safari
5008
+ \`\`\`
5009
+
5010
+ **Task Creation Standards:**
5011
+
5012
+ - Always search before creating to prevent duplicates
5013
+ - Task names: \`Bug: [Component] Short description\` or \`[Type]: Short description\`
5014
+ - Description includes: reproduction steps, expected behavior, actual behavior, environment details, test evidence
5015
+ - Set assignee when the responsible team member is known
5016
+ - Set due date for urgent/critical bugs
5017
+
5018
+ **Quality Assurance:**
5019
+
5020
+ - Verify project GIDs are current
5021
+ - Update task status after verification
5022
+ - Maintain accurate recent task list in memory
5023
+ - Prune old patterns that no longer apply
5024
+
5025
+ 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.`;
5026
+
5027
+ // src/subagents/templates/issue-tracker/notion.ts
5028
+ init_cjs_shims();
5029
+ var FRONTMATTER14 = {
4898
5030
  name: "issue-tracker",
4899
5031
  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.
4900
5032
  user: "The submit button on the checkout page doesn't work on mobile Safari"
@@ -4906,7 +5038,7 @@ assistant: "Let me use the issue-tracker agent to update the story status to 'QA
4906
5038
  model: "haiku",
4907
5039
  color: "red"
4908
5040
  };
4909
- 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.
5041
+ 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.
4910
5042
 
4911
5043
  **Core Responsibilities:**
4912
5044
 
@@ -5054,7 +5186,7 @@ You are meticulous about maintaining your memory file as a critical resource tha
5054
5186
 
5055
5187
  // src/subagents/templates/issue-tracker/slack.ts
5056
5188
  init_cjs_shims();
5057
- var FRONTMATTER14 = {
5189
+ var FRONTMATTER15 = {
5058
5190
  name: "issue-tracker",
5059
5191
  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.
5060
5192
  user: "3 critical tests failed in the payment flow - looks like the Stripe integration is broken"
@@ -5066,7 +5198,7 @@ assistant: "Let me use the issue-tracker agent to update the story thread with Q
5066
5198
  model: "sonnet",
5067
5199
  color: "red"
5068
5200
  };
5069
- 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.
5201
+ 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.
5070
5202
 
5071
5203
  **Core Responsibilities:**
5072
5204
 
@@ -5289,7 +5421,7 @@ You are focused on creating clear, organized issue threads that leverage Slack's
5289
5421
 
5290
5422
  // src/subagents/templates/changelog-historian/github.ts
5291
5423
  init_cjs_shims();
5292
- var FRONTMATTER15 = {
5424
+ var FRONTMATTER16 = {
5293
5425
  name: "changelog-historian",
5294
5426
  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.
5295
5427
  user: "The checkout flow test is failing in staging. What changed recently?"
@@ -5301,7 +5433,7 @@ assistant: "I'll use the changelog-historian agent to compare the two releases a
5301
5433
  model: "haiku",
5302
5434
  color: "gray"
5303
5435
  };
5304
- 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.
5436
+ 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.
5305
5437
 
5306
5438
  ## Core Responsibilities
5307
5439
 
@@ -5473,19 +5605,23 @@ var TEMPLATES = {
5473
5605
  frontmatter: FRONTMATTER12,
5474
5606
  content: CONTENT12
5475
5607
  },
5476
- notion: {
5608
+ asana: {
5477
5609
  frontmatter: FRONTMATTER13,
5478
5610
  content: CONTENT13
5479
5611
  },
5480
- slack: {
5612
+ notion: {
5481
5613
  frontmatter: FRONTMATTER14,
5482
5614
  content: CONTENT14
5615
+ },
5616
+ slack: {
5617
+ frontmatter: FRONTMATTER15,
5618
+ content: CONTENT15
5483
5619
  }
5484
5620
  },
5485
5621
  "changelog-historian": {
5486
5622
  github: {
5487
- frontmatter: FRONTMATTER15,
5488
- content: CONTENT15
5623
+ frontmatter: FRONTMATTER16,
5624
+ content: CONTENT16
5489
5625
  }
5490
5626
  }
5491
5627
  };
@@ -7612,6 +7748,9 @@ var MCP_SERVERS = {
7612
7748
  }
7613
7749
  }
7614
7750
  },
7751
+ // asana: CLI-only integration — no MCP server needed.
7752
+ // Agent uses `asana-cli task search|create|update|comment` via Bash.
7753
+ // Package is installed globally in the container for CLI access.
7615
7754
  // github-modelcontextprotocol: {
7616
7755
  // provider: 'github',
7617
7756
  // name: 'GitHub',