@bugzy-ai/bugzy 1.18.0 → 1.18.2

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 (59) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +273 -273
  3. package/dist/cli/index.cjs +227 -5
  4. package/dist/cli/index.cjs.map +1 -1
  5. package/dist/cli/index.js +226 -4
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/index.cjs +214 -2
  8. package/dist/index.cjs.map +1 -1
  9. package/dist/index.js +214 -2
  10. package/dist/index.js.map +1 -1
  11. package/dist/subagents/index.cjs.map +1 -1
  12. package/dist/subagents/index.js.map +1 -1
  13. package/dist/subagents/metadata.cjs.map +1 -1
  14. package/dist/subagents/metadata.js.map +1 -1
  15. package/dist/tasks/index.cjs +130 -2
  16. package/dist/tasks/index.cjs.map +1 -1
  17. package/dist/tasks/index.d.cts +1 -0
  18. package/dist/tasks/index.d.ts +1 -0
  19. package/dist/tasks/index.js +130 -2
  20. package/dist/tasks/index.js.map +1 -1
  21. package/package.json +95 -95
  22. package/templates/init/.bugzy/runtime/handlers/messages/feedback.md +178 -178
  23. package/templates/init/.bugzy/runtime/handlers/messages/question.md +122 -122
  24. package/templates/init/.bugzy/runtime/handlers/messages/status.md +146 -146
  25. package/templates/init/.bugzy/runtime/knowledge-base.md +61 -61
  26. package/templates/init/.bugzy/runtime/knowledge-maintenance-guide.md +97 -97
  27. package/templates/init/.bugzy/runtime/project-context.md +35 -35
  28. package/templates/init/.bugzy/runtime/subagent-memory-guide.md +87 -87
  29. package/templates/init/.bugzy/runtime/templates/event-examples.md +194 -194
  30. package/templates/init/.bugzy/runtime/templates/test-plan-template.md +50 -50
  31. package/templates/init/.bugzy/runtime/templates/test-result-schema.md +498 -498
  32. package/templates/init/.claude/settings.json +28 -28
  33. package/templates/init/.env.testdata +18 -18
  34. package/templates/init/.gitignore-template +24 -24
  35. package/templates/init/AGENTS.md +155 -155
  36. package/templates/init/CLAUDE.md +157 -157
  37. package/templates/init/test-runs/README.md +45 -45
  38. package/templates/init/tests/CLAUDE.md +193 -193
  39. package/templates/init/tests/docs/test-execution-strategy.md +535 -535
  40. package/templates/init/tests/docs/testing-best-practices.md +724 -724
  41. package/templates/playwright/BasePage.template.ts +190 -190
  42. package/templates/playwright/auth.setup.template.ts +89 -89
  43. package/templates/playwright/dataGenerators.helper.template.ts +148 -148
  44. package/templates/playwright/dateUtils.helper.template.ts +96 -96
  45. package/templates/playwright/pages.fixture.template.ts +50 -50
  46. package/templates/playwright/playwright.config.template.ts +97 -97
  47. package/templates/playwright/reporters/__tests__/bugzy-reporter-failure-classification.test.ts +299 -299
  48. package/templates/playwright/reporters/__tests__/bugzy-reporter-manifest-merge.test.ts +329 -329
  49. package/templates/playwright/reporters/__tests__/playwright.config.ts +5 -5
  50. package/templates/playwright/reporters/bugzy-reporter.ts +784 -784
  51. package/dist/templates/init/.bugzy/runtime/knowledge-base.md +0 -61
  52. package/dist/templates/init/.bugzy/runtime/knowledge-maintenance-guide.md +0 -97
  53. package/dist/templates/init/.bugzy/runtime/project-context.md +0 -35
  54. package/dist/templates/init/.bugzy/runtime/subagent-memory-guide.md +0 -87
  55. package/dist/templates/init/.bugzy/runtime/templates/test-plan-template.md +0 -50
  56. package/dist/templates/init/.bugzy/runtime/templates/test-result-schema.md +0 -498
  57. package/dist/templates/init/.bugzy/runtime/test-execution-strategy.md +0 -535
  58. package/dist/templates/init/.bugzy/runtime/testing-best-practices.md +0 -632
  59. package/dist/templates/init/.gitignore-template +0 -25
package/package.json CHANGED
@@ -1,95 +1,95 @@
1
- {
2
- "name": "@bugzy-ai/bugzy",
3
- "version": "1.18.0",
4
- "description": "Open-source AI agent configuration for QA automation with Claude Code",
5
- "publishConfig": {
6
- "access": "public"
7
- },
8
- "keywords": [
9
- "ai",
10
- "testing",
11
- "qa",
12
- "automation",
13
- "claude",
14
- "mcp",
15
- "agent",
16
- "test-automation",
17
- "claude-code"
18
- ],
19
- "homepage": "https://github.com/bugzy-ai/bugzy#readme",
20
- "bugs": {
21
- "url": "https://github.com/bugzy-ai/bugzy/issues"
22
- },
23
- "repository": {
24
- "type": "git",
25
- "url": "git+https://github.com/bugzy-ai/bugzy.git"
26
- },
27
- "license": "MIT",
28
- "author": "Bugzy Team",
29
- "type": "module",
30
- "exports": {
31
- ".": {
32
- "types": "./dist/index.d.ts",
33
- "import": "./dist/index.js",
34
- "require": "./dist/index.cjs"
35
- },
36
- "./tasks": {
37
- "types": "./dist/tasks/index.d.ts",
38
- "import": "./dist/tasks/index.js"
39
- },
40
- "./subagents": {
41
- "types": "./dist/subagents/index.d.ts",
42
- "import": "./dist/subagents/index.js"
43
- },
44
- "./subagents/metadata": {
45
- "types": "./dist/subagents/metadata.d.ts",
46
- "import": "./dist/subagents/metadata.js"
47
- }
48
- },
49
- "main": "./dist/index.cjs",
50
- "module": "./dist/index.js",
51
- "types": "./dist/index.d.ts",
52
- "bin": {
53
- "bugzy": "./dist/cli/index.js"
54
- },
55
- "files": [
56
- "dist",
57
- "templates",
58
- "README.md",
59
- "LICENSE"
60
- ],
61
- "scripts": {
62
- "build": "tsup",
63
- "dev": "tsup --watch",
64
- "test": "vitest run",
65
- "test:ci": "vitest run",
66
- "type-check": "tsc --noEmit",
67
- "lint": "eslint src",
68
- "prepublishOnly": "pnpm run build && pnpm run test:ci"
69
- },
70
- "dependencies": {
71
- "chalk": "^5.3.0",
72
- "commander": "^11.1.0",
73
- "dotenv": "^16.3.1",
74
- "figlet": "^1.9.3",
75
- "gradient-string": "^3.0.0",
76
- "gray-matter": "^4.0.3",
77
- "inquirer": "^9.2.12",
78
- "ora": "^7.0.1"
79
- },
80
- "devDependencies": {
81
- "@types/figlet": "^1.7.0",
82
- "@types/gradient-string": "^1.1.6",
83
- "@types/inquirer": "^9.0.7",
84
- "@types/node": "^20.10.5",
85
- "@typescript-eslint/eslint-plugin": "^6.15.0",
86
- "@typescript-eslint/parser": "^6.15.0",
87
- "eslint": "^8.56.0",
88
- "tsup": "^8.0.1",
89
- "typescript": "^5.3.3",
90
- "vitest": "^1.1.0"
91
- },
92
- "engines": {
93
- "node": ">=18.0.0"
94
- }
95
- }
1
+ {
2
+ "name": "@bugzy-ai/bugzy",
3
+ "version": "1.18.2",
4
+ "description": "Open-source AI agent configuration for QA automation with Claude Code",
5
+ "publishConfig": {
6
+ "access": "public"
7
+ },
8
+ "keywords": [
9
+ "ai",
10
+ "testing",
11
+ "qa",
12
+ "automation",
13
+ "claude",
14
+ "mcp",
15
+ "agent",
16
+ "test-automation",
17
+ "claude-code"
18
+ ],
19
+ "homepage": "https://github.com/bugzy-ai/bugzy#readme",
20
+ "bugs": {
21
+ "url": "https://github.com/bugzy-ai/bugzy/issues"
22
+ },
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://github.com/bugzy-ai/bugzy.git"
26
+ },
27
+ "license": "MIT",
28
+ "author": "Bugzy Team",
29
+ "type": "module",
30
+ "exports": {
31
+ ".": {
32
+ "types": "./dist/index.d.ts",
33
+ "import": "./dist/index.js",
34
+ "require": "./dist/index.cjs"
35
+ },
36
+ "./tasks": {
37
+ "types": "./dist/tasks/index.d.ts",
38
+ "import": "./dist/tasks/index.js"
39
+ },
40
+ "./subagents": {
41
+ "types": "./dist/subagents/index.d.ts",
42
+ "import": "./dist/subagents/index.js"
43
+ },
44
+ "./subagents/metadata": {
45
+ "types": "./dist/subagents/metadata.d.ts",
46
+ "import": "./dist/subagents/metadata.js"
47
+ }
48
+ },
49
+ "main": "./dist/index.cjs",
50
+ "module": "./dist/index.js",
51
+ "types": "./dist/index.d.ts",
52
+ "bin": {
53
+ "bugzy": "./dist/cli/index.js"
54
+ },
55
+ "files": [
56
+ "dist",
57
+ "templates",
58
+ "README.md",
59
+ "LICENSE"
60
+ ],
61
+ "scripts": {
62
+ "build": "tsup",
63
+ "dev": "tsup --watch",
64
+ "test": "vitest run",
65
+ "test:ci": "vitest run",
66
+ "type-check": "tsc --noEmit",
67
+ "lint": "eslint src",
68
+ "prepublishOnly": "pnpm run build && pnpm run test:ci"
69
+ },
70
+ "dependencies": {
71
+ "chalk": "^5.3.0",
72
+ "commander": "^11.1.0",
73
+ "dotenv": "^16.3.1",
74
+ "figlet": "^1.9.3",
75
+ "gradient-string": "^3.0.0",
76
+ "gray-matter": "^4.0.3",
77
+ "inquirer": "^9.2.12",
78
+ "ora": "^7.0.1"
79
+ },
80
+ "devDependencies": {
81
+ "@types/figlet": "^1.7.0",
82
+ "@types/gradient-string": "^1.1.6",
83
+ "@types/inquirer": "^9.0.7",
84
+ "@types/node": "^20.10.5",
85
+ "@typescript-eslint/eslint-plugin": "^6.15.0",
86
+ "@typescript-eslint/parser": "^6.15.0",
87
+ "eslint": "^8.56.0",
88
+ "tsup": "^8.0.1",
89
+ "typescript": "^5.3.3",
90
+ "vitest": "^1.1.0"
91
+ },
92
+ "engines": {
93
+ "node": ">=18.0.0"
94
+ }
95
+ }
@@ -1,178 +1,178 @@
1
- # Feedback Message Handler
2
-
3
- Instructions for processing bug reports, test observations, and user feedback.
4
-
5
- ## Detection Criteria
6
-
7
- This handler applies when:
8
- - User reports an issue, bug, or unexpected behavior
9
- - User shares test results or observations
10
- - User provides information (not asking a question or requesting action)
11
- - Keywords present: "found", "issue", "bug", "doesn't work", "broken", "observed", "noticed", "failed", "error"
12
- - Intent field from LLM layer is `feedback`
13
- - Re-routed from clarification handler (thread reply with no blocked task)
14
-
15
- ## Processing Steps
16
-
17
- ### Step 1: Parse Feedback
18
-
19
- Extract the following from the message:
20
-
21
- | Field | Description | Examples |
22
- |-------|-------------|----------|
23
- | **Type** | Category of feedback | `bug_report`, `test_result`, `observation`, `suggestion`, `general` |
24
- | **Severity** | Impact level | `critical`, `high`, `medium`, `low` |
25
- | **Component** | Affected area | "login", "checkout", "search", etc. |
26
- | **Description** | Core issue description | What happened |
27
- | **Expected** | What should happen (if stated) | Expected behavior |
28
- | **Steps** | How to reproduce (if provided) | Reproduction steps |
29
-
30
- **Type Detection**:
31
- - `bug_report`: "bug", "broken", "doesn't work", "error", "crash"
32
- - `test_result`: "test passed", "test failed", "ran tests", "testing showed"
33
- - `observation`: "noticed", "observed", "found that", "saw that"
34
- - `suggestion`: "should", "could we", "what if", "idea"
35
- - `general`: Default for unclassified feedback
36
-
37
- ### Step 2: Check for Duplicates
38
-
39
- Search the knowledge base for similar entries:
40
-
41
- 1. Read `.bugzy/runtime/knowledge-base.md`
42
- 2. Search for:
43
- - Same component + similar symptoms
44
- - Matching keywords from the description
45
- - Recent entries (last 30 days) with similar patterns
46
- 3. If duplicate found:
47
- - Reference the existing entry
48
- - Note any new information provided
49
- - Update existing entry if new details are valuable
50
-
51
- ### Step 3: Update Knowledge Base
52
-
53
- Add or update entry in `.bugzy/runtime/knowledge-base.md`:
54
-
55
- **For Bug Reports**:
56
- ```markdown
57
- ### Bug Report: [Brief Description]
58
- **Reported**: [ISO date]
59
- **Source**: Slack - [username if available]
60
- **Component**: [component]
61
- **Severity**: [severity]
62
- **Status**: Under investigation
63
-
64
- **Description**: [full description]
65
-
66
- **Expected Behavior**: [if provided]
67
-
68
- **Steps to Reproduce**: [if provided]
69
- 1. Step one
70
- 2. Step two
71
-
72
- **Related**: [links to related issues/test cases if any]
73
- ```
74
-
75
- **For Observations**:
76
- ```markdown
77
- ### Observation: [Brief Description]
78
- **Reported**: [ISO date]
79
- **Source**: Slack - [username if available]
80
- **Component**: [component]
81
- **Context**: [what was being done when observed]
82
-
83
- **Details**: [full observation]
84
-
85
- **Impact**: [potential impact on testing]
86
- ```
87
-
88
- **For Test Results**:
89
- ```markdown
90
- ### Manual Test Result: [Test/Feature Name]
91
- **Reported**: [ISO date]
92
- **Source**: Slack - [username if available]
93
- **Result**: [passed/failed]
94
- **Component**: [component]
95
-
96
- **Details**: [what was tested, outcome]
97
-
98
- **Notes**: [any additional observations]
99
- ```
100
-
101
- ### Step 4: Determine Follow-up Actions
102
-
103
- Based on feedback type, consider additional actions:
104
-
105
- | Type | Potential Actions |
106
- |------|-------------------|
107
- | **bug_report (critical/high)** | Consider creating issue via issue-tracker if configured |
108
- | **bug_report (medium/low)** | Log in knowledge base, may inform future test cases |
109
- | **test_result** | Update relevant test case status if identifiable |
110
- | **observation** | May inform test plan updates |
111
- | **suggestion** | Log for future consideration |
112
-
113
- **Issue Tracker Integration** (if configured):
114
- - For critical/high severity bugs, check if issue-tracker agent is available
115
- - If so, create or link to an issue in the configured system
116
- - Reference the issue in the knowledge base entry
117
-
118
- ### Step 5: Acknowledge and Confirm
119
-
120
- Respond to the user confirming:
121
- 1. Feedback was received and understood
122
- 2. Summary of what was captured
123
- 3. What actions will be taken
124
- 4. Any follow-up questions if needed
125
-
126
- ## Response Guidelines
127
-
128
- **Structure**:
129
- ```
130
- Thanks for reporting this. Here's what I've captured:
131
-
132
- [Summary of the feedback]
133
-
134
- I've logged this in the knowledge base under [category].
135
- [Any follow-up actions being taken]
136
-
137
- [Optional: Follow-up questions if clarification needed]
138
- ```
139
-
140
- **Examples**:
141
-
142
- For bug report:
143
- ```
144
- Thanks for reporting this. I've logged the following:
145
-
146
- Bug: Checkout fails when cart has more than 10 items
147
- - Severity: High
148
- - Component: Checkout
149
- - Status: Under investigation
150
-
151
- I've added this to the knowledge base. This may affect our checkout test coverage - I'll review TC-045 through TC-048 for related scenarios.
152
-
153
- Can you confirm which browser this occurred in?
154
- ```
155
-
156
- For observation:
157
- ```
158
- Good catch - I've noted this observation:
159
-
160
- The loading spinner on the dashboard takes longer than expected after the recent update.
161
-
162
- I've added this to the knowledge base under performance observations. This might be worth adding to our performance test suite.
163
- ```
164
-
165
- ## Context Loading Requirements
166
-
167
- Required:
168
- - [x] Knowledge base (`.bugzy/runtime/knowledge-base.md`) - for duplicate check and updates
169
-
170
- Conditional:
171
- - [ ] Test cases (`./test-cases/`) - if feedback relates to specific test
172
- - [ ] Test runs (`./test-runs/`) - if feedback relates to recent results
173
-
174
- ## Memory Updates
175
-
176
- Required updates:
177
- - Knowledge base (`.bugzy/runtime/knowledge-base.md`) - add new entry or update existing
178
- - Optionally team communicator memory if tracking feedback sources
1
+ # Feedback Message Handler
2
+
3
+ Instructions for processing bug reports, test observations, and user feedback.
4
+
5
+ ## Detection Criteria
6
+
7
+ This handler applies when:
8
+ - User reports an issue, bug, or unexpected behavior
9
+ - User shares test results or observations
10
+ - User provides information (not asking a question or requesting action)
11
+ - Keywords present: "found", "issue", "bug", "doesn't work", "broken", "observed", "noticed", "failed", "error"
12
+ - Intent field from LLM layer is `feedback`
13
+ - Re-routed from clarification handler (thread reply with no blocked task)
14
+
15
+ ## Processing Steps
16
+
17
+ ### Step 1: Parse Feedback
18
+
19
+ Extract the following from the message:
20
+
21
+ | Field | Description | Examples |
22
+ |-------|-------------|----------|
23
+ | **Type** | Category of feedback | `bug_report`, `test_result`, `observation`, `suggestion`, `general` |
24
+ | **Severity** | Impact level | `critical`, `high`, `medium`, `low` |
25
+ | **Component** | Affected area | "login", "checkout", "search", etc. |
26
+ | **Description** | Core issue description | What happened |
27
+ | **Expected** | What should happen (if stated) | Expected behavior |
28
+ | **Steps** | How to reproduce (if provided) | Reproduction steps |
29
+
30
+ **Type Detection**:
31
+ - `bug_report`: "bug", "broken", "doesn't work", "error", "crash"
32
+ - `test_result`: "test passed", "test failed", "ran tests", "testing showed"
33
+ - `observation`: "noticed", "observed", "found that", "saw that"
34
+ - `suggestion`: "should", "could we", "what if", "idea"
35
+ - `general`: Default for unclassified feedback
36
+
37
+ ### Step 2: Check for Duplicates
38
+
39
+ Search the knowledge base for similar entries:
40
+
41
+ 1. Read `.bugzy/runtime/knowledge-base.md`
42
+ 2. Search for:
43
+ - Same component + similar symptoms
44
+ - Matching keywords from the description
45
+ - Recent entries (last 30 days) with similar patterns
46
+ 3. If duplicate found:
47
+ - Reference the existing entry
48
+ - Note any new information provided
49
+ - Update existing entry if new details are valuable
50
+
51
+ ### Step 3: Update Knowledge Base
52
+
53
+ Add or update entry in `.bugzy/runtime/knowledge-base.md`:
54
+
55
+ **For Bug Reports**:
56
+ ```markdown
57
+ ### Bug Report: [Brief Description]
58
+ **Reported**: [ISO date]
59
+ **Source**: Slack - [username if available]
60
+ **Component**: [component]
61
+ **Severity**: [severity]
62
+ **Status**: Under investigation
63
+
64
+ **Description**: [full description]
65
+
66
+ **Expected Behavior**: [if provided]
67
+
68
+ **Steps to Reproduce**: [if provided]
69
+ 1. Step one
70
+ 2. Step two
71
+
72
+ **Related**: [links to related issues/test cases if any]
73
+ ```
74
+
75
+ **For Observations**:
76
+ ```markdown
77
+ ### Observation: [Brief Description]
78
+ **Reported**: [ISO date]
79
+ **Source**: Slack - [username if available]
80
+ **Component**: [component]
81
+ **Context**: [what was being done when observed]
82
+
83
+ **Details**: [full observation]
84
+
85
+ **Impact**: [potential impact on testing]
86
+ ```
87
+
88
+ **For Test Results**:
89
+ ```markdown
90
+ ### Manual Test Result: [Test/Feature Name]
91
+ **Reported**: [ISO date]
92
+ **Source**: Slack - [username if available]
93
+ **Result**: [passed/failed]
94
+ **Component**: [component]
95
+
96
+ **Details**: [what was tested, outcome]
97
+
98
+ **Notes**: [any additional observations]
99
+ ```
100
+
101
+ ### Step 4: Determine Follow-up Actions
102
+
103
+ Based on feedback type, consider additional actions:
104
+
105
+ | Type | Potential Actions |
106
+ |------|-------------------|
107
+ | **bug_report (critical/high)** | Consider creating issue via issue-tracker if configured |
108
+ | **bug_report (medium/low)** | Log in knowledge base, may inform future test cases |
109
+ | **test_result** | Update relevant test case status if identifiable |
110
+ | **observation** | May inform test plan updates |
111
+ | **suggestion** | Log for future consideration |
112
+
113
+ **Issue Tracker Integration** (if configured):
114
+ - For critical/high severity bugs, check if issue-tracker agent is available
115
+ - If so, create or link to an issue in the configured system
116
+ - Reference the issue in the knowledge base entry
117
+
118
+ ### Step 5: Acknowledge and Confirm
119
+
120
+ Respond to the user confirming:
121
+ 1. Feedback was received and understood
122
+ 2. Summary of what was captured
123
+ 3. What actions will be taken
124
+ 4. Any follow-up questions if needed
125
+
126
+ ## Response Guidelines
127
+
128
+ **Structure**:
129
+ ```
130
+ Thanks for reporting this. Here's what I've captured:
131
+
132
+ [Summary of the feedback]
133
+
134
+ I've logged this in the knowledge base under [category].
135
+ [Any follow-up actions being taken]
136
+
137
+ [Optional: Follow-up questions if clarification needed]
138
+ ```
139
+
140
+ **Examples**:
141
+
142
+ For bug report:
143
+ ```
144
+ Thanks for reporting this. I've logged the following:
145
+
146
+ Bug: Checkout fails when cart has more than 10 items
147
+ - Severity: High
148
+ - Component: Checkout
149
+ - Status: Under investigation
150
+
151
+ I've added this to the knowledge base. This may affect our checkout test coverage - I'll review TC-045 through TC-048 for related scenarios.
152
+
153
+ Can you confirm which browser this occurred in?
154
+ ```
155
+
156
+ For observation:
157
+ ```
158
+ Good catch - I've noted this observation:
159
+
160
+ The loading spinner on the dashboard takes longer than expected after the recent update.
161
+
162
+ I've added this to the knowledge base under performance observations. This might be worth adding to our performance test suite.
163
+ ```
164
+
165
+ ## Context Loading Requirements
166
+
167
+ Required:
168
+ - [x] Knowledge base (`.bugzy/runtime/knowledge-base.md`) - for duplicate check and updates
169
+
170
+ Conditional:
171
+ - [ ] Test cases (`./test-cases/`) - if feedback relates to specific test
172
+ - [ ] Test runs (`./test-runs/`) - if feedback relates to recent results
173
+
174
+ ## Memory Updates
175
+
176
+ Required updates:
177
+ - Knowledge base (`.bugzy/runtime/knowledge-base.md`) - add new entry or update existing
178
+ - Optionally team communicator memory if tracking feedback sources