start-vibing 4.1.1 → 4.1.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.
- package/package.json +1 -1
- package/template/.claude/config/README.md +0 -27
- package/template/.claude/config/project-config.json +0 -53
- package/template/.claude/config/quality-gates.json +0 -46
- package/template/.claude/config/security-rules.json +0 -45
- package/template/.claude/config/testing-config.json +0 -164
package/package.json
CHANGED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Project Configuration
|
|
2
|
-
|
|
3
|
-
This directory contains project-specific configuration files that agents and skills read to adapt their behavior to your project.
|
|
4
|
-
|
|
5
|
-
## Files
|
|
6
|
-
|
|
7
|
-
| File | Purpose |
|
|
8
|
-
| --------------------- | ------------------------------------------------------- |
|
|
9
|
-
| `project-config.json` | Main project configuration (stack, structure, commands) |
|
|
10
|
-
| `quality-gates.json` | Quality check commands |
|
|
11
|
-
| `testing-config.json` | Testing framework and conventions |
|
|
12
|
-
| `security-rules.json` | Security audit rules |
|
|
13
|
-
|
|
14
|
-
## How Agents and Skills Use These
|
|
15
|
-
|
|
16
|
-
1. **tester-unit** agent - Reads `testing-config.json` for frameworks and conventions
|
|
17
|
-
2. **commit-manager** agent - Reads `project-config.json` for commit conventions
|
|
18
|
-
3. **quality-gate** skill - Reads `quality-gates.json` for commands
|
|
19
|
-
4. **security-scan** skill - Reads `security-rules.json` for security patterns
|
|
20
|
-
|
|
21
|
-
## Customizing for Your Project
|
|
22
|
-
|
|
23
|
-
1. Update `project-config.json` with your stack and commands
|
|
24
|
-
2. Update `testing-config.json` with your test conventions
|
|
25
|
-
3. Update `security-rules.json` with your auth framework
|
|
26
|
-
|
|
27
|
-
The agents and skills will automatically adapt to your configuration.
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$comment": "Project-specific configuration. Agents read this to adapt to your project.",
|
|
4
|
-
|
|
5
|
-
"stack": {
|
|
6
|
-
"runtime": "bun",
|
|
7
|
-
"language": "typescript",
|
|
8
|
-
"strictMode": true,
|
|
9
|
-
"database": "mongodb",
|
|
10
|
-
"orm": "mongoose",
|
|
11
|
-
"validation": "zod",
|
|
12
|
-
"container": "docker"
|
|
13
|
-
},
|
|
14
|
-
|
|
15
|
-
"structure": {
|
|
16
|
-
"apps": "apps/",
|
|
17
|
-
"shared": "common/",
|
|
18
|
-
"types": "types/",
|
|
19
|
-
"tests": "tests/",
|
|
20
|
-
"docs": "docs/"
|
|
21
|
-
},
|
|
22
|
-
|
|
23
|
-
"pathAliases": {
|
|
24
|
-
"$types/*": "./types/*",
|
|
25
|
-
"@common/*": "./common/*",
|
|
26
|
-
"@common": "./common/index.ts",
|
|
27
|
-
"@db/*": "./common/db/*",
|
|
28
|
-
"@db": "./common/db/index.ts",
|
|
29
|
-
"@apps/*": "./apps/*"
|
|
30
|
-
},
|
|
31
|
-
|
|
32
|
-
"commands": {
|
|
33
|
-
"typecheck": "bun run typecheck",
|
|
34
|
-
"lint": "bun run lint",
|
|
35
|
-
"test": "bun run test",
|
|
36
|
-
"testE2e": "bun run test:e2e",
|
|
37
|
-
"build": "bun run build",
|
|
38
|
-
"dev": "bun run dev",
|
|
39
|
-
"dockerBuild": "docker compose build",
|
|
40
|
-
"dockerUp": "docker compose up"
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
"conventions": {
|
|
44
|
-
"branchPrefix": {
|
|
45
|
-
"feature": "feature/",
|
|
46
|
-
"bugfix": "fix/",
|
|
47
|
-
"refactor": "refactor/"
|
|
48
|
-
},
|
|
49
|
-
"commitFormat": "conventional",
|
|
50
|
-
"typesLocation": "types/",
|
|
51
|
-
"noTypesInSrc": true
|
|
52
|
-
}
|
|
53
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$comment": "Quality gate commands. Agents use these to run checks.",
|
|
3
|
-
|
|
4
|
-
"gates": {
|
|
5
|
-
"typecheck": {
|
|
6
|
-
"command": "bun run typecheck",
|
|
7
|
-
"description": "TypeScript type checking",
|
|
8
|
-
"required": true,
|
|
9
|
-
"order": 1
|
|
10
|
-
},
|
|
11
|
-
"lint": {
|
|
12
|
-
"command": "bun run lint",
|
|
13
|
-
"description": "ESLint code linting",
|
|
14
|
-
"required": true,
|
|
15
|
-
"order": 2
|
|
16
|
-
},
|
|
17
|
-
"unitTests": {
|
|
18
|
-
"command": "bun run test",
|
|
19
|
-
"description": "Unit tests with Vitest",
|
|
20
|
-
"required": true,
|
|
21
|
-
"order": 3
|
|
22
|
-
},
|
|
23
|
-
"e2eTests": {
|
|
24
|
-
"command": "bun run test:e2e",
|
|
25
|
-
"description": "E2E tests with Playwright",
|
|
26
|
-
"required": false,
|
|
27
|
-
"order": 4
|
|
28
|
-
},
|
|
29
|
-
"build": {
|
|
30
|
-
"command": "bun run build",
|
|
31
|
-
"description": "Production build",
|
|
32
|
-
"required": true,
|
|
33
|
-
"order": 5
|
|
34
|
-
},
|
|
35
|
-
"dockerBuild": {
|
|
36
|
-
"command": "docker compose build",
|
|
37
|
-
"description": "Docker image build",
|
|
38
|
-
"required": false,
|
|
39
|
-
"order": 6
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
"runAll": "bun run typecheck && bun run lint && bun run test && bun run build",
|
|
44
|
-
|
|
45
|
-
"skipGatesForTypes": ["config", "docs"]
|
|
46
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$comment": "Security rules. Used by security-auditor agent.",
|
|
3
|
-
|
|
4
|
-
"authentication": {
|
|
5
|
-
"framework": "session-based",
|
|
6
|
-
"userIdSource": "ctx.user._id",
|
|
7
|
-
"protectedProcedure": "protectedProcedure",
|
|
8
|
-
"sessionStore": "mongodb"
|
|
9
|
-
},
|
|
10
|
-
|
|
11
|
-
"validation": {
|
|
12
|
-
"library": "zod",
|
|
13
|
-
"requireOnAllRoutes": true
|
|
14
|
-
},
|
|
15
|
-
|
|
16
|
-
"sensitivePatterns": {
|
|
17
|
-
"forbidden": [
|
|
18
|
-
"input.userId",
|
|
19
|
-
"input.user_id",
|
|
20
|
-
"req.body.userId",
|
|
21
|
-
"passwordHash",
|
|
22
|
-
"password:"
|
|
23
|
-
],
|
|
24
|
-
"files": ["auth/", "api/", "server/", "routers/"]
|
|
25
|
-
},
|
|
26
|
-
|
|
27
|
-
"cryptography": {
|
|
28
|
-
"passwordHashing": "bcrypt",
|
|
29
|
-
"minSaltRounds": 10,
|
|
30
|
-
"tokenGeneration": "crypto.randomBytes"
|
|
31
|
-
},
|
|
32
|
-
|
|
33
|
-
"cookies": {
|
|
34
|
-
"httpOnly": true,
|
|
35
|
-
"secure": true,
|
|
36
|
-
"sameSite": "strict"
|
|
37
|
-
},
|
|
38
|
-
|
|
39
|
-
"owaspChecks": {
|
|
40
|
-
"a01_brokenAccessControl": true,
|
|
41
|
-
"a02_cryptographicFailures": true,
|
|
42
|
-
"a03_injection": true,
|
|
43
|
-
"a07_authenticationFailures": true
|
|
44
|
-
}
|
|
45
|
-
}
|
|
@@ -1,164 +0,0 @@
|
|
|
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": ["password-reset", "email-verification", "profile-update"]
|
|
134
|
-
},
|
|
135
|
-
|
|
136
|
-
"commands": {
|
|
137
|
-
"install": "bun add -D @playwright/test && bunx playwright install",
|
|
138
|
-
"run": "bunx playwright test",
|
|
139
|
-
"runUi": "bunx playwright test --ui",
|
|
140
|
-
"runHeaded": "bunx playwright test --headed",
|
|
141
|
-
"runMobile": "bunx playwright test --project='iPhone SE'",
|
|
142
|
-
"debug": "bunx playwright test --debug",
|
|
143
|
-
"report": "bunx playwright show-report",
|
|
144
|
-
"codegen": "bunx playwright codegen"
|
|
145
|
-
},
|
|
146
|
-
|
|
147
|
-
"rules": {
|
|
148
|
-
"noSkip": true,
|
|
149
|
-
"noMockAuth": true,
|
|
150
|
-
"requireCleanup": true,
|
|
151
|
-
"requireDbValidation": true,
|
|
152
|
-
"requireViewportTests": true,
|
|
153
|
-
"requireDataTestId": true,
|
|
154
|
-
"uniqueTestData": true,
|
|
155
|
-
"timestampEmails": true
|
|
156
|
-
},
|
|
157
|
-
|
|
158
|
-
"reporting": {
|
|
159
|
-
"trace": "on-first-retry",
|
|
160
|
-
"screenshot": "only-on-failure",
|
|
161
|
-
"video": "retain-on-failure",
|
|
162
|
-
"outputFolder": "test-results"
|
|
163
|
-
}
|
|
164
|
-
}
|