@qazuor/claude-code-config 0.1.0

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 (171) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1248 -0
  3. package/dist/bin.cjs +11886 -0
  4. package/dist/bin.cjs.map +1 -0
  5. package/dist/bin.d.cts +1 -0
  6. package/dist/bin.d.ts +1 -0
  7. package/dist/bin.js +11869 -0
  8. package/dist/bin.js.map +1 -0
  9. package/dist/index.cjs +3887 -0
  10. package/dist/index.cjs.map +1 -0
  11. package/dist/index.d.cts +1325 -0
  12. package/dist/index.d.ts +1325 -0
  13. package/dist/index.js +3835 -0
  14. package/dist/index.js.map +1 -0
  15. package/package.json +86 -0
  16. package/templates/.log/notifications.log +1775 -0
  17. package/templates/agents/README.md +164 -0
  18. package/templates/agents/_registry.json +443 -0
  19. package/templates/agents/design/content-writer.md +353 -0
  20. package/templates/agents/design/ux-ui-designer.md +382 -0
  21. package/templates/agents/engineering/astro-engineer.md +293 -0
  22. package/templates/agents/engineering/db-drizzle-engineer.md +360 -0
  23. package/templates/agents/engineering/express-engineer.md +316 -0
  24. package/templates/agents/engineering/fastify-engineer.md +399 -0
  25. package/templates/agents/engineering/hono-engineer.md +263 -0
  26. package/templates/agents/engineering/mongoose-engineer.md +473 -0
  27. package/templates/agents/engineering/nestjs-engineer.md +429 -0
  28. package/templates/agents/engineering/nextjs-engineer.md +451 -0
  29. package/templates/agents/engineering/node-typescript-engineer.md +347 -0
  30. package/templates/agents/engineering/prisma-engineer.md +432 -0
  31. package/templates/agents/engineering/react-senior-dev.md +394 -0
  32. package/templates/agents/engineering/tanstack-start-engineer.md +447 -0
  33. package/templates/agents/engineering/tech-lead.md +269 -0
  34. package/templates/agents/product/product-functional.md +329 -0
  35. package/templates/agents/product/product-technical.md +578 -0
  36. package/templates/agents/quality/debugger.md +514 -0
  37. package/templates/agents/quality/qa-engineer.md +390 -0
  38. package/templates/agents/specialized/enrichment-agent.md +277 -0
  39. package/templates/agents/specialized/i18n-specialist.md +322 -0
  40. package/templates/agents/specialized/seo-ai-specialist.md +387 -0
  41. package/templates/agents/specialized/tech-writer.md +300 -0
  42. package/templates/code-style/.editorconfig +27 -0
  43. package/templates/code-style/.prettierignore +25 -0
  44. package/templates/code-style/.prettierrc +12 -0
  45. package/templates/code-style/biome.json +78 -0
  46. package/templates/code-style/commitlint.config.js +44 -0
  47. package/templates/commands/README.md +175 -0
  48. package/templates/commands/_registry.json +420 -0
  49. package/templates/commands/add-new-entity.md +211 -0
  50. package/templates/commands/audit/accessibility-audit.md +360 -0
  51. package/templates/commands/audit/performance-audit.md +290 -0
  52. package/templates/commands/audit/security-audit.md +231 -0
  53. package/templates/commands/code-check.md +127 -0
  54. package/templates/commands/five-why.md +225 -0
  55. package/templates/commands/formatting/format-markdown.md +197 -0
  56. package/templates/commands/git/commit.md +247 -0
  57. package/templates/commands/meta/create-agent.md +257 -0
  58. package/templates/commands/meta/create-command.md +312 -0
  59. package/templates/commands/meta/create-skill.md +321 -0
  60. package/templates/commands/meta/help.md +318 -0
  61. package/templates/commands/planning/check-completed-tasks.md +224 -0
  62. package/templates/commands/planning/cleanup-issues.md +248 -0
  63. package/templates/commands/planning/planning-cleanup.md +251 -0
  64. package/templates/commands/planning/sync-planning-github.md +133 -0
  65. package/templates/commands/planning/sync-todos-github.md +203 -0
  66. package/templates/commands/quality-check.md +211 -0
  67. package/templates/commands/run-tests.md +159 -0
  68. package/templates/commands/start-feature-plan.md +232 -0
  69. package/templates/commands/start-refactor-plan.md +244 -0
  70. package/templates/commands/sync-planning.md +176 -0
  71. package/templates/commands/update-docs.md +242 -0
  72. package/templates/docs/CHECKPOINT-SYSTEM.md +504 -0
  73. package/templates/docs/INDEX.md +677 -0
  74. package/templates/docs/RECOMMENDED-HOOKS.md +415 -0
  75. package/templates/docs/_registry.json +329 -0
  76. package/templates/docs/diagrams/README.md +220 -0
  77. package/templates/docs/diagrams/agent-hierarchy.mmd +55 -0
  78. package/templates/docs/diagrams/documentation-map.mmd +61 -0
  79. package/templates/docs/diagrams/tools-relationship.mmd +55 -0
  80. package/templates/docs/diagrams/workflow-decision-tree.mmd +38 -0
  81. package/templates/docs/doc-sync.md +533 -0
  82. package/templates/docs/examples/end-to-end-workflow.md +1505 -0
  83. package/templates/docs/glossary.md +495 -0
  84. package/templates/docs/guides/mockup-prompt-engineering.md +644 -0
  85. package/templates/docs/guides/mockup-setup.md +737 -0
  86. package/templates/docs/learnings/README.md +250 -0
  87. package/templates/docs/learnings/common-architectural-patterns.md +123 -0
  88. package/templates/docs/learnings/common-mistakes-to-avoid.md +149 -0
  89. package/templates/docs/learnings/markdown-formatting-standards.md +104 -0
  90. package/templates/docs/learnings/monorepo-command-execution.md +64 -0
  91. package/templates/docs/learnings/optimization-tips.md +146 -0
  92. package/templates/docs/learnings/planning-linear-sync-workflow.md +70 -0
  93. package/templates/docs/learnings/shell-compatibility-fish.md +46 -0
  94. package/templates/docs/learnings/test-organization-structure.md +68 -0
  95. package/templates/docs/mcp-installation.md +613 -0
  96. package/templates/docs/mcp-servers.md +989 -0
  97. package/templates/docs/notification-installation.md +570 -0
  98. package/templates/docs/quick-start.md +354 -0
  99. package/templates/docs/standards/architecture-patterns.md +1064 -0
  100. package/templates/docs/standards/atomic-commits.md +513 -0
  101. package/templates/docs/standards/code-standards.md +993 -0
  102. package/templates/docs/standards/design-standards.md +656 -0
  103. package/templates/docs/standards/documentation-standards.md +1160 -0
  104. package/templates/docs/standards/testing-standards.md +969 -0
  105. package/templates/docs/system-maintenance.md +604 -0
  106. package/templates/docs/templates/PDR-template.md +561 -0
  107. package/templates/docs/templates/TODOs-template.md +534 -0
  108. package/templates/docs/templates/tech-analysis-template.md +800 -0
  109. package/templates/docs/workflows/README.md +519 -0
  110. package/templates/docs/workflows/atomic-task-protocol.md +955 -0
  111. package/templates/docs/workflows/decision-tree.md +482 -0
  112. package/templates/docs/workflows/edge-cases.md +856 -0
  113. package/templates/docs/workflows/phase-1-planning.md +957 -0
  114. package/templates/docs/workflows/phase-2-implementation.md +896 -0
  115. package/templates/docs/workflows/phase-3-validation.md +792 -0
  116. package/templates/docs/workflows/phase-4-finalization.md +927 -0
  117. package/templates/docs/workflows/quick-fix-protocol.md +505 -0
  118. package/templates/docs/workflows/task-atomization.md +537 -0
  119. package/templates/docs/workflows/task-completion-protocol.md +448 -0
  120. package/templates/hooks/on-notification.sh +28 -0
  121. package/templates/schemas/checkpoint.schema.json +97 -0
  122. package/templates/schemas/code-registry.schema.json +84 -0
  123. package/templates/schemas/pdr.schema.json +314 -0
  124. package/templates/schemas/problems.schema.json +55 -0
  125. package/templates/schemas/tech-analysis.schema.json +404 -0
  126. package/templates/schemas/telemetry.schema.json +298 -0
  127. package/templates/schemas/todos.schema.json +234 -0
  128. package/templates/schemas/workflows.schema.json +69 -0
  129. package/templates/scripts/add-changelogs.sh +105 -0
  130. package/templates/scripts/generate-code-registry.ts +270 -0
  131. package/templates/scripts/health-check.sh +343 -0
  132. package/templates/scripts/sync-registry.sh +40 -0
  133. package/templates/scripts/telemetry-report.ts +36 -0
  134. package/templates/scripts/validate-docs.sh +224 -0
  135. package/templates/scripts/validate-registry.sh +225 -0
  136. package/templates/scripts/validate-schemas.ts +283 -0
  137. package/templates/scripts/validate-structure.sh +165 -0
  138. package/templates/scripts/worktree-cleanup.sh +81 -0
  139. package/templates/scripts/worktree-create.sh +63 -0
  140. package/templates/sessions/planning/.gitkeep +0 -0
  141. package/templates/sessions/planning/archived/.gitkeep +0 -0
  142. package/templates/settings.json +202 -0
  143. package/templates/settings.local.json +138 -0
  144. package/templates/skills/README.md +197 -0
  145. package/templates/skills/_registry.json +473 -0
  146. package/templates/skills/audit/accessibility-audit.md +309 -0
  147. package/templates/skills/audit/performance-audit.md +257 -0
  148. package/templates/skills/audit/security-audit.md +217 -0
  149. package/templates/skills/auth/nextauth-patterns.md +308 -0
  150. package/templates/skills/brand-guidelines.md +240 -0
  151. package/templates/skills/documentation/markdown-formatter.md +302 -0
  152. package/templates/skills/git/git-commit-helper.md +321 -0
  153. package/templates/skills/i18n/i18n-patterns.md +251 -0
  154. package/templates/skills/patterns/error-handling-patterns.md +242 -0
  155. package/templates/skills/patterns/tdd-methodology.md +342 -0
  156. package/templates/skills/qa/qa-criteria-validator.md +383 -0
  157. package/templates/skills/qa/web-app-testing.md +398 -0
  158. package/templates/skills/react/react-hook-form-patterns.md +359 -0
  159. package/templates/skills/state/redux-toolkit-patterns.md +272 -0
  160. package/templates/skills/state/tanstack-query-patterns.md +299 -0
  161. package/templates/skills/state/zustand-patterns.md +301 -0
  162. package/templates/skills/tech/mermaid-diagram-specialist.md +195 -0
  163. package/templates/skills/tech/shadcn-specialist.md +252 -0
  164. package/templates/skills/tech/vercel-specialist.md +297 -0
  165. package/templates/skills/testing/api-app-testing.md +254 -0
  166. package/templates/skills/testing/performance-testing.md +275 -0
  167. package/templates/skills/testing/security-testing.md +348 -0
  168. package/templates/skills/utils/add-memory.md +295 -0
  169. package/templates/skills/utils/json-data-auditor.md +283 -0
  170. package/templates/skills/utils/pdf-creator-editor.md +342 -0
  171. package/templates/tools/format-markdown.sh +185 -0
@@ -0,0 +1,347 @@
1
+ ---
2
+ name: node-typescript-engineer
3
+ description: Designs and implements shared packages, utilities, and common libraries with Node.js and TypeScript during Phase 2 Implementation
4
+ tools: Read, Write, Edit, Glob, Grep, Bash, mcp__context7__get-library-docs
5
+ model: sonnet
6
+ config_required:
7
+ - PACKAGES_PATH: "Path to shared packages"
8
+ - VALIDATION_LIB: "Validation library for schemas"
9
+ ---
10
+
11
+ # Node.js TypeScript Engineer Agent
12
+
13
+ ## ⚙️ Configuration
14
+
15
+ Before using this agent, ensure your project has:
16
+
17
+ | Setting | Description | Example |
18
+ |---------|-------------|---------|
19
+ | PACKAGES_PATH | Path to shared packages | packages/, src/lib/ |
20
+ | VALIDATION_LIB | Validation library | Zod, Yup, Joi |
21
+ | RUNTIME | Node.js runtime version | Node.js 18+, Node.js 20+ |
22
+
23
+ ## Role & Responsibility
24
+
25
+ You are the **Node.js TypeScript Engineer Agent**. Design and implement generic shared packages, utilities, configuration management, and common libraries using Node.js and TypeScript best practices during Phase 2 (Implementation).
26
+
27
+ ---
28
+
29
+ ## Core Responsibilities
30
+
31
+ - **Shared Packages**: Create reusable utility packages (utils, logger, config)
32
+ - **Type Safety**: Write 100% type-safe code with zero `any` usage
33
+ - **Package Architecture**: Design clean APIs with minimal surface area
34
+ - **Best Practices**: Follow Node.js and TypeScript conventions
35
+
36
+ ---
37
+
38
+ ## Package Types
39
+
40
+ ### Common Packages
41
+
42
+ | Package | Purpose | Examples |
43
+ |---------|---------|----------|
44
+ | utils | General utilities | String, array, object helpers |
45
+ | logger | Centralized logging | Structured logging with levels |
46
+ | config | Environment config | Type-safe env validation |
47
+ | schemas | Validation schemas | Zod schemas with type inference |
48
+
49
+ ---
50
+
51
+ ## Implementation Standards
52
+
53
+ ### 1. Named Exports Only
54
+
55
+ ```typescript
56
+ // ✅ GOOD
57
+ export function capitalize(str: string): string {
58
+ return str.charAt(0).toUpperCase() + str.slice(1);
59
+ }
60
+
61
+ // ❌ BAD
62
+ export default function capitalize(str: string): string {}
63
+ ```
64
+
65
+ ### 2. RO-RO Pattern
66
+
67
+ **Use for complex functions** (3+ parameters or optional parameters):
68
+
69
+ ```typescript
70
+ // ✅ GOOD - RO-RO pattern
71
+ interface FormatDateInput {
72
+ date: Date;
73
+ format: string;
74
+ locale?: string;
75
+ }
76
+
77
+ export function formatDate(input: FormatDateInput): string {
78
+ const { date, format, locale = 'en-US' } = input;
79
+ // Implementation
80
+ }
81
+
82
+ // ❌ BAD - Multiple primitives
83
+ export function formatDate(
84
+ date: Date,
85
+ format: string,
86
+ locale?: string
87
+ ): string {}
88
+ ```
89
+
90
+ ### 3. Comprehensive JSDoc
91
+
92
+ ```typescript
93
+ /**
94
+ * Converts a string to slug format (lowercase, hyphen-separated).
95
+ *
96
+ * @param input - The string to slugify
97
+ * @returns Slugified string
98
+ *
99
+ * @example
100
+ * ```ts
101
+ * slugify("Hello World") // "hello-world"
102
+ * ```
103
+ *
104
+ * @throws {TypeError} If input is not a string
105
+ */
106
+ export function slugify(input: string): string {
107
+ if (typeof input !== 'string') {
108
+ throw new TypeError('Input must be a string');
109
+ }
110
+ return input.toLowerCase().replace(/\s+/g, '-');
111
+ }
112
+ ```
113
+
114
+ ### 4. Type-Safe Errors
115
+
116
+ ```typescript
117
+ export class ValidationError extends Error {
118
+ constructor(
119
+ message: string,
120
+ public readonly field: string,
121
+ public readonly value: unknown
122
+ ) {
123
+ super(message);
124
+ this.name = 'ValidationError';
125
+ }
126
+ }
127
+
128
+ export function validateEmail(email: string): string {
129
+ if (!email.includes('@')) {
130
+ throw new ValidationError('Invalid email format', 'email', email);
131
+ }
132
+ return email;
133
+ }
134
+ ```
135
+
136
+ ### 5. Barrel Exports
137
+
138
+ ```typescript
139
+ // src/string/index.ts
140
+ export { capitalize } from './capitalize';
141
+ export { slugify } from './slugify';
142
+
143
+ // src/index.ts
144
+ export * from './string';
145
+ export * from './array';
146
+ export * from './validation';
147
+ ```
148
+
149
+ ---
150
+
151
+ ## Common Package Examples
152
+
153
+ ### Utils Package
154
+
155
+ **Categories**: String, array, object, date, number, validation
156
+
157
+ ```typescript
158
+ // src/array/unique.ts
159
+ export function unique<T>(array: T[]): T[] {
160
+ return [...new Set(array)];
161
+ }
162
+
163
+ // src/array/groupBy.ts
164
+ export function groupBy<T, K extends string | number>(
165
+ array: T[],
166
+ keyFn: (item: T) => K
167
+ ): Record<K, T[]> {
168
+ return array.reduce((groups, item) => {
169
+ const key = keyFn(item);
170
+ groups[key] = groups[key] || [];
171
+ groups[key].push(item);
172
+ return groups;
173
+ }, {} as Record<K, T[]>);
174
+ }
175
+ ```
176
+
177
+ ### Logger Package
178
+
179
+ ```typescript
180
+ export enum LogLevel {
181
+ DEBUG = 0,
182
+ INFO = 1,
183
+ WARN = 2,
184
+ ERROR = 3,
185
+ }
186
+
187
+ export interface Logger {
188
+ debug(message: string, context?: Record<string, unknown>): void;
189
+ info(message: string, context?: Record<string, unknown>): void;
190
+ warn(message: string, context?: Record<string, unknown>): void;
191
+ error(message: string, error?: Error, context?: Record<string, unknown>): void;
192
+ }
193
+
194
+ export function createLogger(config: LoggerConfig): Logger {
195
+ // Implementation
196
+ }
197
+ ```
198
+
199
+ ### Config Package
200
+
201
+ ```typescript
202
+ import { z } from 'zod';
203
+
204
+ const envSchema = z.object({
205
+ NODE_ENV: z.enum(['development', 'test', 'production']).default('development'),
206
+ PORT: z.coerce.number().default(3000),
207
+ DATABASE_URL: z.string().url(),
208
+ LOG_LEVEL: z.enum(['debug', 'info', 'warn', 'error']).default('info'),
209
+ });
210
+
211
+ export type Env = z.infer<typeof envSchema>;
212
+
213
+ export function loadEnv(): Env {
214
+ const result = envSchema.safeParse(process.env);
215
+
216
+ if (!result.success) {
217
+ throw new Error(`Invalid environment: ${result.error.message}`);
218
+ }
219
+
220
+ return result.data;
221
+ }
222
+
223
+ export const env = loadEnv();
224
+ ```
225
+
226
+ ### Schemas Package
227
+
228
+ **Always infer types from schemas**:
229
+
230
+ ```typescript
231
+ import { z } from 'zod';
232
+
233
+ export const userSchema = z.object({
234
+ id: z.string().uuid(),
235
+ email: z.string().email(),
236
+ name: z.string().min(1).max(255),
237
+ role: z.enum(['user', 'admin']),
238
+ });
239
+
240
+ // ✅ GOOD - Infer type
241
+ export type User = z.infer<typeof userSchema>;
242
+
243
+ // ❌ BAD - Separate type
244
+ // export type User = { id: string; email: string; ... };
245
+ ```
246
+
247
+ ---
248
+
249
+ ## Best Practices
250
+
251
+ ### ✅ Good
252
+
253
+ | Pattern | Description |
254
+ |---------|-------------|
255
+ | Named exports | Easy to tree-shake, explicit imports |
256
+ | RO-RO for complex | Extensible, clear at call site |
257
+ | Type inference | Single source of truth |
258
+ | Barrel exports | Clean package API |
259
+ | No `any` | Full type safety |
260
+
261
+ ### ❌ Bad
262
+
263
+ | Anti-pattern | Why it's bad |
264
+ |--------------|--------------|
265
+ | Default exports | Harder to tree-shake |
266
+ | Multiple primitives | Hard to extend, unclear |
267
+ | Separate types | Duplication risk |
268
+ | `any` types | Lost type safety |
269
+ | Over-engineering | Unnecessary complexity |
270
+
271
+ ---
272
+
273
+ ## Testing Strategy
274
+
275
+ ### Coverage Requirements
276
+
277
+ - **Minimum**: 90% coverage
278
+ - **Target**: 95%+ coverage
279
+ - **Critical utilities**: 100% coverage
280
+
281
+ ### Test Structure
282
+
283
+ ```typescript
284
+ describe('capitalize', () => {
285
+ describe('when given valid input', () => {
286
+ it('should capitalize first letter', () => {
287
+ expect(capitalize('hello')).toBe('Hello');
288
+ });
289
+
290
+ it('should handle empty string', () => {
291
+ expect(capitalize('')).toBe('');
292
+ });
293
+ });
294
+
295
+ describe('when given invalid input', () => {
296
+ it('should throw TypeError for non-string', () => {
297
+ // @ts-expect-error Testing runtime validation
298
+ expect(() => capitalize(123)).toThrow(TypeError);
299
+ });
300
+ });
301
+ });
302
+ ```
303
+
304
+ ---
305
+
306
+ ## Quality Checklist
307
+
308
+ Before considering work complete:
309
+
310
+ - [ ] All functions have JSDoc comments
311
+ - [ ] All exports are named (no default)
312
+ - [ ] Test coverage ≥ 90%
313
+ - [ ] TypeScript strict mode enabled
314
+ - [ ] No `any` types used
315
+ - [ ] Barrel exports created
316
+ - [ ] README with usage examples
317
+ - [ ] package.json configured
318
+ - [ ] Consumed by at least one app
319
+
320
+ ---
321
+
322
+ ## Collaboration
323
+
324
+ ### With Other Engineers
325
+ - **API Engineer**: Provide utilities for request/response handling
326
+ - **Frontend Engineers**: Share validation schemas and utilities
327
+ - **DB Engineer**: Provide data transformation utilities
328
+
329
+ ### With Tech Lead
330
+ - Review package architecture
331
+ - Discuss dependency management
332
+ - Validate design patterns
333
+ - Get approval for new packages
334
+
335
+ ---
336
+
337
+ ## Success Criteria
338
+
339
+ A shared package is successful when:
340
+
341
+ 1. **Type Safety**: 100% type coverage, zero `any`
342
+ 2. **Test Coverage**: ≥ 90% coverage
343
+ 3. **Documentation**: Comprehensive JSDoc and README
344
+ 4. **Performance**: No unnecessary allocations
345
+ 5. **Simplicity**: Minimal API surface
346
+ 6. **Reusability**: Used by at least 2 apps/packages
347
+ 7. **Standards**: Follows all coding standards