red64-cli 0.1.0 → 0.2.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 (103) hide show
  1. package/dist/cli/parseArgs.d.ts.map +1 -1
  2. package/dist/cli/parseArgs.js +5 -0
  3. package/dist/cli/parseArgs.js.map +1 -1
  4. package/dist/components/init/CompleteStep.d.ts.map +1 -1
  5. package/dist/components/init/CompleteStep.js +2 -2
  6. package/dist/components/init/CompleteStep.js.map +1 -1
  7. package/dist/components/init/TestCheckStep.d.ts +16 -0
  8. package/dist/components/init/TestCheckStep.d.ts.map +1 -0
  9. package/dist/components/init/TestCheckStep.js +120 -0
  10. package/dist/components/init/TestCheckStep.js.map +1 -0
  11. package/dist/components/init/index.d.ts +1 -0
  12. package/dist/components/init/index.d.ts.map +1 -1
  13. package/dist/components/init/index.js +1 -0
  14. package/dist/components/init/index.js.map +1 -1
  15. package/dist/components/init/types.d.ts +9 -0
  16. package/dist/components/init/types.d.ts.map +1 -1
  17. package/dist/components/screens/InitScreen.d.ts.map +1 -1
  18. package/dist/components/screens/InitScreen.js +69 -6
  19. package/dist/components/screens/InitScreen.js.map +1 -1
  20. package/dist/components/screens/StartScreen.d.ts.map +1 -1
  21. package/dist/components/screens/StartScreen.js +89 -3
  22. package/dist/components/screens/StartScreen.js.map +1 -1
  23. package/dist/services/ConfigService.d.ts +1 -0
  24. package/dist/services/ConfigService.d.ts.map +1 -1
  25. package/dist/services/ConfigService.js.map +1 -1
  26. package/dist/services/ProjectDetector.d.ts +28 -0
  27. package/dist/services/ProjectDetector.d.ts.map +1 -0
  28. package/dist/services/ProjectDetector.js +236 -0
  29. package/dist/services/ProjectDetector.js.map +1 -0
  30. package/dist/services/TestRunner.d.ts +46 -0
  31. package/dist/services/TestRunner.d.ts.map +1 -0
  32. package/dist/services/TestRunner.js +85 -0
  33. package/dist/services/TestRunner.js.map +1 -0
  34. package/dist/services/index.d.ts +2 -0
  35. package/dist/services/index.d.ts.map +1 -1
  36. package/dist/services/index.js +2 -0
  37. package/dist/services/index.js.map +1 -1
  38. package/dist/types/index.d.ts +1 -0
  39. package/dist/types/index.d.ts.map +1 -1
  40. package/dist/types/index.js.map +1 -1
  41. package/framework/agents/claude/.claude/agents/red64/spec-impl.md +131 -2
  42. package/framework/agents/claude/.claude/commands/red64/spec-impl.md +24 -0
  43. package/framework/agents/codex/.codex/agents/red64/spec-impl.md +131 -2
  44. package/framework/agents/codex/.codex/commands/red64/spec-impl.md +24 -0
  45. package/framework/stacks/generic/feedback.md +80 -0
  46. package/framework/stacks/nextjs/accessibility.md +437 -0
  47. package/framework/stacks/nextjs/api.md +431 -0
  48. package/framework/stacks/nextjs/coding-style.md +282 -0
  49. package/framework/stacks/nextjs/commenting.md +226 -0
  50. package/framework/stacks/nextjs/components.md +411 -0
  51. package/framework/stacks/nextjs/conventions.md +333 -0
  52. package/framework/stacks/nextjs/css.md +310 -0
  53. package/framework/stacks/nextjs/error-handling.md +442 -0
  54. package/framework/stacks/nextjs/feedback.md +124 -0
  55. package/framework/stacks/nextjs/migrations.md +332 -0
  56. package/framework/stacks/nextjs/models.md +362 -0
  57. package/framework/stacks/nextjs/queries.md +410 -0
  58. package/framework/stacks/nextjs/responsive.md +338 -0
  59. package/framework/stacks/nextjs/tech-stack.md +177 -0
  60. package/framework/stacks/nextjs/test-writing.md +475 -0
  61. package/framework/stacks/nextjs/validation.md +467 -0
  62. package/framework/stacks/python/api.md +468 -0
  63. package/framework/stacks/python/authentication.md +342 -0
  64. package/framework/stacks/python/code-quality.md +283 -0
  65. package/framework/stacks/python/code-refactoring.md +315 -0
  66. package/framework/stacks/python/coding-style.md +462 -0
  67. package/framework/stacks/python/conventions.md +399 -0
  68. package/framework/stacks/python/error-handling.md +512 -0
  69. package/framework/stacks/python/feedback.md +92 -0
  70. package/framework/stacks/python/implement-ai-llm.md +468 -0
  71. package/framework/stacks/python/migrations.md +388 -0
  72. package/framework/stacks/python/models.md +399 -0
  73. package/framework/stacks/python/python.md +232 -0
  74. package/framework/stacks/python/queries.md +451 -0
  75. package/framework/stacks/python/structure.md +245 -58
  76. package/framework/stacks/python/tech.md +92 -35
  77. package/framework/stacks/python/testing.md +380 -0
  78. package/framework/stacks/python/validation.md +471 -0
  79. package/framework/stacks/rails/authentication.md +176 -0
  80. package/framework/stacks/rails/code-quality.md +287 -0
  81. package/framework/stacks/rails/code-refactoring.md +299 -0
  82. package/framework/stacks/rails/feedback.md +130 -0
  83. package/framework/stacks/rails/implement-ai-llm-with-rubyllm.md +342 -0
  84. package/framework/stacks/rails/rails.md +301 -0
  85. package/framework/stacks/rails/rails8-best-practices.md +498 -0
  86. package/framework/stacks/rails/rails8-css.md +573 -0
  87. package/framework/stacks/rails/structure.md +140 -0
  88. package/framework/stacks/rails/tech.md +108 -0
  89. package/framework/stacks/react/code-quality.md +521 -0
  90. package/framework/stacks/react/components.md +625 -0
  91. package/framework/stacks/react/data-fetching.md +586 -0
  92. package/framework/stacks/react/feedback.md +110 -0
  93. package/framework/stacks/react/forms.md +694 -0
  94. package/framework/stacks/react/performance.md +640 -0
  95. package/framework/stacks/react/product.md +22 -9
  96. package/framework/stacks/react/state-management.md +472 -0
  97. package/framework/stacks/react/structure.md +351 -44
  98. package/framework/stacks/react/tech.md +219 -30
  99. package/framework/stacks/react/testing.md +690 -0
  100. package/package.json +1 -1
  101. package/framework/stacks/node/product.md +0 -27
  102. package/framework/stacks/node/structure.md +0 -82
  103. package/framework/stacks/node/tech.md +0 -63
@@ -18,7 +18,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
18
  import { useState, useEffect, useCallback, useRef } from 'react';
19
19
  import { Box, Text, useApp } from 'ink';
20
20
  import { Spinner, Select } from '@inkjs/ui';
21
- import { createStateStore, createAgentInvoker, createExtendedFlowMachine, createWorktreeService, createCommitService, createTaskParser, createSpecInitService, createClaudeHealthCheck, createGitStatusChecker, createConfigService, sanitizeFeatureName } from '../../services/index.js';
21
+ import { createStateStore, createAgentInvoker, createExtendedFlowMachine, createWorktreeService, createCommitService, createTaskParser, createSpecInitService, createClaudeHealthCheck, createGitStatusChecker, createConfigService, createProjectDetector, createTestRunner, sanitizeFeatureName } from '../../services/index.js';
22
22
  import { FeatureSidebar } from '../ui/index.js';
23
23
  import { join } from 'node:path';
24
24
  import { appendFile, mkdir } from 'node:fs/promises';
@@ -113,6 +113,8 @@ export const StartScreen = ({ args, flags }) => {
113
113
  const healthCheck = createClaudeHealthCheck();
114
114
  const gitStatusChecker = createGitStatusChecker();
115
115
  const configService = createConfigService();
116
+ const projectDetector = createProjectDetector();
117
+ const testRunner = createTestRunner();
116
118
  servicesRef.current = {
117
119
  stateStore,
118
120
  agentInvoker,
@@ -123,7 +125,9 @@ export const StartScreen = ({ args, flags }) => {
123
125
  specInitService,
124
126
  healthCheck,
125
127
  gitStatusChecker,
126
- configService
128
+ configService,
129
+ projectDetector,
130
+ testRunner
127
131
  };
128
132
  }
129
133
  const services = servicesRef.current;
@@ -522,6 +526,10 @@ export const StartScreen = ({ args, flags }) => {
522
526
  timeoutMs: 30000
523
527
  });
524
528
  setFlowState(prev => ({ ...prev, isHealthChecking: false }));
529
+ // Guard against undefined result (can happen if component unmounts during check)
530
+ if (!healthResult) {
531
+ return;
532
+ }
525
533
  if (!healthResult.healthy) {
526
534
  const errorMsg = healthResult.error
527
535
  ? `${getClaudeErrorLabel(healthResult.error.code)}: ${healthResult.error.suggestion}`
@@ -535,6 +543,43 @@ export const StartScreen = ({ args, flags }) => {
535
543
  return;
536
544
  }
537
545
  addOutput(`API ready (${healthResult.durationMs}ms)`);
546
+ // Run project tests (unless skipped)
547
+ if (!flags['skip-tests']) {
548
+ addOutput('');
549
+ addOutput('Checking project tests...');
550
+ // Load config to get test command
551
+ const config = await services.configService.load(workDir);
552
+ let testCommand = config?.testCommand;
553
+ // If no stored command, try to detect
554
+ if (!testCommand) {
555
+ const detection = await services.projectDetector.detect(workDir);
556
+ testCommand = detection.testCommand ?? undefined;
557
+ }
558
+ if (testCommand) {
559
+ addOutput(`Running: ${testCommand}`);
560
+ const testResult = await services.testRunner.run({
561
+ testCommand,
562
+ workingDir: workDir,
563
+ timeoutMs: 300000
564
+ });
565
+ if (!testResult.success) {
566
+ const errorMsg = testResult.timedOut
567
+ ? 'Tests timed out'
568
+ : `Tests failed (exit code: ${testResult.exitCode})`;
569
+ await logToFile(`Test check failed: ${errorMsg}`);
570
+ setFlowState(prev => ({
571
+ ...prev,
572
+ error: errorMsg,
573
+ phase: { type: 'error', feature: featureName, error: `${errorMsg}. Use --skip-tests to bypass.` }
574
+ }));
575
+ return;
576
+ }
577
+ addOutput(`Tests passed (${(testResult.durationMs / 1000).toFixed(1)}s)`);
578
+ }
579
+ else {
580
+ addOutput('No test command configured, skipping tests');
581
+ }
582
+ }
538
583
  // Set up flow machine to the current phase
539
584
  const effectiveName = existingState.metadata.resolvedFeatureName ?? sanitizeFeatureName(featureName);
540
585
  // Update state with existing flow info
@@ -545,7 +590,7 @@ export const StartScreen = ({ args, flags }) => {
545
590
  }));
546
591
  // Resume based on current phase
547
592
  await resumeFromPhase(existingState.phase.type, workDir, effectiveName);
548
- }, [flowState.existingFlowState, services.healthCheck, flags, featureName, repoPath, initLogFile, addOutput]);
593
+ }, [flowState.existingFlowState, services.healthCheck, services.configService, services.projectDetector, services.testRunner, flags, featureName, repoPath, initLogFile, addOutput]);
549
594
  // Resume from a specific phase
550
595
  const resumeFromPhase = async (phaseType, workDir, effectiveName) => {
551
596
  addOutput(`Continuing from ${phaseType}...`);
@@ -667,6 +712,10 @@ export const StartScreen = ({ args, flags }) => {
667
712
  timeoutMs: 30000
668
713
  });
669
714
  setFlowState(prev => ({ ...prev, isHealthChecking: false }));
715
+ // Guard against undefined result (can happen if component unmounts during check)
716
+ if (!healthResult) {
717
+ return;
718
+ }
670
719
  if (!healthResult.healthy) {
671
720
  await logToFile(`Health check failed: ${healthResult.message}`);
672
721
  if (healthResult.error) {
@@ -686,6 +735,43 @@ export const StartScreen = ({ args, flags }) => {
686
735
  return;
687
736
  }
688
737
  addOutput(`API ready (${healthResult.durationMs}ms)`);
738
+ // Run project tests (unless skipped)
739
+ if (!flags['skip-tests']) {
740
+ addOutput('');
741
+ addOutput('Checking project tests...');
742
+ // Load config to get test command
743
+ const config = await services.configService.load(repoPath);
744
+ let testCommand = config?.testCommand;
745
+ // If no stored command, try to detect
746
+ if (!testCommand) {
747
+ const detection = await services.projectDetector.detect(repoPath);
748
+ testCommand = detection.testCommand ?? undefined;
749
+ }
750
+ if (testCommand) {
751
+ addOutput(`Running: ${testCommand}`);
752
+ const testResult = await services.testRunner.run({
753
+ testCommand,
754
+ workingDir: repoPath,
755
+ timeoutMs: 300000
756
+ });
757
+ if (!testResult.success) {
758
+ const errorMsg = testResult.timedOut
759
+ ? 'Tests timed out'
760
+ : `Tests failed (exit code: ${testResult.exitCode})`;
761
+ await logToFile(`Test check failed: ${errorMsg}`);
762
+ setFlowState(prev => ({
763
+ ...prev,
764
+ error: errorMsg,
765
+ phase: { type: 'error', feature: featureName, error: `${errorMsg}. Use --skip-tests to bypass.` }
766
+ }));
767
+ return;
768
+ }
769
+ addOutput(`Tests passed (${(testResult.durationMs / 1000).toFixed(1)}s)`);
770
+ }
771
+ else {
772
+ addOutput('No test command configured, skipping tests');
773
+ }
774
+ }
689
775
  addOutput('');
690
776
  addOutput(`Starting flow: ${featureName}`);
691
777
  addOutput(`Mode: ${mode}`);
@@ -1 +1 @@
1
- {"version":3,"file":"StartScreen.js","sourceRoot":"","sources":["../../../src/components/screens/StartScreen.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StartScreen.js","sourceRoot":"","sources":["../../../src/components/screens/StartScreen.tsx"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export interface InitConfig {
21
21
  readonly initializedAt: string;
22
22
  readonly customValues: Record<string, string>;
23
23
  readonly agent: CodingAgent;
24
+ readonly testCommand?: string;
24
25
  }
25
26
  /**
26
27
  * Config service interface
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigService.d.ts","sourceRoot":"","sources":["../../src/services/ConfigService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;AAE/E;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAElD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAClD;AAqBD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CA+BnD"}
1
+ {"version":3,"file":"ConfigService.d.ts","sourceRoot":"","sources":["../../src/services/ConfigService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;AAE/E;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAElD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAClD;AAqBD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CA+BnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigService.js","sourceRoot":"","sources":["../../src/services/ConfigService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AA8CjC;;GAEG;AACH,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,OAAe;YACxB,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YAE1C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;gBACjD,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,MAAkB;YAC5C,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEzC,iCAAiC;YACjC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE3C,sCAAsC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAChD,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,OAAe;YACjC,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,UAAU,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ConfigService.js","sourceRoot":"","sources":["../../src/services/ConfigService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AA+CjC;;GAEG;AACH,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,OAAe;YACxB,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YAE1C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;gBACjD,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,MAAkB;YAC5C,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEzC,iCAAiC;YACjC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE3C,sCAAsC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAChD,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,OAAe;YACjC,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,UAAU,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Project Detector Service
3
+ * Auto-detects test commands from various project configuration files
4
+ */
5
+ /**
6
+ * Detection result interface
7
+ */
8
+ export interface DetectionResult {
9
+ readonly detected: boolean;
10
+ readonly testCommand: string | null;
11
+ readonly source: string | null;
12
+ readonly confidence: 'high' | 'medium' | 'low';
13
+ }
14
+ /**
15
+ * Project detector service interface
16
+ */
17
+ export interface ProjectDetectorService {
18
+ /**
19
+ * Detect test command from project files
20
+ * Checks multiple sources in priority order
21
+ */
22
+ detect(projectDir: string): Promise<DetectionResult>;
23
+ }
24
+ /**
25
+ * Create project detector service
26
+ */
27
+ export declare function createProjectDetector(): ProjectDetectorService;
28
+ //# sourceMappingURL=ProjectDetector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectDetector.d.ts","sourceRoot":"","sources":["../../src/services/ProjectDetector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACtD;AAqMD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,sBAAsB,CAyC9D"}
@@ -0,0 +1,236 @@
1
+ /**
2
+ * Project Detector Service
3
+ * Auto-detects test commands from various project configuration files
4
+ */
5
+ import { readFile, access } from 'node:fs/promises';
6
+ import { join } from 'node:path';
7
+ /**
8
+ * Detection strategies ordered by priority
9
+ */
10
+ const DETECTION_STRATEGIES = [
11
+ // Node.js / package.json
12
+ {
13
+ file: 'package.json',
14
+ confidence: 'high',
15
+ detect: (content) => {
16
+ try {
17
+ const pkg = JSON.parse(content);
18
+ // Check scripts.test - ignore default npm init placeholder
19
+ if (pkg.scripts?.test && pkg.scripts.test !== 'echo "Error: no test specified" && exit 1') {
20
+ return 'npm test';
21
+ }
22
+ // Check for common test runners in dependencies
23
+ const deps = { ...pkg.devDependencies, ...pkg.dependencies };
24
+ if (deps?.vitest) {
25
+ return 'npx vitest run';
26
+ }
27
+ if (deps?.jest) {
28
+ return 'npx jest';
29
+ }
30
+ if (deps?.mocha) {
31
+ return 'npx mocha';
32
+ }
33
+ if (deps?.ava) {
34
+ return 'npx ava';
35
+ }
36
+ return null;
37
+ }
38
+ catch {
39
+ return null;
40
+ }
41
+ }
42
+ },
43
+ // Python / pyproject.toml
44
+ {
45
+ file: 'pyproject.toml',
46
+ confidence: 'high',
47
+ detect: (content) => {
48
+ if (content.includes('[tool.pytest') || content.includes('pytest')) {
49
+ return 'pytest';
50
+ }
51
+ if (content.includes('unittest')) {
52
+ return 'python -m unittest discover';
53
+ }
54
+ return null;
55
+ }
56
+ },
57
+ // Python / setup.py fallback
58
+ {
59
+ file: 'setup.py',
60
+ confidence: 'medium',
61
+ detect: (content) => {
62
+ if (content.includes('pytest') || content.includes('test_suite')) {
63
+ return 'pytest';
64
+ }
65
+ return null;
66
+ }
67
+ },
68
+ // Python / requirements.txt fallback
69
+ {
70
+ file: 'requirements.txt',
71
+ confidence: 'medium',
72
+ detect: (content) => {
73
+ if (content.includes('pytest')) {
74
+ return 'pytest';
75
+ }
76
+ return null;
77
+ }
78
+ },
79
+ // Rust / Cargo.toml
80
+ {
81
+ file: 'Cargo.toml',
82
+ confidence: 'high',
83
+ detect: (_content) => {
84
+ return 'cargo test';
85
+ }
86
+ },
87
+ // Go / go.mod
88
+ {
89
+ file: 'go.mod',
90
+ confidence: 'high',
91
+ detect: (_content) => {
92
+ return 'go test ./...';
93
+ }
94
+ },
95
+ // Ruby / Gemfile
96
+ {
97
+ file: 'Gemfile',
98
+ confidence: 'medium',
99
+ detect: (content) => {
100
+ if (content.includes('rspec')) {
101
+ return 'bundle exec rspec';
102
+ }
103
+ if (content.includes('minitest')) {
104
+ return 'bundle exec rake test';
105
+ }
106
+ return null;
107
+ }
108
+ },
109
+ // Java / Maven
110
+ {
111
+ file: 'pom.xml',
112
+ confidence: 'high',
113
+ detect: (_content) => {
114
+ return 'mvn test';
115
+ }
116
+ },
117
+ // Java/Kotlin / Gradle
118
+ {
119
+ file: 'build.gradle',
120
+ confidence: 'high',
121
+ detect: (_content) => {
122
+ return './gradlew test';
123
+ }
124
+ },
125
+ // Kotlin DSL
126
+ {
127
+ file: 'build.gradle.kts',
128
+ confidence: 'high',
129
+ detect: (_content) => {
130
+ return './gradlew test';
131
+ }
132
+ },
133
+ // Makefile
134
+ {
135
+ file: 'Makefile',
136
+ confidence: 'medium',
137
+ detect: (content) => {
138
+ if (content.match(/^test\s*:/m)) {
139
+ return 'make test';
140
+ }
141
+ return null;
142
+ }
143
+ },
144
+ // PHP / Composer
145
+ {
146
+ file: 'composer.json',
147
+ confidence: 'medium',
148
+ detect: (content) => {
149
+ try {
150
+ const composer = JSON.parse(content);
151
+ if (composer.scripts?.test) {
152
+ return 'composer test';
153
+ }
154
+ const deps = { ...composer.require, ...composer['require-dev'] };
155
+ if (deps?.['phpunit/phpunit']) {
156
+ return './vendor/bin/phpunit';
157
+ }
158
+ return null;
159
+ }
160
+ catch {
161
+ return null;
162
+ }
163
+ }
164
+ },
165
+ // Elixir / Mix
166
+ {
167
+ file: 'mix.exs',
168
+ confidence: 'high',
169
+ detect: (_content) => {
170
+ return 'mix test';
171
+ }
172
+ },
173
+ // .NET / C#
174
+ {
175
+ file: '*.csproj',
176
+ confidence: 'high',
177
+ detect: (_content) => {
178
+ return 'dotnet test';
179
+ }
180
+ }
181
+ ];
182
+ /**
183
+ * Check if file exists
184
+ */
185
+ async function fileExists(path) {
186
+ try {
187
+ await access(path);
188
+ return true;
189
+ }
190
+ catch {
191
+ return false;
192
+ }
193
+ }
194
+ /**
195
+ * Create project detector service
196
+ */
197
+ export function createProjectDetector() {
198
+ return {
199
+ async detect(projectDir) {
200
+ // Try each strategy in priority order
201
+ for (const strategy of DETECTION_STRATEGIES) {
202
+ // Handle glob patterns (e.g., *.csproj)
203
+ if (strategy.file.includes('*')) {
204
+ // For now, skip glob patterns - can be enhanced later
205
+ continue;
206
+ }
207
+ const filePath = join(projectDir, strategy.file);
208
+ if (await fileExists(filePath)) {
209
+ try {
210
+ const content = await readFile(filePath, 'utf-8');
211
+ const testCommand = strategy.detect(content);
212
+ if (testCommand) {
213
+ return {
214
+ detected: true,
215
+ testCommand,
216
+ source: strategy.file,
217
+ confidence: strategy.confidence
218
+ };
219
+ }
220
+ }
221
+ catch {
222
+ // Continue to next strategy on read error
223
+ }
224
+ }
225
+ }
226
+ // No test command detected
227
+ return {
228
+ detected: false,
229
+ testCommand: null,
230
+ source: null,
231
+ confidence: 'low'
232
+ };
233
+ }
234
+ };
235
+ }
236
+ //# sourceMappingURL=ProjectDetector.js.map