@qazuor/claude-code-config 0.4.0 → 0.5.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.
package/dist/index.d.cts CHANGED
@@ -267,6 +267,166 @@ interface ProjectDetectionResult {
267
267
  signals: DetectionSignal[];
268
268
  }
269
269
 
270
+ /**
271
+ * Trailing comma options
272
+ */
273
+ type TrailingCommaOption = 'all' | 'es5' | 'none';
274
+ /**
275
+ * Test pattern options
276
+ */
277
+ type TestPattern = 'aaa' | 'gwt';
278
+ /**
279
+ * Test location options
280
+ */
281
+ type TestLocation = 'colocated' | 'separate';
282
+ /**
283
+ * JSDoc detail level
284
+ */
285
+ type JsDocLevel = 'minimal' | 'standard' | 'comprehensive';
286
+ /**
287
+ * Changelog format
288
+ */
289
+ type ChangelogFormat = 'keepachangelog' | 'conventional';
290
+ /**
291
+ * Inline comment policy
292
+ */
293
+ type InlineCommentPolicy = 'why-not-what' | 'minimal' | 'extensive';
294
+ /**
295
+ * CSS framework options
296
+ */
297
+ type CssFramework = 'tailwind' | 'css-modules' | 'styled-components' | 'vanilla';
298
+ /**
299
+ * Component library options
300
+ */
301
+ type ComponentLibrary = 'shadcn' | 'radix' | 'headless' | 'none';
302
+ /**
303
+ * WCAG accessibility level
304
+ */
305
+ type AccessibilityLevel = 'A' | 'AA' | 'AAA';
306
+ /**
307
+ * Authentication pattern options
308
+ */
309
+ type AuthPattern = 'jwt' | 'session' | 'oauth' | 'none';
310
+ /**
311
+ * Input validation library options
312
+ */
313
+ type ValidationLibrary = 'zod' | 'yup' | 'joi' | 'manual';
314
+ /**
315
+ * Code standards configuration
316
+ */
317
+ interface StandardsConfigCode {
318
+ /** Indent style (space or tab) */
319
+ indentStyle: 'space' | 'tab';
320
+ /** Indent size (number of spaces or tab width) */
321
+ indentSize: number;
322
+ /** Maximum line length */
323
+ maxLineLength: number;
324
+ /** Maximum lines per file (excluding tests, docs, JSON) */
325
+ maxFileLines: number;
326
+ /** Quote style for strings */
327
+ quoteStyle: 'single' | 'double';
328
+ /** Use semicolons */
329
+ semicolons: boolean;
330
+ /** Trailing comma style */
331
+ trailingCommas: TrailingCommaOption;
332
+ /** Allow 'any' type in TypeScript */
333
+ allowAny: boolean;
334
+ /** Require named exports only (no default exports) */
335
+ namedExportsOnly: boolean;
336
+ /** Require RO-RO pattern (Receive Object, Return Object) */
337
+ roroPattern: boolean;
338
+ /** Require JSDoc for all exports */
339
+ jsDocRequired: boolean;
340
+ }
341
+ /**
342
+ * Testing standards configuration
343
+ */
344
+ interface StandardsConfigTesting {
345
+ /** Minimum code coverage percentage (0-100) */
346
+ coverageTarget: number;
347
+ /** Require TDD methodology */
348
+ tddRequired: boolean;
349
+ /** Test pattern: AAA (Arrange-Act-Assert) or GWT (Given-When-Then) */
350
+ testPattern: TestPattern;
351
+ /** Test file location: colocated (__tests__) or separate (test/) */
352
+ testLocation: TestLocation;
353
+ /** Maximum milliseconds per unit test */
354
+ unitTestMaxMs: number;
355
+ /** Maximum milliseconds per integration test */
356
+ integrationTestMaxMs: number;
357
+ }
358
+ /**
359
+ * Documentation standards configuration
360
+ */
361
+ interface StandardsConfigDocumentation {
362
+ /** JSDoc detail level */
363
+ jsDocLevel: JsDocLevel;
364
+ /** Require examples in JSDoc */
365
+ requireExamples: boolean;
366
+ /** Changelog format */
367
+ changelogFormat: ChangelogFormat;
368
+ /** Inline comment policy */
369
+ inlineCommentPolicy: InlineCommentPolicy;
370
+ }
371
+ /**
372
+ * Design standards configuration
373
+ */
374
+ interface StandardsConfigDesign {
375
+ /** CSS framework */
376
+ cssFramework: CssFramework;
377
+ /** Component library */
378
+ componentLibrary: ComponentLibrary;
379
+ /** WCAG accessibility level target */
380
+ accessibilityLevel: AccessibilityLevel;
381
+ /** Support dark mode */
382
+ darkModeSupport: boolean;
383
+ }
384
+ /**
385
+ * Security standards configuration
386
+ */
387
+ interface StandardsConfigSecurity {
388
+ /** Authentication pattern */
389
+ authPattern: AuthPattern;
390
+ /** Input validation library */
391
+ inputValidation: ValidationLibrary;
392
+ /** Enable CSRF protection */
393
+ csrfProtection: boolean;
394
+ /** Enable rate limiting */
395
+ rateLimiting: boolean;
396
+ }
397
+ /**
398
+ * Performance standards configuration
399
+ */
400
+ interface StandardsConfigPerformance {
401
+ /** Largest Contentful Paint target (milliseconds) */
402
+ lcpTarget: number;
403
+ /** First Input Delay target (milliseconds) */
404
+ fidTarget: number;
405
+ /** Cumulative Layout Shift target */
406
+ clsTarget: number;
407
+ /** Bundle size target (KB) */
408
+ bundleSizeTargetKb: number;
409
+ /** API response time target (milliseconds) */
410
+ apiResponseTargetMs: number;
411
+ }
412
+ /**
413
+ * Complete standards configuration
414
+ */
415
+ interface StandardsConfig {
416
+ /** Code standards */
417
+ code: StandardsConfigCode;
418
+ /** Testing standards */
419
+ testing: StandardsConfigTesting;
420
+ /** Documentation standards */
421
+ documentation: StandardsConfigDocumentation;
422
+ /** Design standards */
423
+ design: StandardsConfigDesign;
424
+ /** Security standards */
425
+ security: StandardsConfigSecurity;
426
+ /** Performance standards */
427
+ performance: StandardsConfigPerformance;
428
+ }
429
+
270
430
  /**
271
431
  * User's template configuration - Commands
272
432
  */
@@ -674,6 +834,121 @@ interface CodeStyleConfig {
674
834
  /** Prettier options */
675
835
  prettierOptions?: PrettierOptions;
676
836
  }
837
+ /**
838
+ * Pre-commit test mode options
839
+ */
840
+ type PreCommitTestMode = 'none' | 'affected' | 'all';
841
+ /**
842
+ * Pre-commit validation configuration for a single check
843
+ */
844
+ interface PreCommitValidation {
845
+ /** Whether this validation is enabled */
846
+ enabled: boolean;
847
+ /** Custom command override */
848
+ command?: string;
849
+ /** Allow failures without blocking commit */
850
+ allowFailure?: boolean;
851
+ /** Timeout in milliseconds */
852
+ timeout?: number;
853
+ }
854
+ /**
855
+ * Pre-commit lint validation configuration
856
+ */
857
+ interface PreCommitLintConfig extends PreCommitValidation {
858
+ /** Lint only staged files (faster) */
859
+ stagedOnly: boolean;
860
+ /** Linter tool */
861
+ tool?: 'biome' | 'eslint' | 'custom';
862
+ }
863
+ /**
864
+ * Pre-commit test validation configuration
865
+ */
866
+ interface PreCommitTestConfig extends PreCommitValidation {
867
+ /** Test mode: none, affected files only, or all tests */
868
+ mode: PreCommitTestMode;
869
+ /** Coverage threshold (0-100, 0 means no threshold) */
870
+ coverageThreshold: number;
871
+ }
872
+ /**
873
+ * Pre-commit format check configuration
874
+ */
875
+ interface PreCommitFormatConfig extends PreCommitValidation {
876
+ /** Formatter tool */
877
+ tool?: 'biome' | 'prettier' | 'custom';
878
+ }
879
+ /**
880
+ * Custom pre-commit command
881
+ */
882
+ interface PreCommitCustomCommand {
883
+ /** Display name for the command */
884
+ name: string;
885
+ /** Command to execute */
886
+ command: string;
887
+ /** Allow failure without blocking */
888
+ allowFailure?: boolean;
889
+ /** Run order (lower runs first) */
890
+ order?: number;
891
+ }
892
+ /**
893
+ * Pre-commit hook configuration
894
+ */
895
+ interface PreCommitConfig {
896
+ /** Whether pre-commit hooks are enabled */
897
+ enabled: boolean;
898
+ /** Linting configuration */
899
+ lint: PreCommitLintConfig;
900
+ /** Type checking configuration */
901
+ typecheck: PreCommitValidation;
902
+ /** Test configuration */
903
+ tests: PreCommitTestConfig;
904
+ /** Format check configuration */
905
+ formatCheck: PreCommitFormatConfig;
906
+ /** Custom commands to run */
907
+ customCommands: PreCommitCustomCommand[];
908
+ /** Show elapsed time for each step */
909
+ showTiming: boolean;
910
+ /** Continue running checks after first failure */
911
+ continueOnFailure: boolean;
912
+ }
913
+ /**
914
+ * Response tone options
915
+ */
916
+ type ResponseTone = 'friendly' | 'professional' | 'formal' | 'strict' | 'mentor';
917
+ /**
918
+ * Response verbosity level
919
+ */
920
+ type ResponseVerbosity = 'concise' | 'balanced' | 'detailed';
921
+ /**
922
+ * Error response style
923
+ */
924
+ type ErrorResponseStyle = 'supportive' | 'neutral' | 'direct';
925
+ /**
926
+ * Proactivity level
927
+ */
928
+ type ProactivityLevel = 'minimal' | 'moderate' | 'high';
929
+ /**
930
+ * Response style configuration
931
+ */
932
+ interface ResponseStyleConfig {
933
+ /** General response tone */
934
+ tone: ResponseTone;
935
+ /** Detail level */
936
+ verbosity: ResponseVerbosity;
937
+ /** Response language (code always in English) */
938
+ responseLanguage: 'es' | 'en' | 'auto';
939
+ /** Use emojis in responses */
940
+ useEmojis: boolean;
941
+ /** Style when reporting errors */
942
+ errorStyle: ErrorResponseStyle;
943
+ /** Include explanation of the "why" */
944
+ explainReasoning: boolean;
945
+ /** Offer alternatives when multiple solutions exist */
946
+ offerAlternatives: boolean;
947
+ /** Proactivity level (suggest unsolicited improvements) */
948
+ proactivity: ProactivityLevel;
949
+ /** Confirm before big changes */
950
+ confirmBeforeBigChanges: boolean;
951
+ }
677
952
  /**
678
953
  * Extra components configuration
679
954
  */
@@ -690,9 +965,15 @@ interface ExtrasConfig {
690
965
  codeStyle?: CodeStyleConfig;
691
966
  /** Folder structure preferences */
692
967
  folderPreferences?: FolderPreferences;
968
+ /** Standards configuration */
969
+ standards?: StandardsConfig;
970
+ /** Pre-commit hook configuration */
971
+ preCommit?: PreCommitConfig;
972
+ /** Response style configuration */
973
+ responseStyle?: ResponseStyleConfig;
693
974
  }
694
975
  /**
695
- * Main Claude configuration stored in .claude/config.json
976
+ * Main Claude configuration stored in .claude/qazuor-claude-config.json
696
977
  */
697
978
  interface ClaudeConfig {
698
979
  /** CLI version that created this config */
package/dist/index.d.ts CHANGED
@@ -267,6 +267,166 @@ interface ProjectDetectionResult {
267
267
  signals: DetectionSignal[];
268
268
  }
269
269
 
270
+ /**
271
+ * Trailing comma options
272
+ */
273
+ type TrailingCommaOption = 'all' | 'es5' | 'none';
274
+ /**
275
+ * Test pattern options
276
+ */
277
+ type TestPattern = 'aaa' | 'gwt';
278
+ /**
279
+ * Test location options
280
+ */
281
+ type TestLocation = 'colocated' | 'separate';
282
+ /**
283
+ * JSDoc detail level
284
+ */
285
+ type JsDocLevel = 'minimal' | 'standard' | 'comprehensive';
286
+ /**
287
+ * Changelog format
288
+ */
289
+ type ChangelogFormat = 'keepachangelog' | 'conventional';
290
+ /**
291
+ * Inline comment policy
292
+ */
293
+ type InlineCommentPolicy = 'why-not-what' | 'minimal' | 'extensive';
294
+ /**
295
+ * CSS framework options
296
+ */
297
+ type CssFramework = 'tailwind' | 'css-modules' | 'styled-components' | 'vanilla';
298
+ /**
299
+ * Component library options
300
+ */
301
+ type ComponentLibrary = 'shadcn' | 'radix' | 'headless' | 'none';
302
+ /**
303
+ * WCAG accessibility level
304
+ */
305
+ type AccessibilityLevel = 'A' | 'AA' | 'AAA';
306
+ /**
307
+ * Authentication pattern options
308
+ */
309
+ type AuthPattern = 'jwt' | 'session' | 'oauth' | 'none';
310
+ /**
311
+ * Input validation library options
312
+ */
313
+ type ValidationLibrary = 'zod' | 'yup' | 'joi' | 'manual';
314
+ /**
315
+ * Code standards configuration
316
+ */
317
+ interface StandardsConfigCode {
318
+ /** Indent style (space or tab) */
319
+ indentStyle: 'space' | 'tab';
320
+ /** Indent size (number of spaces or tab width) */
321
+ indentSize: number;
322
+ /** Maximum line length */
323
+ maxLineLength: number;
324
+ /** Maximum lines per file (excluding tests, docs, JSON) */
325
+ maxFileLines: number;
326
+ /** Quote style for strings */
327
+ quoteStyle: 'single' | 'double';
328
+ /** Use semicolons */
329
+ semicolons: boolean;
330
+ /** Trailing comma style */
331
+ trailingCommas: TrailingCommaOption;
332
+ /** Allow 'any' type in TypeScript */
333
+ allowAny: boolean;
334
+ /** Require named exports only (no default exports) */
335
+ namedExportsOnly: boolean;
336
+ /** Require RO-RO pattern (Receive Object, Return Object) */
337
+ roroPattern: boolean;
338
+ /** Require JSDoc for all exports */
339
+ jsDocRequired: boolean;
340
+ }
341
+ /**
342
+ * Testing standards configuration
343
+ */
344
+ interface StandardsConfigTesting {
345
+ /** Minimum code coverage percentage (0-100) */
346
+ coverageTarget: number;
347
+ /** Require TDD methodology */
348
+ tddRequired: boolean;
349
+ /** Test pattern: AAA (Arrange-Act-Assert) or GWT (Given-When-Then) */
350
+ testPattern: TestPattern;
351
+ /** Test file location: colocated (__tests__) or separate (test/) */
352
+ testLocation: TestLocation;
353
+ /** Maximum milliseconds per unit test */
354
+ unitTestMaxMs: number;
355
+ /** Maximum milliseconds per integration test */
356
+ integrationTestMaxMs: number;
357
+ }
358
+ /**
359
+ * Documentation standards configuration
360
+ */
361
+ interface StandardsConfigDocumentation {
362
+ /** JSDoc detail level */
363
+ jsDocLevel: JsDocLevel;
364
+ /** Require examples in JSDoc */
365
+ requireExamples: boolean;
366
+ /** Changelog format */
367
+ changelogFormat: ChangelogFormat;
368
+ /** Inline comment policy */
369
+ inlineCommentPolicy: InlineCommentPolicy;
370
+ }
371
+ /**
372
+ * Design standards configuration
373
+ */
374
+ interface StandardsConfigDesign {
375
+ /** CSS framework */
376
+ cssFramework: CssFramework;
377
+ /** Component library */
378
+ componentLibrary: ComponentLibrary;
379
+ /** WCAG accessibility level target */
380
+ accessibilityLevel: AccessibilityLevel;
381
+ /** Support dark mode */
382
+ darkModeSupport: boolean;
383
+ }
384
+ /**
385
+ * Security standards configuration
386
+ */
387
+ interface StandardsConfigSecurity {
388
+ /** Authentication pattern */
389
+ authPattern: AuthPattern;
390
+ /** Input validation library */
391
+ inputValidation: ValidationLibrary;
392
+ /** Enable CSRF protection */
393
+ csrfProtection: boolean;
394
+ /** Enable rate limiting */
395
+ rateLimiting: boolean;
396
+ }
397
+ /**
398
+ * Performance standards configuration
399
+ */
400
+ interface StandardsConfigPerformance {
401
+ /** Largest Contentful Paint target (milliseconds) */
402
+ lcpTarget: number;
403
+ /** First Input Delay target (milliseconds) */
404
+ fidTarget: number;
405
+ /** Cumulative Layout Shift target */
406
+ clsTarget: number;
407
+ /** Bundle size target (KB) */
408
+ bundleSizeTargetKb: number;
409
+ /** API response time target (milliseconds) */
410
+ apiResponseTargetMs: number;
411
+ }
412
+ /**
413
+ * Complete standards configuration
414
+ */
415
+ interface StandardsConfig {
416
+ /** Code standards */
417
+ code: StandardsConfigCode;
418
+ /** Testing standards */
419
+ testing: StandardsConfigTesting;
420
+ /** Documentation standards */
421
+ documentation: StandardsConfigDocumentation;
422
+ /** Design standards */
423
+ design: StandardsConfigDesign;
424
+ /** Security standards */
425
+ security: StandardsConfigSecurity;
426
+ /** Performance standards */
427
+ performance: StandardsConfigPerformance;
428
+ }
429
+
270
430
  /**
271
431
  * User's template configuration - Commands
272
432
  */
@@ -674,6 +834,121 @@ interface CodeStyleConfig {
674
834
  /** Prettier options */
675
835
  prettierOptions?: PrettierOptions;
676
836
  }
837
+ /**
838
+ * Pre-commit test mode options
839
+ */
840
+ type PreCommitTestMode = 'none' | 'affected' | 'all';
841
+ /**
842
+ * Pre-commit validation configuration for a single check
843
+ */
844
+ interface PreCommitValidation {
845
+ /** Whether this validation is enabled */
846
+ enabled: boolean;
847
+ /** Custom command override */
848
+ command?: string;
849
+ /** Allow failures without blocking commit */
850
+ allowFailure?: boolean;
851
+ /** Timeout in milliseconds */
852
+ timeout?: number;
853
+ }
854
+ /**
855
+ * Pre-commit lint validation configuration
856
+ */
857
+ interface PreCommitLintConfig extends PreCommitValidation {
858
+ /** Lint only staged files (faster) */
859
+ stagedOnly: boolean;
860
+ /** Linter tool */
861
+ tool?: 'biome' | 'eslint' | 'custom';
862
+ }
863
+ /**
864
+ * Pre-commit test validation configuration
865
+ */
866
+ interface PreCommitTestConfig extends PreCommitValidation {
867
+ /** Test mode: none, affected files only, or all tests */
868
+ mode: PreCommitTestMode;
869
+ /** Coverage threshold (0-100, 0 means no threshold) */
870
+ coverageThreshold: number;
871
+ }
872
+ /**
873
+ * Pre-commit format check configuration
874
+ */
875
+ interface PreCommitFormatConfig extends PreCommitValidation {
876
+ /** Formatter tool */
877
+ tool?: 'biome' | 'prettier' | 'custom';
878
+ }
879
+ /**
880
+ * Custom pre-commit command
881
+ */
882
+ interface PreCommitCustomCommand {
883
+ /** Display name for the command */
884
+ name: string;
885
+ /** Command to execute */
886
+ command: string;
887
+ /** Allow failure without blocking */
888
+ allowFailure?: boolean;
889
+ /** Run order (lower runs first) */
890
+ order?: number;
891
+ }
892
+ /**
893
+ * Pre-commit hook configuration
894
+ */
895
+ interface PreCommitConfig {
896
+ /** Whether pre-commit hooks are enabled */
897
+ enabled: boolean;
898
+ /** Linting configuration */
899
+ lint: PreCommitLintConfig;
900
+ /** Type checking configuration */
901
+ typecheck: PreCommitValidation;
902
+ /** Test configuration */
903
+ tests: PreCommitTestConfig;
904
+ /** Format check configuration */
905
+ formatCheck: PreCommitFormatConfig;
906
+ /** Custom commands to run */
907
+ customCommands: PreCommitCustomCommand[];
908
+ /** Show elapsed time for each step */
909
+ showTiming: boolean;
910
+ /** Continue running checks after first failure */
911
+ continueOnFailure: boolean;
912
+ }
913
+ /**
914
+ * Response tone options
915
+ */
916
+ type ResponseTone = 'friendly' | 'professional' | 'formal' | 'strict' | 'mentor';
917
+ /**
918
+ * Response verbosity level
919
+ */
920
+ type ResponseVerbosity = 'concise' | 'balanced' | 'detailed';
921
+ /**
922
+ * Error response style
923
+ */
924
+ type ErrorResponseStyle = 'supportive' | 'neutral' | 'direct';
925
+ /**
926
+ * Proactivity level
927
+ */
928
+ type ProactivityLevel = 'minimal' | 'moderate' | 'high';
929
+ /**
930
+ * Response style configuration
931
+ */
932
+ interface ResponseStyleConfig {
933
+ /** General response tone */
934
+ tone: ResponseTone;
935
+ /** Detail level */
936
+ verbosity: ResponseVerbosity;
937
+ /** Response language (code always in English) */
938
+ responseLanguage: 'es' | 'en' | 'auto';
939
+ /** Use emojis in responses */
940
+ useEmojis: boolean;
941
+ /** Style when reporting errors */
942
+ errorStyle: ErrorResponseStyle;
943
+ /** Include explanation of the "why" */
944
+ explainReasoning: boolean;
945
+ /** Offer alternatives when multiple solutions exist */
946
+ offerAlternatives: boolean;
947
+ /** Proactivity level (suggest unsolicited improvements) */
948
+ proactivity: ProactivityLevel;
949
+ /** Confirm before big changes */
950
+ confirmBeforeBigChanges: boolean;
951
+ }
677
952
  /**
678
953
  * Extra components configuration
679
954
  */
@@ -690,9 +965,15 @@ interface ExtrasConfig {
690
965
  codeStyle?: CodeStyleConfig;
691
966
  /** Folder structure preferences */
692
967
  folderPreferences?: FolderPreferences;
968
+ /** Standards configuration */
969
+ standards?: StandardsConfig;
970
+ /** Pre-commit hook configuration */
971
+ preCommit?: PreCommitConfig;
972
+ /** Response style configuration */
973
+ responseStyle?: ResponseStyleConfig;
693
974
  }
694
975
  /**
695
- * Main Claude configuration stored in .claude/config.json
976
+ * Main Claude configuration stored in .claude/qazuor-claude-config.json
696
977
  */
697
978
  interface ClaudeConfig {
698
979
  /** CLI version that created this config */
package/dist/index.js CHANGED
@@ -2307,7 +2307,7 @@ var colors = {
2307
2307
  };
2308
2308
 
2309
2309
  // src/lib/config/reader.ts
2310
- var CONFIG_FILE = "config.json";
2310
+ var CONFIG_FILE = "qazuor-claude-config.json";
2311
2311
  var CLAUDE_DIR = ".claude";
2312
2312
  async function readConfig(projectPath) {
2313
2313
  const configPath = joinPath(projectPath, CLAUDE_DIR, CONFIG_FILE);
@@ -2329,7 +2329,7 @@ async function hasConfig(projectPath) {
2329
2329
  // src/lib/config/writer.ts
2330
2330
  init_esm_shims();
2331
2331
  init_fs();
2332
- var CONFIG_FILE2 = "config.json";
2332
+ var CONFIG_FILE2 = "qazuor-claude-config.json";
2333
2333
  var CLAUDE_DIR2 = ".claude";
2334
2334
  async function writeConfig(projectPath, config, options) {
2335
2335
  const claudePath = joinPath(projectPath, CLAUDE_DIR2);