start-vibing 1.1.2 → 1.1.3

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 (39) hide show
  1. package/package.json +1 -1
  2. package/template/.claude/CLAUDE.md +129 -168
  3. package/template/.claude/README.md +135 -126
  4. package/template/.claude/agents/analyzer.md +0 -14
  5. package/template/.claude/agents/commit-manager.md +0 -19
  6. package/template/.claude/agents/documenter.md +0 -10
  7. package/template/.claude/agents/domain-updater.md +194 -200
  8. package/template/.claude/agents/final-validator.md +0 -18
  9. package/template/.claude/agents/orchestrator.md +0 -12
  10. package/template/.claude/agents/quality-checker.md +0 -24
  11. package/template/.claude/agents/research.md +251 -262
  12. package/template/.claude/agents/security-auditor.md +1 -14
  13. package/template/.claude/agents/tester.md +0 -8
  14. package/template/.claude/agents/ui-ux-reviewer.md +0 -8
  15. package/template/.claude/commands/feature.md +48 -102
  16. package/template/.claude/config/README.md +30 -30
  17. package/template/.claude/config/domain-mapping.json +55 -26
  18. package/template/.claude/config/project-config.json +56 -53
  19. package/template/.claude/config/quality-gates.json +46 -46
  20. package/template/.claude/config/security-rules.json +45 -45
  21. package/template/.claude/config/testing-config.json +168 -168
  22. package/template/.claude/hooks/SETUP.md +52 -181
  23. package/template/.claude/hooks/user-prompt-submit.py +37 -246
  24. package/template/.claude/settings.json +39 -267
  25. package/template/.claude/skills/codebase-knowledge/SKILL.md +71 -145
  26. package/template/.claude/skills/codebase-knowledge/domains/claude-system.md +54 -321
  27. package/template/.claude/skills/docs-tracker/SKILL.md +63 -239
  28. package/template/.claude/skills/final-check/SKILL.md +72 -284
  29. package/template/.claude/skills/quality-gate/SKILL.md +71 -278
  30. package/template/.claude/skills/research-cache/SKILL.md +73 -207
  31. package/template/.claude/skills/security-scan/SKILL.md +75 -206
  32. package/template/.claude/skills/test-coverage/SKILL.md +66 -441
  33. package/template/.claude/skills/ui-ux-audit/SKILL.md +68 -254
  34. package/template/.claude/hooks/post-tool-use.py +0 -155
  35. package/template/.claude/hooks/pre-tool-use.py +0 -159
  36. package/template/.claude/hooks/stop-validation.py +0 -155
  37. package/template/.claude/hooks/validate-commit.py +0 -200
  38. package/template/.claude/hooks/workflow-manager.py +0 -350
  39. package/template/.claude/workflow-state.schema.json +0 -200
@@ -1,168 +1,168 @@
1
- {
2
- "$comment": "Testing configuration. Used by tester agent.",
3
-
4
- "framework": {
5
- "unit": "vitest",
6
- "e2e": "playwright",
7
- "version": "1.40+"
8
- },
9
-
10
- "paths": {
11
- "unitTests": "tests/unit/*.test.ts",
12
- "e2eTests": "tests/e2e/**/*.spec.ts",
13
- "fixtures": "tests/e2e/fixtures/",
14
- "pages": "tests/e2e/pages/",
15
- "flows": "tests/e2e/flows/",
16
- "api": "tests/e2e/api/",
17
- "authState": "tests/e2e/.auth/"
18
- },
19
-
20
- "viewports": {
21
- "desktop": {
22
- "device": "Desktop Chrome",
23
- "width": 1280,
24
- "height": 800,
25
- "required": true
26
- },
27
- "tablet": {
28
- "device": "iPad",
29
- "width": 768,
30
- "height": 1024,
31
- "required": true
32
- },
33
- "mobile": {
34
- "device": "iPhone SE",
35
- "width": 375,
36
- "height": 667,
37
- "required": true
38
- },
39
- "mobileLarge": {
40
- "device": "iPhone 14",
41
- "width": 390,
42
- "height": 844,
43
- "required": false
44
- }
45
- },
46
-
47
- "auth": {
48
- "storageStatePath": "tests/e2e/.auth/user.json",
49
- "loginPage": "/auth/login",
50
- "registerPage": "/auth/register",
51
- "protectedPrefix": "/app",
52
- "setupProject": "setup",
53
- "reuseSession": true
54
- },
55
-
56
- "database": {
57
- "type": "mongodb",
58
- "testConnectionEnv": "MONGODB_URI",
59
- "cleanupStrategy": "fixture-tracking",
60
- "verifyAfterActions": true
61
- },
62
-
63
- "cleanup": {
64
- "strategy": "fixture-based",
65
- "trackCreatedIds": true,
66
- "deleteOnlyTracked": true,
67
- "cleanupOnFailure": true,
68
- "collections": ["users", "items", "sessions"]
69
- },
70
-
71
- "dataTestIds": {
72
- "form": {
73
- "nameInput": "name-input",
74
- "emailInput": "email-input",
75
- "passwordInput": "password-input",
76
- "confirmPasswordInput": "confirm-password-input",
77
- "submitButton": "submit-button"
78
- },
79
- "feedback": {
80
- "errorMessage": "error-message",
81
- "successMessage": "success-message",
82
- "loadingSpinner": "loading-spinner"
83
- },
84
- "navigation": {
85
- "sidebar": "sidebar",
86
- "hamburgerMenu": "hamburger-menu",
87
- "mobileNav": "mobile-nav",
88
- "logoutButton": "logout-button"
89
- },
90
- "actions": {
91
- "deleteButton": "delete-button",
92
- "editButton": "edit-button",
93
- "confirmDelete": "confirm-delete",
94
- "cancelButton": "cancel-button"
95
- }
96
- },
97
-
98
- "api": {
99
- "rest": {
100
- "baseUrl": "/api",
101
- "authEndpoint": "/api/auth/login",
102
- "validateInput": true,
103
- "requireAuth": true
104
- },
105
- "trpc": {
106
- "baseUrl": "/api/trpc",
107
- "batchEnabled": true,
108
- "validateInput": true
109
- }
110
- },
111
-
112
- "security": {
113
- "testForbiddenRequests": true,
114
- "testRateLimiting": true,
115
- "testCrossUserAccess": true,
116
- "testUnauthenticated": true,
117
- "expectedForbiddenStatus": 403,
118
- "expectedUnauthorizedStatus": 401,
119
- "expectedRateLimitStatus": 429
120
- },
121
-
122
- "flows": {
123
- "required": [
124
- "registration",
125
- "login",
126
- "logout",
127
- "crud-create",
128
- "crud-read",
129
- "crud-update",
130
- "crud-delete",
131
- "permissions"
132
- ],
133
- "optional": [
134
- "password-reset",
135
- "email-verification",
136
- "profile-update"
137
- ]
138
- },
139
-
140
- "commands": {
141
- "install": "bun add -D @playwright/test && bunx playwright install",
142
- "run": "bunx playwright test",
143
- "runUi": "bunx playwright test --ui",
144
- "runHeaded": "bunx playwright test --headed",
145
- "runMobile": "bunx playwright test --project='iPhone SE'",
146
- "debug": "bunx playwright test --debug",
147
- "report": "bunx playwright show-report",
148
- "codegen": "bunx playwright codegen"
149
- },
150
-
151
- "rules": {
152
- "noSkip": true,
153
- "noMockAuth": true,
154
- "requireCleanup": true,
155
- "requireDbValidation": true,
156
- "requireViewportTests": true,
157
- "requireDataTestId": true,
158
- "uniqueTestData": true,
159
- "timestampEmails": true
160
- },
161
-
162
- "reporting": {
163
- "trace": "on-first-retry",
164
- "screenshot": "only-on-failure",
165
- "video": "retain-on-failure",
166
- "outputFolder": "test-results"
167
- }
168
- }
1
+ {
2
+ "$comment": "Testing configuration. Used by tester agent.",
3
+
4
+ "framework": {
5
+ "unit": "vitest",
6
+ "e2e": "playwright",
7
+ "version": "1.40+"
8
+ },
9
+
10
+ "paths": {
11
+ "unitTests": "tests/unit/*.test.ts",
12
+ "e2eTests": "tests/e2e/**/*.spec.ts",
13
+ "fixtures": "tests/e2e/fixtures/",
14
+ "pages": "tests/e2e/pages/",
15
+ "flows": "tests/e2e/flows/",
16
+ "api": "tests/e2e/api/",
17
+ "authState": "tests/e2e/.auth/"
18
+ },
19
+
20
+ "viewports": {
21
+ "desktop": {
22
+ "device": "Desktop Chrome",
23
+ "width": 1280,
24
+ "height": 800,
25
+ "required": true
26
+ },
27
+ "tablet": {
28
+ "device": "iPad",
29
+ "width": 768,
30
+ "height": 1024,
31
+ "required": true
32
+ },
33
+ "mobile": {
34
+ "device": "iPhone SE",
35
+ "width": 375,
36
+ "height": 667,
37
+ "required": true
38
+ },
39
+ "mobileLarge": {
40
+ "device": "iPhone 14",
41
+ "width": 390,
42
+ "height": 844,
43
+ "required": false
44
+ }
45
+ },
46
+
47
+ "auth": {
48
+ "storageStatePath": "tests/e2e/.auth/user.json",
49
+ "loginPage": "/auth/login",
50
+ "registerPage": "/auth/register",
51
+ "protectedPrefix": "/app",
52
+ "setupProject": "setup",
53
+ "reuseSession": true
54
+ },
55
+
56
+ "database": {
57
+ "type": "mongodb",
58
+ "testConnectionEnv": "MONGODB_URI",
59
+ "cleanupStrategy": "fixture-tracking",
60
+ "verifyAfterActions": true
61
+ },
62
+
63
+ "cleanup": {
64
+ "strategy": "fixture-based",
65
+ "trackCreatedIds": true,
66
+ "deleteOnlyTracked": true,
67
+ "cleanupOnFailure": true,
68
+ "collections": ["users", "items", "sessions"]
69
+ },
70
+
71
+ "dataTestIds": {
72
+ "form": {
73
+ "nameInput": "name-input",
74
+ "emailInput": "email-input",
75
+ "passwordInput": "password-input",
76
+ "confirmPasswordInput": "confirm-password-input",
77
+ "submitButton": "submit-button"
78
+ },
79
+ "feedback": {
80
+ "errorMessage": "error-message",
81
+ "successMessage": "success-message",
82
+ "loadingSpinner": "loading-spinner"
83
+ },
84
+ "navigation": {
85
+ "sidebar": "sidebar",
86
+ "hamburgerMenu": "hamburger-menu",
87
+ "mobileNav": "mobile-nav",
88
+ "logoutButton": "logout-button"
89
+ },
90
+ "actions": {
91
+ "deleteButton": "delete-button",
92
+ "editButton": "edit-button",
93
+ "confirmDelete": "confirm-delete",
94
+ "cancelButton": "cancel-button"
95
+ }
96
+ },
97
+
98
+ "api": {
99
+ "rest": {
100
+ "baseUrl": "/api",
101
+ "authEndpoint": "/api/auth/login",
102
+ "validateInput": true,
103
+ "requireAuth": true
104
+ },
105
+ "trpc": {
106
+ "baseUrl": "/api/trpc",
107
+ "batchEnabled": true,
108
+ "validateInput": true
109
+ }
110
+ },
111
+
112
+ "security": {
113
+ "testForbiddenRequests": true,
114
+ "testRateLimiting": true,
115
+ "testCrossUserAccess": true,
116
+ "testUnauthenticated": true,
117
+ "expectedForbiddenStatus": 403,
118
+ "expectedUnauthorizedStatus": 401,
119
+ "expectedRateLimitStatus": 429
120
+ },
121
+
122
+ "flows": {
123
+ "required": [
124
+ "registration",
125
+ "login",
126
+ "logout",
127
+ "crud-create",
128
+ "crud-read",
129
+ "crud-update",
130
+ "crud-delete",
131
+ "permissions"
132
+ ],
133
+ "optional": [
134
+ "password-reset",
135
+ "email-verification",
136
+ "profile-update"
137
+ ]
138
+ },
139
+
140
+ "commands": {
141
+ "install": "bun add -D @playwright/test && bunx playwright install",
142
+ "run": "bunx playwright test",
143
+ "runUi": "bunx playwright test --ui",
144
+ "runHeaded": "bunx playwright test --headed",
145
+ "runMobile": "bunx playwright test --project='iPhone SE'",
146
+ "debug": "bunx playwright test --debug",
147
+ "report": "bunx playwright show-report",
148
+ "codegen": "bunx playwright codegen"
149
+ },
150
+
151
+ "rules": {
152
+ "noSkip": true,
153
+ "noMockAuth": true,
154
+ "requireCleanup": true,
155
+ "requireDbValidation": true,
156
+ "requireViewportTests": true,
157
+ "requireDataTestId": true,
158
+ "uniqueTestData": true,
159
+ "timestampEmails": true
160
+ },
161
+
162
+ "reporting": {
163
+ "trace": "on-first-retry",
164
+ "screenshot": "only-on-failure",
165
+ "video": "retain-on-failure",
166
+ "outputFolder": "test-results"
167
+ }
168
+ }
@@ -1,181 +1,52 @@
1
- # Workflow Enforcement Hooks - Setup Guide
2
-
3
- ## Overview
4
-
5
- This system enforces the agent workflow by:
6
-
7
- 1. **Blocking file modifications** until workflow is started and files are approved
8
- 2. **Tracking all changes** automatically
9
- 3. **Preventing incomplete workflow** from stopping
10
- 4. **Blocking commits** that don't follow the workflow
11
-
12
- ## Requirements
13
-
14
- - Python 3.8+
15
- - Git
16
- - Husky (for pre-commit hooks)
17
-
18
- ## Files
19
-
20
- | File | Purpose |
21
- | --------------------- | ------------------------------------------------ |
22
- | `pre-tool-use.py` | Blocks Edit/Write unless file is approved |
23
- | `post-tool-use.py` | Auto-tracks modifications to workflow-state.json |
24
- | `stop-validation.py` | Blocks stopping if workflow incomplete |
25
- | `validate-commit.py` | Husky pre-commit validation |
26
- | `workflow-manager.py` | CLI for agents to update workflow state |
27
-
28
- ## Husky Integration
29
-
30
- ### 1. Install Husky
31
-
32
- ```bash
33
- bun add husky --dev
34
- bunx husky init
35
- ```
36
-
37
- ### 2. Create Pre-Commit Hook
38
-
39
- ```bash
40
- # Create .husky/pre-commit
41
- echo '#!/usr/bin/env sh
42
- . "$(dirname -- "$0")/_/husky.sh"
43
-
44
- python .claude/hooks/validate-commit.py
45
- ' > .husky/pre-commit
46
-
47
- chmod +x .husky/pre-commit
48
- ```
49
-
50
- ### 3. Add to package.json
51
-
52
- ```json
53
- {
54
- "scripts": {
55
- "prepare": "husky"
56
- }
57
- }
58
- ```
59
-
60
- ## Claude Code Configuration
61
-
62
- The hooks are configured in `.claude/settings.json`:
63
-
64
- ```json
65
- {
66
- "hooks": {
67
- "PreToolUse": [
68
- {
69
- "matcher": "Edit|Write|NotebookEdit",
70
- "hooks": [
71
- {
72
- "type": "command",
73
- "command": "python \"$CLAUDE_PROJECT_DIR/.claude/hooks/pre-tool-use.py\"",
74
- "timeout": 30
75
- }
76
- ]
77
- }
78
- ],
79
- "PostToolUse": [
80
- {
81
- "matcher": "Edit|Write|NotebookEdit",
82
- "hooks": [
83
- {
84
- "type": "command",
85
- "command": "python \"$CLAUDE_PROJECT_DIR/.claude/hooks/post-tool-use.py\"",
86
- "timeout": 30
87
- }
88
- ]
89
- }
90
- ],
91
- "Stop": [
92
- {
93
- "matcher": "",
94
- "hooks": [
95
- {
96
- "type": "command",
97
- "command": "python \"$CLAUDE_PROJECT_DIR/.claude/hooks/stop-validation.py\"",
98
- "timeout": 30
99
- }
100
- ]
101
- }
102
- ]
103
- }
104
- }
105
- ```
106
-
107
- **IMPORTANT:** Use `$CLAUDE_PROJECT_DIR` to ensure hooks work from any directory.
108
-
109
- ## Workflow Manager CLI
110
-
111
- ```bash
112
- # Start a task (REQUIRED FIRST)
113
- python .claude/hooks/workflow-manager.py start-task --type feature --description "Add user auth"
114
-
115
- # Approve files for modification
116
- python .claude/hooks/workflow-manager.py approve-files --files "src/auth.ts" "app/login/*"
117
-
118
- # Mark agent as executed
119
- python .claude/hooks/workflow-manager.py agent-executed --agent analyzer --result approved
120
-
121
- # Record quality gate result
122
- python .claude/hooks/workflow-manager.py quality-gate --gate typecheck --passed true
123
-
124
- # Record security audit
125
- python .claude/hooks/workflow-manager.py security-audit --result approved
126
-
127
- # Final validation
128
- python .claude/hooks/workflow-manager.py final-validation --result approved --ready-to-commit true
129
-
130
- # Complete task after commit
131
- python .claude/hooks/workflow-manager.py complete-task --commit-hash abc123def
132
-
133
- # Check current status
134
- python .claude/hooks/workflow-manager.py status
135
- ```
136
-
137
- ## Error Messages
138
-
139
- ### "BLOCKED: No active task"
140
-
141
- Run `workflow-manager.py start-task` first.
142
-
143
- ### "BLOCKED: Analyzer agent has not executed"
144
-
145
- Run the analyzer agent and call `workflow-manager.py agent-executed --agent analyzer --result approved`.
146
-
147
- ### "BLOCKED: File not in approved list"
148
-
149
- Add the file to approved list via `workflow-manager.py approve-files --files "path/to/file"`.
150
-
151
- ### "WORKFLOW INCOMPLETE - Cannot stop yet"
152
-
153
- Execute all required agents before stopping the session.
154
-
155
- ### "COMMIT BLOCKED - Workflow validation failed"
156
-
157
- Ensure all agents executed, tests created, and final validation approved.
158
-
159
- ## Environment Variables
160
-
161
- | Variable | Default | Description |
162
- | -------------------- | ------------- | ---------------------- |
163
- | `CLAUDE_PROJECT_DIR` | `os.getcwd()` | Project root directory |
164
-
165
- ## Troubleshooting
166
-
167
- ### Hooks not executing
168
-
169
- 1. Verify Python is in PATH
170
- 2. Check `.claude/settings.json` hooks configuration
171
- 3. Ensure hook files have execute permissions
172
-
173
- ### Workflow state corrupted
174
-
175
- Delete `.claude/workflow-state.json` and start fresh.
176
-
177
- ### Husky not running
178
-
179
- 1. Run `bun run prepare`
180
- 2. Check `.husky/pre-commit` has execute permissions
181
- 3. Verify Git hooks are enabled: `git config core.hooksPath`
1
+ # Workflow Enforcement Hooks - Setup Guide
2
+
3
+ ## Overview
4
+
5
+ This system provides agent selection guidance by analyzing prompts and suggesting the best agent for the task.
6
+
7
+ ## Requirements
8
+
9
+ - Python 3.8+
10
+
11
+ ## Files
12
+
13
+ | File | Purpose |
14
+ | ------------------------ | ----------------------------------------------------- |
15
+ | `user-prompt-submit.py` | Analyzes prompts and suggests appropriate agents |
16
+
17
+ ## Claude Code Configuration
18
+
19
+ The hooks are configured in `.claude/settings.local.json`:
20
+
21
+ ```json
22
+ {
23
+ "hooks": {
24
+ "UserPromptSubmit": [
25
+ {
26
+ "matcher": "",
27
+ "hooks": [
28
+ {
29
+ "type": "command",
30
+ "command": "python .claude/hooks/user-prompt-submit.py",
31
+ "timeout": 10
32
+ }
33
+ ]
34
+ }
35
+ ]
36
+ }
37
+ }
38
+ ```
39
+
40
+ ## Environment Variables
41
+
42
+ | Variable | Default | Description |
43
+ | -------------------- | ------------- | ---------------------- |
44
+ | `CLAUDE_PROJECT_DIR` | `os.getcwd()` | Project root directory |
45
+
46
+ ## Troubleshooting
47
+
48
+ ### Hooks not executing
49
+
50
+ 1. Verify Python is in PATH
51
+ 2. Check `.claude/settings.local.json` hooks configuration
52
+ 3. Ensure hook files have execute permissions