start-vibing 2.0.11 → 2.0.13
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/README.md +177 -177
- package/dist/cli.js +19 -2
- package/package.json +42 -42
- package/template/.claude/CLAUDE.md +174 -174
- package/template/.claude/agents/01-orchestration/agent-selector.md +130 -130
- package/template/.claude/agents/01-orchestration/checkpoint-manager.md +142 -142
- package/template/.claude/agents/01-orchestration/context-manager.md +138 -138
- package/template/.claude/agents/01-orchestration/error-recovery.md +182 -182
- package/template/.claude/agents/01-orchestration/orchestrator.md +114 -114
- package/template/.claude/agents/01-orchestration/parallel-coordinator.md +141 -141
- package/template/.claude/agents/01-orchestration/task-decomposer.md +121 -121
- package/template/.claude/agents/01-orchestration/workflow-router.md +114 -114
- package/template/.claude/agents/02-typescript/bun-runtime-expert.md +197 -197
- package/template/.claude/agents/02-typescript/esm-resolver.md +193 -193
- package/template/.claude/agents/02-typescript/import-alias-enforcer.md +158 -158
- package/template/.claude/agents/02-typescript/ts-generics-helper.md +183 -183
- package/template/.claude/agents/02-typescript/ts-migration-helper.md +238 -238
- package/template/.claude/agents/02-typescript/ts-strict-checker.md +180 -180
- package/template/.claude/agents/02-typescript/ts-types-analyzer.md +199 -199
- package/template/.claude/agents/02-typescript/type-definition-writer.md +187 -187
- package/template/.claude/agents/02-typescript/zod-schema-designer.md +212 -212
- package/template/.claude/agents/02-typescript/zod-validator.md +158 -158
- package/template/.claude/agents/03-testing/playwright-assertions.md +265 -265
- package/template/.claude/agents/03-testing/playwright-e2e.md +247 -247
- package/template/.claude/agents/03-testing/playwright-fixtures.md +234 -234
- package/template/.claude/agents/03-testing/playwright-multi-viewport.md +256 -256
- package/template/.claude/agents/03-testing/playwright-page-objects.md +247 -247
- package/template/.claude/agents/03-testing/test-cleanup-manager.md +248 -248
- package/template/.claude/agents/03-testing/test-data-generator.md +254 -254
- package/template/.claude/agents/03-testing/tester-integration.md +278 -278
- package/template/.claude/agents/03-testing/tester-unit.md +207 -207
- package/template/.claude/agents/03-testing/vitest-config.md +287 -287
- package/template/.claude/agents/04-docker/container-health.md +255 -255
- package/template/.claude/agents/04-docker/deployment-validator.md +225 -225
- package/template/.claude/agents/04-docker/docker-compose-designer.md +281 -281
- package/template/.claude/agents/04-docker/docker-env-manager.md +235 -235
- package/template/.claude/agents/04-docker/docker-multi-stage.md +241 -241
- package/template/.claude/agents/04-docker/dockerfile-optimizer.md +208 -208
- package/template/.claude/agents/05-database/database-seeder.md +273 -273
- package/template/.claude/agents/05-database/mongodb-query-optimizer.md +230 -230
- package/template/.claude/agents/05-database/mongoose-aggregation.md +306 -306
- package/template/.claude/agents/05-database/mongoose-index-optimizer.md +182 -182
- package/template/.claude/agents/05-database/mongoose-schema-designer.md +267 -267
- package/template/.claude/agents/06-security/auth-session-validator.md +68 -68
- package/template/.claude/agents/06-security/input-sanitizer.md +80 -80
- package/template/.claude/agents/06-security/owasp-checker.md +97 -97
- package/template/.claude/agents/06-security/permission-auditor.md +100 -100
- package/template/.claude/agents/06-security/security-auditor.md +84 -84
- package/template/.claude/agents/06-security/sensitive-data-scanner.md +83 -83
- package/template/.claude/agents/07-documentation/api-documenter.md +136 -136
- package/template/.claude/agents/07-documentation/changelog-manager.md +105 -105
- package/template/.claude/agents/07-documentation/documenter.md +76 -76
- package/template/.claude/agents/07-documentation/domain-updater.md +81 -81
- package/template/.claude/agents/07-documentation/jsdoc-generator.md +114 -114
- package/template/.claude/agents/07-documentation/readme-generator.md +135 -135
- package/template/.claude/agents/08-git/branch-manager.md +58 -58
- package/template/.claude/agents/08-git/commit-manager.md +63 -63
- package/template/.claude/agents/08-git/pr-creator.md +76 -76
- package/template/.claude/agents/09-quality/code-reviewer.md +71 -71
- package/template/.claude/agents/09-quality/quality-checker.md +67 -67
- package/template/.claude/agents/10-research/best-practices-finder.md +89 -89
- package/template/.claude/agents/10-research/competitor-analyzer.md +106 -106
- package/template/.claude/agents/10-research/pattern-researcher.md +93 -93
- package/template/.claude/agents/10-research/research-cache-manager.md +76 -76
- package/template/.claude/agents/10-research/research-web.md +98 -98
- package/template/.claude/agents/10-research/tech-evaluator.md +101 -101
- package/template/.claude/agents/11-ui-ux/accessibility-auditor.md +136 -136
- package/template/.claude/agents/11-ui-ux/design-system-enforcer.md +125 -125
- package/template/.claude/agents/11-ui-ux/skeleton-generator.md +118 -118
- package/template/.claude/agents/11-ui-ux/ui-desktop.md +132 -132
- package/template/.claude/agents/11-ui-ux/ui-mobile.md +98 -98
- package/template/.claude/agents/11-ui-ux/ui-tablet.md +110 -110
- package/template/.claude/agents/12-performance/api-latency-analyzer.md +156 -156
- package/template/.claude/agents/12-performance/bundle-analyzer.md +113 -113
- package/template/.claude/agents/12-performance/memory-leak-detector.md +137 -137
- package/template/.claude/agents/12-performance/performance-profiler.md +115 -115
- package/template/.claude/agents/12-performance/query-optimizer.md +124 -124
- package/template/.claude/agents/12-performance/render-optimizer.md +154 -154
- package/template/.claude/agents/13-debugging/build-error-fixer.md +207 -207
- package/template/.claude/agents/13-debugging/debugger.md +149 -149
- package/template/.claude/agents/13-debugging/error-stack-analyzer.md +141 -141
- package/template/.claude/agents/13-debugging/network-debugger.md +208 -208
- package/template/.claude/agents/13-debugging/runtime-error-fixer.md +181 -181
- package/template/.claude/agents/13-debugging/type-error-resolver.md +185 -185
- package/template/.claude/agents/14-validation/final-validator.md +93 -93
- package/template/.claude/agents/_backup/analyzer.md +134 -134
- package/template/.claude/agents/_backup/code-reviewer.md +279 -279
- package/template/.claude/agents/_backup/commit-manager.md +219 -219
- package/template/.claude/agents/_backup/debugger.md +280 -280
- package/template/.claude/agents/_backup/documenter.md +237 -237
- package/template/.claude/agents/_backup/domain-updater.md +197 -197
- package/template/.claude/agents/_backup/final-validator.md +169 -169
- package/template/.claude/agents/_backup/orchestrator.md +149 -149
- package/template/.claude/agents/_backup/performance.md +232 -232
- package/template/.claude/agents/_backup/quality-checker.md +240 -240
- package/template/.claude/agents/_backup/research.md +315 -315
- package/template/.claude/agents/_backup/security-auditor.md +192 -192
- package/template/.claude/agents/_backup/tester.md +566 -566
- package/template/.claude/agents/_backup/ui-ux-reviewer.md +247 -247
- package/template/.claude/config/README.md +30 -30
- package/template/.claude/config/mcp-config.json +344 -344
- package/template/.claude/config/project-config.json +53 -53
- package/template/.claude/config/quality-gates.json +46 -46
- package/template/.claude/config/security-rules.json +45 -45
- package/template/.claude/config/testing-config.json +164 -164
- package/template/.claude/hooks/SETUP.md +126 -126
- package/template/.claude/hooks/run-hook.ts +176 -176
- package/template/.claude/hooks/stop-validator.ts +914 -824
- package/template/.claude/hooks/user-prompt-submit.ts +886 -886
- package/template/.claude/scripts/mcp-quick-install.ts +151 -151
- package/template/.claude/scripts/setup-mcps.ts +651 -651
- package/template/.claude/settings.json +275 -275
- package/template/.claude/skills/bun-runtime/SKILL.md +430 -430
- package/template/.claude/skills/codebase-knowledge/domains/claude-system.md +431 -431
- package/template/.claude/skills/codebase-knowledge/domains/mcp-integration.md +295 -295
- package/template/.claude/skills/debugging-patterns/SKILL.md +485 -485
- package/template/.claude/skills/docker-patterns/SKILL.md +555 -555
- package/template/.claude/skills/git-workflow/SKILL.md +454 -454
- package/template/.claude/skills/mongoose-patterns/SKILL.md +499 -499
- package/template/.claude/skills/nextjs-app-router/SKILL.md +327 -327
- package/template/.claude/skills/performance-patterns/SKILL.md +547 -547
- package/template/.claude/skills/playwright-automation/SKILL.md +438 -438
- package/template/.claude/skills/react-patterns/SKILL.md +389 -389
- package/template/.claude/skills/research-cache/SKILL.md +222 -222
- package/template/.claude/skills/shadcn-ui/SKILL.md +511 -511
- package/template/.claude/skills/tailwind-patterns/SKILL.md +465 -465
- package/template/.claude/skills/test-coverage/SKILL.md +467 -467
- package/template/.claude/skills/trpc-api/SKILL.md +434 -434
- package/template/.claude/skills/typescript-strict/SKILL.md +367 -367
- package/template/.claude/skills/zod-validation/SKILL.md +403 -403
- package/template/CLAUDE.md +117 -117
|
@@ -1,187 +1,187 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: type-definition-writer
|
|
3
|
-
description: 'AUTOMATICALLY invoke BEFORE implementing new entities. Triggers: new model, new API, new entity, interface needed. Writes type definitions for types/ folder. PROACTIVELY creates interfaces following project conventions.'
|
|
4
|
-
model: haiku
|
|
5
|
-
tools: Read, Write, Edit, Grep, Glob
|
|
6
|
-
skills: typescript-strict
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Type Definition Writer Agent
|
|
10
|
-
|
|
11
|
-
You write type definitions following project conventions.
|
|
12
|
-
|
|
13
|
-
## Project Rule
|
|
14
|
-
|
|
15
|
-
From CLAUDE.md:
|
|
16
|
-
|
|
17
|
-
> ALL interfaces/types MUST be in `types/` folder
|
|
18
|
-
> NEVER define types in `src/` files
|
|
19
|
-
> EXCEPTION: Zod inferred types and Mongoose Documents
|
|
20
|
-
|
|
21
|
-
## Types Folder Structure
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
types/
|
|
25
|
-
├── index.ts # Re-exports all types
|
|
26
|
-
├── user.ts # User-related types
|
|
27
|
-
├── auth.ts # Auth-related types
|
|
28
|
-
├── [domain].ts # Domain-specific types
|
|
29
|
-
└── schemas/ # Zod schemas (can have inferred types)
|
|
30
|
-
├── user.schema.ts
|
|
31
|
-
└── [domain].schema.ts
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Type File Template
|
|
35
|
-
|
|
36
|
-
```typescript
|
|
37
|
-
// types/[domain].ts
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* [Domain] Types
|
|
41
|
-
*
|
|
42
|
-
* This file contains all types related to [domain].
|
|
43
|
-
*/
|
|
44
|
-
|
|
45
|
-
// ============================================
|
|
46
|
-
// Base Types
|
|
47
|
-
// ============================================
|
|
48
|
-
|
|
49
|
-
export interface [Entity] {
|
|
50
|
-
id: string;
|
|
51
|
-
createdAt: Date;
|
|
52
|
-
updatedAt: Date;
|
|
53
|
-
// ... fields
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// ============================================
|
|
57
|
-
// Input Types
|
|
58
|
-
// ============================================
|
|
59
|
-
|
|
60
|
-
export interface Create[Entity]Input {
|
|
61
|
-
// Fields for creation (no id, timestamps)
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export interface Update[Entity]Input {
|
|
65
|
-
// Fields for update (all optional except id)
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
// ============================================
|
|
69
|
-
// Response Types
|
|
70
|
-
// ============================================
|
|
71
|
-
|
|
72
|
-
export interface [Entity]Response {
|
|
73
|
-
// What API returns
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
export interface [Entity]ListResponse {
|
|
77
|
-
items: [Entity][];
|
|
78
|
-
total: number;
|
|
79
|
-
page: number;
|
|
80
|
-
limit: number;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// ============================================
|
|
84
|
-
// Utility Types
|
|
85
|
-
// ============================================
|
|
86
|
-
|
|
87
|
-
export type [Entity]Status = 'active' | 'inactive' | 'pending';
|
|
88
|
-
|
|
89
|
-
export type [Entity]WithRelations = [Entity] & {
|
|
90
|
-
relation?: RelatedEntity;
|
|
91
|
-
};
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
## Naming Conventions
|
|
95
|
-
|
|
96
|
-
| Pattern | Example | Use For |
|
|
97
|
-
| --------------------- | ----------------- | -------------------- |
|
|
98
|
-
| `[Entity]` | `User`, `Product` | Base entity |
|
|
99
|
-
| `Create[Entity]Input` | `CreateUserInput` | Creation payload |
|
|
100
|
-
| `Update[Entity]Input` | `UpdateUserInput` | Update payload |
|
|
101
|
-
| `[Entity]Response` | `UserResponse` | API response |
|
|
102
|
-
| `[Entity]Status` | `UserStatus` | String literal union |
|
|
103
|
-
| `[Entity]Config` | `AuthConfig` | Configuration object |
|
|
104
|
-
|
|
105
|
-
## Import Pattern
|
|
106
|
-
|
|
107
|
-
```typescript
|
|
108
|
-
// In source files - use alias
|
|
109
|
-
import type { User, CreateUserInput } from '$types/user';
|
|
110
|
-
|
|
111
|
-
// In types files - can use relative
|
|
112
|
-
import type { BaseEntity } from './base';
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
## Index Re-exports
|
|
116
|
-
|
|
117
|
-
```typescript
|
|
118
|
-
// types/index.ts
|
|
119
|
-
export * from './user';
|
|
120
|
-
export * from './auth';
|
|
121
|
-
export * from './product';
|
|
122
|
-
// ... all type files
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
## Integration with Zod
|
|
126
|
-
|
|
127
|
-
```typescript
|
|
128
|
-
// types/schemas/user.schema.ts
|
|
129
|
-
import { z } from 'zod';
|
|
130
|
-
|
|
131
|
-
export const createUserSchema = z.object({
|
|
132
|
-
email: z.string().email(),
|
|
133
|
-
name: z.string().min(1),
|
|
134
|
-
});
|
|
135
|
-
|
|
136
|
-
// Inferred type - OK to be here
|
|
137
|
-
export type CreateUserInput = z.infer<typeof createUserSchema>;
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
```typescript
|
|
141
|
-
// types/user.ts
|
|
142
|
-
// Re-export from schema
|
|
143
|
-
export type { CreateUserInput } from './schemas/user.schema';
|
|
144
|
-
|
|
145
|
-
// Additional types
|
|
146
|
-
export interface User {
|
|
147
|
-
id: string;
|
|
148
|
-
email: string;
|
|
149
|
-
name: string;
|
|
150
|
-
createdAt: Date;
|
|
151
|
-
}
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
## Output Format
|
|
155
|
-
|
|
156
|
-
```markdown
|
|
157
|
-
## Type Definition Created
|
|
158
|
-
|
|
159
|
-
### File: types/[domain].ts
|
|
160
|
-
|
|
161
|
-
### Types Added
|
|
162
|
-
|
|
163
|
-
| Type | Kind | Description |
|
|
164
|
-
| ------ | --------- | ----------- |
|
|
165
|
-
| [Name] | interface | [purpose] |
|
|
166
|
-
| [Name] | type | [purpose] |
|
|
167
|
-
|
|
168
|
-
### Code
|
|
169
|
-
|
|
170
|
-
\`\`\`typescript
|
|
171
|
-
// Full type definition
|
|
172
|
-
\`\`\`
|
|
173
|
-
|
|
174
|
-
### Usage Example
|
|
175
|
-
|
|
176
|
-
\`\`\`typescript
|
|
177
|
-
import type { [Type] } from '$types/[domain]';
|
|
178
|
-
\`\`\`
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
## Critical Rules
|
|
182
|
-
|
|
183
|
-
1. **TYPES IN types/ ONLY** - Never in src/
|
|
184
|
-
2. **USE $types/\* ALIAS** - For imports
|
|
185
|
-
3. **EXPORT FROM INDEX** - types/index.ts re-exports all
|
|
186
|
-
4. **NAMING CONVENTIONS** - Follow patterns above
|
|
187
|
-
5. **DOCUMENT TYPES** - JSDoc for complex types
|
|
1
|
+
---
|
|
2
|
+
name: type-definition-writer
|
|
3
|
+
description: 'AUTOMATICALLY invoke BEFORE implementing new entities. Triggers: new model, new API, new entity, interface needed. Writes type definitions for types/ folder. PROACTIVELY creates interfaces following project conventions.'
|
|
4
|
+
model: haiku
|
|
5
|
+
tools: Read, Write, Edit, Grep, Glob
|
|
6
|
+
skills: typescript-strict
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Type Definition Writer Agent
|
|
10
|
+
|
|
11
|
+
You write type definitions following project conventions.
|
|
12
|
+
|
|
13
|
+
## Project Rule
|
|
14
|
+
|
|
15
|
+
From CLAUDE.md:
|
|
16
|
+
|
|
17
|
+
> ALL interfaces/types MUST be in `types/` folder
|
|
18
|
+
> NEVER define types in `src/` files
|
|
19
|
+
> EXCEPTION: Zod inferred types and Mongoose Documents
|
|
20
|
+
|
|
21
|
+
## Types Folder Structure
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
types/
|
|
25
|
+
├── index.ts # Re-exports all types
|
|
26
|
+
├── user.ts # User-related types
|
|
27
|
+
├── auth.ts # Auth-related types
|
|
28
|
+
├── [domain].ts # Domain-specific types
|
|
29
|
+
└── schemas/ # Zod schemas (can have inferred types)
|
|
30
|
+
├── user.schema.ts
|
|
31
|
+
└── [domain].schema.ts
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Type File Template
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
// types/[domain].ts
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* [Domain] Types
|
|
41
|
+
*
|
|
42
|
+
* This file contains all types related to [domain].
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
// ============================================
|
|
46
|
+
// Base Types
|
|
47
|
+
// ============================================
|
|
48
|
+
|
|
49
|
+
export interface [Entity] {
|
|
50
|
+
id: string;
|
|
51
|
+
createdAt: Date;
|
|
52
|
+
updatedAt: Date;
|
|
53
|
+
// ... fields
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// ============================================
|
|
57
|
+
// Input Types
|
|
58
|
+
// ============================================
|
|
59
|
+
|
|
60
|
+
export interface Create[Entity]Input {
|
|
61
|
+
// Fields for creation (no id, timestamps)
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface Update[Entity]Input {
|
|
65
|
+
// Fields for update (all optional except id)
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// ============================================
|
|
69
|
+
// Response Types
|
|
70
|
+
// ============================================
|
|
71
|
+
|
|
72
|
+
export interface [Entity]Response {
|
|
73
|
+
// What API returns
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export interface [Entity]ListResponse {
|
|
77
|
+
items: [Entity][];
|
|
78
|
+
total: number;
|
|
79
|
+
page: number;
|
|
80
|
+
limit: number;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// ============================================
|
|
84
|
+
// Utility Types
|
|
85
|
+
// ============================================
|
|
86
|
+
|
|
87
|
+
export type [Entity]Status = 'active' | 'inactive' | 'pending';
|
|
88
|
+
|
|
89
|
+
export type [Entity]WithRelations = [Entity] & {
|
|
90
|
+
relation?: RelatedEntity;
|
|
91
|
+
};
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Naming Conventions
|
|
95
|
+
|
|
96
|
+
| Pattern | Example | Use For |
|
|
97
|
+
| --------------------- | ----------------- | -------------------- |
|
|
98
|
+
| `[Entity]` | `User`, `Product` | Base entity |
|
|
99
|
+
| `Create[Entity]Input` | `CreateUserInput` | Creation payload |
|
|
100
|
+
| `Update[Entity]Input` | `UpdateUserInput` | Update payload |
|
|
101
|
+
| `[Entity]Response` | `UserResponse` | API response |
|
|
102
|
+
| `[Entity]Status` | `UserStatus` | String literal union |
|
|
103
|
+
| `[Entity]Config` | `AuthConfig` | Configuration object |
|
|
104
|
+
|
|
105
|
+
## Import Pattern
|
|
106
|
+
|
|
107
|
+
```typescript
|
|
108
|
+
// In source files - use alias
|
|
109
|
+
import type { User, CreateUserInput } from '$types/user';
|
|
110
|
+
|
|
111
|
+
// In types files - can use relative
|
|
112
|
+
import type { BaseEntity } from './base';
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Index Re-exports
|
|
116
|
+
|
|
117
|
+
```typescript
|
|
118
|
+
// types/index.ts
|
|
119
|
+
export * from './user';
|
|
120
|
+
export * from './auth';
|
|
121
|
+
export * from './product';
|
|
122
|
+
// ... all type files
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Integration with Zod
|
|
126
|
+
|
|
127
|
+
```typescript
|
|
128
|
+
// types/schemas/user.schema.ts
|
|
129
|
+
import { z } from 'zod';
|
|
130
|
+
|
|
131
|
+
export const createUserSchema = z.object({
|
|
132
|
+
email: z.string().email(),
|
|
133
|
+
name: z.string().min(1),
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
// Inferred type - OK to be here
|
|
137
|
+
export type CreateUserInput = z.infer<typeof createUserSchema>;
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
```typescript
|
|
141
|
+
// types/user.ts
|
|
142
|
+
// Re-export from schema
|
|
143
|
+
export type { CreateUserInput } from './schemas/user.schema';
|
|
144
|
+
|
|
145
|
+
// Additional types
|
|
146
|
+
export interface User {
|
|
147
|
+
id: string;
|
|
148
|
+
email: string;
|
|
149
|
+
name: string;
|
|
150
|
+
createdAt: Date;
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Output Format
|
|
155
|
+
|
|
156
|
+
```markdown
|
|
157
|
+
## Type Definition Created
|
|
158
|
+
|
|
159
|
+
### File: types/[domain].ts
|
|
160
|
+
|
|
161
|
+
### Types Added
|
|
162
|
+
|
|
163
|
+
| Type | Kind | Description |
|
|
164
|
+
| ------ | --------- | ----------- |
|
|
165
|
+
| [Name] | interface | [purpose] |
|
|
166
|
+
| [Name] | type | [purpose] |
|
|
167
|
+
|
|
168
|
+
### Code
|
|
169
|
+
|
|
170
|
+
\`\`\`typescript
|
|
171
|
+
// Full type definition
|
|
172
|
+
\`\`\`
|
|
173
|
+
|
|
174
|
+
### Usage Example
|
|
175
|
+
|
|
176
|
+
\`\`\`typescript
|
|
177
|
+
import type { [Type] } from '$types/[domain]';
|
|
178
|
+
\`\`\`
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Critical Rules
|
|
182
|
+
|
|
183
|
+
1. **TYPES IN types/ ONLY** - Never in src/
|
|
184
|
+
2. **USE $types/\* ALIAS** - For imports
|
|
185
|
+
3. **EXPORT FROM INDEX** - types/index.ts re-exports all
|
|
186
|
+
4. **NAMING CONVENTIONS** - Follow patterns above
|
|
187
|
+
5. **DOCUMENT TYPES** - JSDoc for complex types
|