@kleber.mottajr/juninho 1.2.0 → 2.0.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 (39) hide show
  1. package/README.md +14 -15
  2. package/dist/config.d.ts +31 -1
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +57 -3
  5. package/dist/config.js.map +1 -1
  6. package/dist/installer.d.ts.map +1 -1
  7. package/dist/installer.js +59 -45
  8. package/dist/installer.js.map +1 -1
  9. package/dist/lint-detection.d.ts +2 -2
  10. package/dist/lint-detection.d.ts.map +1 -1
  11. package/dist/lint-detection.js +33 -7
  12. package/dist/lint-detection.js.map +1 -1
  13. package/dist/project-types.d.ts +7 -2
  14. package/dist/project-types.d.ts.map +1 -1
  15. package/dist/project-types.js +36 -3
  16. package/dist/project-types.js.map +1 -1
  17. package/dist/templates/agents.d.ts +2 -2
  18. package/dist/templates/agents.d.ts.map +1 -1
  19. package/dist/templates/agents.js +551 -100
  20. package/dist/templates/agents.js.map +1 -1
  21. package/dist/templates/commands.d.ts.map +1 -1
  22. package/dist/templates/commands.js +330 -285
  23. package/dist/templates/commands.js.map +1 -1
  24. package/dist/templates/docs.js +36 -24
  25. package/dist/templates/docs.js.map +1 -1
  26. package/dist/templates/plugins.d.ts.map +1 -1
  27. package/dist/templates/plugins.js +699 -99
  28. package/dist/templates/plugins.js.map +1 -1
  29. package/dist/templates/state.d.ts.map +1 -1
  30. package/dist/templates/state.js +138 -186
  31. package/dist/templates/state.js.map +1 -1
  32. package/dist/templates/support-scripts.d.ts.map +1 -1
  33. package/dist/templates/support-scripts.js +927 -247
  34. package/dist/templates/support-scripts.js.map +1 -1
  35. package/dist/templates/tools.d.ts +2 -2
  36. package/dist/templates/tools.d.ts.map +1 -1
  37. package/dist/templates/tools.js +2 -2
  38. package/dist/templates/tools.js.map +1 -1
  39. package/package.json +5 -2
package/README.md CHANGED
@@ -14,8 +14,8 @@ npm install -g @kleber.mottajr/juninho
14
14
  # Navigate to your project
15
15
  cd my-opencode-project
16
16
 
17
- # Run setup — auto-detects project type
18
- juninho setup
17
+ # Run setup — auto-detects project type and asks you to choose strong/medium/weak models
18
+ juninho setup
19
19
 
20
20
  # Or specify type explicitly
21
21
  juninho setup --type python
@@ -48,13 +48,13 @@ The framework orchestrates a multi-agent AI workflow for spec-driven development
48
48
 
49
49
  ### Specification & Planning
50
50
 
51
- `/j.spec` conducts a 5-phase interview (Discovery → Requirements → Contract → Data → Review) with background codebase and external research. `/j.plan` runs 3 phases: Metis (intent analysis), Prometheus (interview + decomposition), and Momus (executability review). Both require explicit developer approval.
51
+ `/j.spec` conducts a 5-phase interview (Discovery → Requirements → Contract → Data → Review) with background codebase and external research. The approval step now uses a compact summary instead of dumping the full spec into the UI. `/j.plan` runs 3 phases: Metis (intent analysis), Prometheus (interview + decomposition), and Momus (executability review). Both require explicit developer approval.
52
52
 
53
53
  ![Spec & Plan Sequence](juninho-seq-spec-plan.png)
54
54
 
55
55
  ### Implementation, Verification & Closeout
56
56
 
57
- `/j.implement` executes wave-by-wave with git worktrees for parallelism. Each task follows the READ → ACT → COMMIT → VALIDATE loop. `@j.validator` gates every task against the spec. Pre-commit hooks run lint + related tests. `/j.check` runs repo-wide verification. `/j.unify` reconciles delivery, merges worktrees, updates docs, and creates a PR.
57
+ `/j.implement` executes wave-by-wave with git worktrees for parallelism. Each task follows the READ → ACT → COMMIT → VALIDATE loop. `@j.validator` gates every task against the spec. Pre-commit hooks run lint + related tests. `/j.check` now runs repo-wide verification plus a detailed PR-style review report, and that report can be fed back into `/j.implement` for correction passes. `/j.unify` reconciles delivery, merges worktrees, updates docs, and creates a PR.
58
58
 
59
59
  ![Implement Sequence](juninho-seq-implement.png)
60
60
 
@@ -81,7 +81,7 @@ The framework orchestrates a multi-agent AI workflow for spec-driven development
81
81
  | `@j.implementer` | Medium | Wave execution, READ→ACT→COMMIT→VALIDATE |
82
82
  | `@j.validator` | Medium | Spec-first validation, BLOCK/FIX/NOTE/APPROVED |
83
83
  | `@j.plan-reviewer` | Medium | Executability gate for plans |
84
- | `@j.reviewer` | Medium | Post-PR advisory review (read-only) |
84
+ | `@j.reviewer` | Medium | Detailed PR-style review, also used by `/j.check` |
85
85
  | `@j.unify` | Medium | Closeout: merge, docs, PR |
86
86
  | `@j.explore` | Weak | Read-only codebase research |
87
87
  | `@j.librarian` | Weak | External docs via Context7 + Context-Mode MCP |
@@ -111,18 +111,17 @@ Then patches `opencode.json` with agent definitions, Context7 MCP, and Context-M
111
111
  | `/j.spec` | Feature specification via 5-phase interview |
112
112
  | `/j.plan` | Strategic planning with 3-phase process |
113
113
  | `/j.implement` | Execute plan wave-by-wave with validation |
114
- | `/j.check` | Repo-wide verification (typecheck + lint + tests) |
114
+ | `/j.check` | Repo-wide verification plus detailed review report |
115
115
  | `/j.unify` | Closeout: merge worktrees, update docs, create PR |
116
116
  | `/j.pr-review` | Advisory post-PR code review |
117
- | `/j.start-work` | Begin work session with context loading |
118
- | `/j.handoff` | End-of-session handoff document |
119
- | `/j.status` | Show execution state and task progress |
120
- | `/j.ulw-loop` | Ultra work loop (parallel implementation) |
121
- | `/j.init-deep` | Deep codebase initialization (AGENTS.md hierarchy) |
122
- | `/j.sync-docs` | Refresh domain/principles documentation |
123
- | `/j.finish-setup` | Scan codebase, generate dynamic skills + docs |
124
- | `/j.lint` | Run structure lint on staged files |
125
- | `/j.test` | Run tests related to staged files |
117
+ | `/j.start-work` | Begin work session with context loading |
118
+ | `/j.handoff` | End-of-session handoff document |
119
+ | `/j.status` | Show execution state and task progress |
120
+ | `/j.ulw-loop` | Ultra work loop (parallel implementation) |
121
+ | `/j.finish-setup` | Canonical bootstrap: AGENTS hierarchy, skills, and docs |
122
+ | `/j.sync-docs` | Refresh domain/principles documentation |
123
+ | `/j.lint` | Run structure lint on staged files |
124
+ | `/j.test` | Run tests related to staged files |
126
125
 
127
126
  ## Idempotency
128
127
 
package/dist/config.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * Contains the user's chosen models for each tier (strong/medium/weak).
6
6
  */
7
7
  import { type ModelTier } from "./models.js";
8
- import type { ProjectType } from "./project-types.js";
8
+ import type { ProjectType, BuildTool } from "./project-types.js";
9
9
  export interface JuninhoConfig {
10
10
  /** Model ID for strong-tier agents (planner, spec-writer) */
11
11
  strong: string;
@@ -17,7 +17,37 @@ export interface JuninhoConfig {
17
17
  projectType?: ProjectType;
18
18
  /** Whether the java project uses Kotlin */
19
19
  isKotlin?: boolean;
20
+ /** Build tool for java projects */
21
+ buildTool?: BuildTool;
22
+ /** Runtime workflow settings for implement/unify/docs phases */
23
+ workflow?: {
24
+ automation?: {
25
+ nonInteractive?: boolean;
26
+ autoApproveArtifacts?: boolean;
27
+ };
28
+ implement?: {
29
+ preCommitScope?: string;
30
+ postImplementFullCheck?: boolean;
31
+ reenterImplementOnFullCheckFailure?: boolean;
32
+ };
33
+ unify?: {
34
+ enabled?: boolean;
35
+ updatePersistentContext?: boolean;
36
+ updateDomainDocs?: boolean;
37
+ updateDomainIndex?: boolean;
38
+ cleanupIntegratedTaskBranches?: boolean;
39
+ createPullRequest?: boolean;
40
+ createDeliveryPrBody?: boolean;
41
+ };
42
+ documentation?: {
43
+ preferAgentsMdForLocalRules?: boolean;
44
+ preferDomainDocsForBusinessBehavior?: boolean;
45
+ preferPrincipleDocsForCrossCuttingTech?: boolean;
46
+ syncMarkers?: boolean;
47
+ };
48
+ };
20
49
  }
50
+ export declare const DEFAULT_WORKFLOW_CONFIG: NonNullable<JuninhoConfig["workflow"]>;
21
51
  /**
22
52
  * Load saved configuration from .opencode/juninho-config.json.
23
53
  * Returns null if no config file exists or it's malformed.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,aAAa,CAAA;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAA;IACd,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAA;IACd,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAQD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAmBnE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAM1E;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CA6B/D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAM/E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,aAAa,CAAA;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEhE,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAA;IACd,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAA;IACd,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mCAAmC;IACnC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,gEAAgE;IAChE,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE;YACX,cAAc,CAAC,EAAE,OAAO,CAAA;YACxB,oBAAoB,CAAC,EAAE,OAAO,CAAA;SAC/B,CAAA;QACD,SAAS,CAAC,EAAE;YACV,cAAc,CAAC,EAAE,MAAM,CAAA;YACvB,sBAAsB,CAAC,EAAE,OAAO,CAAA;YAChC,kCAAkC,CAAC,EAAE,OAAO,CAAA;SAC7C,CAAA;QACD,KAAK,CAAC,EAAE;YACN,OAAO,CAAC,EAAE,OAAO,CAAA;YACjB,uBAAuB,CAAC,EAAE,OAAO,CAAA;YACjC,gBAAgB,CAAC,EAAE,OAAO,CAAA;YAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAA;YAC3B,6BAA6B,CAAC,EAAE,OAAO,CAAA;YACvC,iBAAiB,CAAC,EAAE,OAAO,CAAA;YAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAA;SAC/B,CAAA;QACD,aAAa,CAAC,EAAE;YACd,2BAA2B,CAAC,EAAE,OAAO,CAAA;YACrC,mCAAmC,CAAC,EAAE,OAAO,CAAA;YAC7C,sCAAsC,CAAC,EAAE,OAAO,CAAA;YAChD,WAAW,CAAC,EAAE,OAAO,CAAA;SACtB,CAAA;KACF,CAAA;CACF;AAID,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAyB1E,CAAA;AAgCD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAqBnE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAM1E;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CA6B/D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAM/E"}
package/dist/config.js CHANGED
@@ -9,6 +9,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
9
9
  return (mod && mod.__esModule) ? mod : { "default": mod };
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DEFAULT_WORKFLOW_CONFIG = void 0;
12
13
  exports.loadConfig = loadConfig;
13
14
  exports.saveConfig = saveConfig;
14
15
  exports.resolveModels = resolveModels;
@@ -18,9 +19,60 @@ const path_1 = __importDefault(require("path"));
18
19
  const models_js_1 = require("./models.js");
19
20
  const discovery_js_1 = require("./discovery.js");
20
21
  const CONFIG_FILENAME = "juninho-config.json";
22
+ exports.DEFAULT_WORKFLOW_CONFIG = {
23
+ automation: {
24
+ nonInteractive: false,
25
+ autoApproveArtifacts: false,
26
+ },
27
+ implement: {
28
+ preCommitScope: "related",
29
+ postImplementFullCheck: true,
30
+ reenterImplementOnFullCheckFailure: true,
31
+ },
32
+ unify: {
33
+ enabled: true,
34
+ updatePersistentContext: true,
35
+ updateDomainDocs: true,
36
+ updateDomainIndex: true,
37
+ cleanupIntegratedTaskBranches: true,
38
+ createPullRequest: true,
39
+ createDeliveryPrBody: true,
40
+ },
41
+ documentation: {
42
+ preferAgentsMdForLocalRules: true,
43
+ preferDomainDocsForBusinessBehavior: true,
44
+ preferPrincipleDocsForCrossCuttingTech: true,
45
+ syncMarkers: true,
46
+ },
47
+ };
21
48
  function configPath(projectDir) {
22
49
  return path_1.default.join(projectDir, ".opencode", CONFIG_FILENAME);
23
50
  }
51
+ function withWorkflowDefaults(config) {
52
+ return {
53
+ ...config,
54
+ workflow: {
55
+ ...exports.DEFAULT_WORKFLOW_CONFIG,
56
+ ...config.workflow,
57
+ automation: {
58
+ ...exports.DEFAULT_WORKFLOW_CONFIG.automation,
59
+ ...config.workflow?.automation,
60
+ },
61
+ implement: {
62
+ ...exports.DEFAULT_WORKFLOW_CONFIG.implement,
63
+ ...config.workflow?.implement,
64
+ },
65
+ unify: {
66
+ ...exports.DEFAULT_WORKFLOW_CONFIG.unify,
67
+ ...config.workflow?.unify,
68
+ },
69
+ documentation: {
70
+ ...exports.DEFAULT_WORKFLOW_CONFIG.documentation,
71
+ ...config.workflow?.documentation,
72
+ },
73
+ },
74
+ };
75
+ }
24
76
  /**
25
77
  * Load saved configuration from .opencode/juninho-config.json.
26
78
  * Returns null if no config file exists or it's malformed.
@@ -32,13 +84,15 @@ function loadConfig(projectDir) {
32
84
  try {
33
85
  const data = JSON.parse((0, fs_1.readFileSync)(p, "utf-8"));
34
86
  if (data.strong && data.medium && data.weak) {
35
- return {
87
+ return withWorkflowDefaults({
36
88
  strong: data.strong,
37
89
  medium: data.medium,
38
90
  weak: data.weak,
39
91
  projectType: data.projectType,
40
92
  isKotlin: data.isKotlin,
41
- };
93
+ buildTool: data.buildTool,
94
+ workflow: data.workflow,
95
+ });
42
96
  }
43
97
  return null;
44
98
  }
@@ -55,7 +109,7 @@ function saveConfig(projectDir, config) {
55
109
  if (!(0, fs_1.existsSync)(dir)) {
56
110
  (0, fs_1.mkdirSync)(dir, { recursive: true });
57
111
  }
58
- (0, fs_1.writeFileSync)(configPath(projectDir), JSON.stringify(config, null, 2) + "\n");
112
+ (0, fs_1.writeFileSync)(configPath(projectDir), JSON.stringify(withWorkflowDefaults(config), null, 2) + "\n");
59
113
  }
60
114
  /**
61
115
  * Resolve models for the given project:
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,KAAK,WAAW,EAMjB,MAAM,oBAAoB,CAAA;AAO3B,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,WAAW,CAAA;CACnB;AAmTD,wBAAsB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoH5F"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,KAAK,WAAW,EAQjB,MAAM,oBAAoB,CAAA;AAO3B,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,WAAW,CAAA;CACnB;AA6TD,wBAAsB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsH5F"}
package/dist/installer.js CHANGED
@@ -75,51 +75,61 @@ async function interactiveModelSelection(rl, existing) {
75
75
  console.log(" Outros: " + grouped.unknown.join(", "));
76
76
  console.log("");
77
77
  const config = {
78
- strong: models_js_1.DEFAULT_MODELS.strong,
79
- medium: models_js_1.DEFAULT_MODELS.medium,
80
- weak: models_js_1.DEFAULT_MODELS.weak,
78
+ strong: existing?.strong ?? models_js_1.DEFAULT_MODELS.strong,
79
+ medium: existing?.medium ?? models_js_1.DEFAULT_MODELS.medium,
80
+ weak: existing?.weak ?? models_js_1.DEFAULT_MODELS.weak,
81
81
  };
82
82
  for (const tier of ["strong", "medium", "weak"]) {
83
83
  const tierModels = grouped[tier];
84
84
  const defaultBest = best[tier];
85
85
  const currentValue = existing?.[tier];
86
+ const fallbackOptions = [...grouped.strong, ...grouped.medium, ...grouped.weak, ...grouped.unknown];
87
+ const candidateOptions = Array.from(new Set([
88
+ ...tierModels,
89
+ ...(tierModels.length === 0 ? fallbackOptions : []),
90
+ currentValue,
91
+ defaultBest,
92
+ config[tier],
93
+ ].filter((value) => Boolean(value))));
94
+ const defaultValue = currentValue ?? defaultBest ?? config[tier];
86
95
  console.log(`─── ${TIER_LABELS[tier]} ───`);
87
96
  console.log(` Usado por: ${TIER_AGENTS[tier].join(", ")}`);
88
97
  console.log(` Ideal: ${TIER_KNOWN_DEFAULTS[tier]}`);
89
- if (tierModels.length === 0) {
90
- console.log(" ⚠ Nenhum modelo deste tier detectado.");
91
- const fallbackOptions = [...grouped.strong, ...grouped.medium, ...grouped.weak, ...grouped.unknown]
92
- .filter((m) => m !== config.strong && m !== config.medium && m !== config.weak);
93
- if (fallbackOptions.length > 0 || defaultBest) {
94
- const allOptions = defaultBest ? [defaultBest, ...fallbackOptions.filter(m => m !== defaultBest)] : fallbackOptions;
95
- console.log(" Modelos disponíveis de outros tiers:");
96
- allOptions.forEach((m, i) => {
97
- const marker = (currentValue === m || (!currentValue && m === defaultBest)) ? " ← recomendado" : "";
98
- console.log(` ${i + 1}) ${m}${marker}`);
99
- });
100
- const response = await ask(rl, ` Escolha (1-${allOptions.length}) ou Enter para '${defaultBest ?? models_js_1.DEFAULT_MODELS[tier]}': `);
101
- const idx = parseInt(response, 10);
102
- config[tier] = (idx >= 1 && idx <= allOptions.length) ? allOptions[idx - 1] : (defaultBest ?? models_js_1.DEFAULT_MODELS[tier]);
98
+ if (candidateOptions.length === 0) {
99
+ console.log(" ⚠ Nenhum modelo detectado para seleção.");
100
+ const manual = await ask(rl, ` Digite o model ID ou Enter para padrão (${models_js_1.DEFAULT_MODELS[tier]}): `);
101
+ config[tier] = manual || models_js_1.DEFAULT_MODELS[tier];
102
+ }
103
+ else {
104
+ if (tierModels.length === 0) {
105
+ console.log(" ⚠ Nenhum modelo deste tier detectado. Escolha explícita obrigatória entre os fallbacks abaixo.");
103
106
  }
104
107
  else {
105
- const manual = await ask(rl, ` Digite o model ID ou Enter para padrão (${models_js_1.DEFAULT_MODELS[tier]}): `);
106
- config[tier] = manual || models_js_1.DEFAULT_MODELS[tier];
108
+ console.log(" Escolha explícita obrigatória para este tier:");
107
109
  }
108
- }
109
- else if (tierModels.length === 1) {
110
- const model = tierModels[0];
111
- const response = await ask(rl, ` Modelo detectado: ${model}. Usar? (S/n): `);
112
- config[tier] = (response.toLowerCase() === "n") ? (await ask(rl, ` Digite o model ID: `)) || model : model;
113
- }
114
- else {
115
- tierModels.forEach((m, i) => {
116
- const marker = (m === defaultBest) ? "recomendado" : "";
117
- console.log(` ${i + 1}) ${m}${marker}`);
110
+ candidateOptions.forEach((model, index) => {
111
+ const markers = [];
112
+ if (model === currentValue)
113
+ markers.push("atual");
114
+ if (model === defaultBest)
115
+ markers.push("recomendado");
116
+ if (!tierModels.includes(model))
117
+ markers.push("fallback");
118
+ const suffix = markers.length > 0 ? `${markers.join(", ")}` : "";
119
+ console.log(` ${index + 1}) ${model}${suffix}`);
118
120
  });
119
- const defaultIdx = defaultBest ? tierModels.indexOf(defaultBest) + 1 : 1;
120
- const response = await ask(rl, ` Escolha (1-${tierModels.length}) ou Enter para ${defaultIdx}: `);
121
+ const defaultIdx = Math.max(1, candidateOptions.indexOf(defaultValue) + 1);
122
+ const response = await ask(rl, ` Escolha (1-${candidateOptions.length}), digite um model ID, ou Enter para ${defaultIdx}: `);
121
123
  const idx = parseInt(response, 10);
122
- config[tier] = (idx >= 1 && idx <= tierModels.length) ? tierModels[idx - 1] : (tierModels[defaultIdx - 1] ?? tierModels[0]);
124
+ if (Number.isInteger(idx) && idx >= 1 && idx <= candidateOptions.length) {
125
+ config[tier] = candidateOptions[idx - 1];
126
+ }
127
+ else if (response) {
128
+ config[tier] = response;
129
+ }
130
+ else {
131
+ config[tier] = candidateOptions[defaultIdx - 1] ?? models_js_1.DEFAULT_MODELS[tier];
132
+ }
123
133
  }
124
134
  console.log(` ✓ ${TIER_LABELS[tier]}: ${config[tier]}`);
125
135
  console.log("");
@@ -146,6 +156,9 @@ async function manualEntry(rl, existing) {
146
156
  /* ─── Resolve models (auto or interactive) ─── */
147
157
  async function resolveModelsForSetup(projectDir, rl) {
148
158
  const saved = (0, config_js_1.loadConfig)(projectDir);
159
+ if (process.stdin.isTTY) {
160
+ return interactiveModelSelection(rl, saved);
161
+ }
149
162
  if (saved)
150
163
  return saved;
151
164
  const available = (0, discovery_js_1.discoverAvailableModels)();
@@ -155,10 +168,7 @@ async function resolveModelsForSetup(projectDir, rl) {
155
168
  return { strong: best.strong, medium: best.medium, weak: best.weak };
156
169
  }
157
170
  }
158
- if (!process.stdin.isTTY) {
159
- return { strong: models_js_1.DEFAULT_MODELS.strong, medium: models_js_1.DEFAULT_MODELS.medium, weak: models_js_1.DEFAULT_MODELS.weak };
160
- }
161
- return interactiveModelSelection(rl, null);
171
+ return { strong: models_js_1.DEFAULT_MODELS.strong, medium: models_js_1.DEFAULT_MODELS.medium, weak: models_js_1.DEFAULT_MODELS.weak };
162
172
  }
163
173
  /* ─── Resolve project type ─── */
164
174
  const TYPE_LABELS = {
@@ -223,7 +233,7 @@ async function interactiveTypeSelection(rl, projectDir) {
223
233
  return { projectType, isKotlin };
224
234
  }
225
235
  /* ─── Lint detection and suggestion ─── */
226
- async function handleLintDetection(projectDir, projectType, isKotlin, rl) {
236
+ async function handleLintDetection(projectDir, projectType, isKotlin, buildTool, rl) {
227
237
  const result = (0, lint_detection_js_1.detectLintTool)(projectDir, projectType, isKotlin);
228
238
  if (result.detected) {
229
239
  console.log(`[juninho] ✓ Linter detectado: ${result.detected}${result.configFile ? ` (${result.configFile})` : ""}`);
@@ -232,7 +242,7 @@ async function handleLintDetection(projectDir, projectType, isKotlin, rl) {
232
242
  // No linter detected — suggest if interactive
233
243
  if (!process.stdin.isTTY)
234
244
  return undefined;
235
- const suggestions = (0, lint_detection_js_1.suggestLintTools)(projectType, isKotlin);
245
+ const suggestions = (0, lint_detection_js_1.suggestLintTools)(projectType, isKotlin, buildTool);
236
246
  if (suggestions.length === 0)
237
247
  return undefined;
238
248
  const typeLabel = isKotlin ? "Kotlin" : TYPE_LABELS[projectType];
@@ -285,12 +295,13 @@ async function runSetup(projectDir, options = {}) {
285
295
  // Step 0.5: Resolve project type
286
296
  const savedConfig = (0, config_js_1.loadConfig)(projectDir);
287
297
  const { projectType, isKotlin } = await resolveProjectType(projectDir, rl, options, savedConfig);
298
+ const buildTool = projectType === "java" ? (0, project_types_js_1.detectBuildTool)(projectDir) : undefined;
288
299
  const typeLabel = isKotlin ? "Java/Kotlin" : TYPE_LABELS[projectType];
289
- console.log(`[juninho] ✓ Project type: ${typeLabel}`);
300
+ console.log(`[juninho] ✓ Project type: ${typeLabel}${buildTool ? ` (${buildTool})` : ""}`);
290
301
  // Step 0.7: Detect/suggest lint tool
291
- const lintTool = await handleLintDetection(projectDir, projectType, isKotlin, rl);
302
+ const lintTool = await handleLintDetection(projectDir, projectType, isKotlin, buildTool, rl);
292
303
  // Step 1: Create directory structure
293
- const config = (0, project_types_js_1.getEffectiveConfig)(projectType, isKotlin);
304
+ const config = (0, project_types_js_1.getEffectiveConfig)(projectType, isKotlin, buildTool);
294
305
  createDirectories(projectDir, config.skills);
295
306
  console.log("[juninho] ✓ Directories created");
296
307
  // Step 2: Save config (models + project type)
@@ -298,11 +309,12 @@ async function runSetup(projectDir, options = {}) {
298
309
  ...models,
299
310
  projectType,
300
311
  isKotlin: isKotlin || undefined,
312
+ buildTool,
301
313
  };
302
314
  (0, config_js_1.saveConfig)(projectDir, fullConfig);
303
315
  console.log("[juninho] ✓ Config saved");
304
316
  // Step 3: Write agents
305
- (0, agents_js_1.writeAgents)(projectDir, models, projectType, isKotlin);
317
+ (0, agents_js_1.writeAgents)(projectDir, models, projectType, isKotlin, buildTool);
306
318
  console.log("[juninho] ✓ Agents created (9)");
307
319
  // Step 4: Write skills (filtered by project type)
308
320
  (0, skills_js_1.writeSkills)(projectDir, projectType, isKotlin);
@@ -311,14 +323,14 @@ async function runSetup(projectDir, options = {}) {
311
323
  (0, plugins_js_1.writePlugins)(projectDir, projectType, isKotlin);
312
324
  console.log("[juninho] ✓ Plugins created (12)");
313
325
  // Step 6: Write tools
314
- (0, tools_js_1.writeTools)(projectDir, projectType, isKotlin);
326
+ (0, tools_js_1.writeTools)(projectDir, projectType, isKotlin, buildTool);
315
327
  console.log("[juninho] ✓ Tools created (4)");
316
328
  // Step 7: Write support scripts
317
329
  (0, support_scripts_js_1.writeSupportScripts)(projectDir, projectType, isKotlin, lintTool);
318
330
  console.log("[juninho] ✓ Support scripts created (4)");
319
331
  // Step 8: Write commands
320
332
  (0, commands_js_1.writeCommands)(projectDir);
321
- console.log("[juninho] ✓ Commands created (15)");
333
+ console.log("[juninho] ✓ Commands created (14)");
322
334
  // Step 9: Write state files
323
335
  (0, state_js_1.writeState)(projectDir);
324
336
  console.log("[juninho] ✓ State files created");
@@ -343,7 +355,7 @@ async function runSetup(projectDir, options = {}) {
343
355
  if (finishResponse.toLowerCase() !== "n") {
344
356
  console.log("[juninho] Executando /j.finish-setup via opencode...");
345
357
  try {
346
- (0, child_process_1.execSync)('opencode -p "/j.finish-setup"', {
358
+ (0, child_process_1.execSync)('opencode run "/j.finish-setup"', {
347
359
  cwd: projectDir,
348
360
  stdio: "inherit",
349
361
  timeout: 600_000, // 10 minutes
@@ -414,9 +426,11 @@ function createDirectories(projectDir, skills) {
414
426
  ".opencode/scripts",
415
427
  ".opencode/commands",
416
428
  ".opencode/state",
429
+ ".opencode/templates",
417
430
  "docs",
418
431
  "docs/principles",
419
432
  "docs/domain",
433
+ "docs/reports",
420
434
  "docs/specs",
421
435
  "worktrees",
422
436
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":";;;;;AAqWA,4BAsHC;AA3dD,2BAAkF;AAClF,uCAA0C;AAC1C,iDAAwC;AACxC,gDAAuB;AACvB,qDAAmD;AACnD,qDAAmD;AACnD,uDAAqD;AACrD,mDAAiD;AACjD,yDAAuD;AACvD,mDAAiD;AACjD,uEAAoE;AACpE,iDAAkE;AAClE,2CAAwE;AACxE,iDAAwD;AACxD,2CAKoB;AAEpB,yDAS2B;AAC3B,2DAI4B;AAO5B,6BAA6B;AAE7B,SAAS,GAAG,CAAC,EAAsC,EAAE,QAAgB;IACnE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,yCAAyC;AAEzC,MAAM,WAAW,GAA8B;IAC7C,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,gBAAgB;IACxB,IAAI,EAAE,cAAc;CACrB,CAAA;AAED,MAAM,WAAW,GAAgC;IAC/C,MAAM,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,MAAM,EAAE,CAAC,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,CAAC;IACpF,IAAI,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;CACnC,CAAA;AAED,MAAM,mBAAmB,GAA8B;IACrD,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,mBAAmB;IAC3B,IAAI,EAAE,kBAAkB;CACzB,CAAA;AAED;;;GAGG;AACH,KAAK,UAAU,yBAAyB,CACtC,EAAsC,EACtC,QAA8B;IAE9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAA;IAChF,MAAM,SAAS,GAAG,IAAA,sCAAuB,GAAE,CAAA;IAE3C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAA;QACzE,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAA;QACxF,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAA;QACzE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAA;QAChF,OAAO,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,CAAC,MAAM,0BAA0B,CAAC,CAAA;IACtE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,MAAM,OAAO,GAAG,IAAA,6BAAiB,EAAC,SAAS,CAAC,CAAA;IAC5C,MAAM,IAAI,GAAG,IAAA,4BAAgB,EAAC,SAAS,CAAC,CAAA;IAExC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACpF,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACpF,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QAAI,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAClF,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACtF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEf,MAAM,MAAM,GAAkB;QAC5B,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,0BAAc,CAAC,MAAM;QACjD,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,0BAAc,CAAC,MAAM;QACjD,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,0BAAc,CAAC,IAAI;KAC5C,CAAA;IAED,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAgB,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9B,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,eAAe,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QACnG,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;YAC1C,GAAG,UAAU;YACb,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,YAAY;YACZ,WAAW;YACX,MAAM,CAAC,IAAI,CAAC;SACb,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACtD,MAAM,YAAY,GAAG,YAAY,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,CAAA;QAEhE,OAAO,CAAC,GAAG,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3C,OAAO,CAAC,GAAG,CAAC,gBAAgB,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC3D,OAAO,CAAC,GAAG,CAAC,YAAY,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEpD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;YACxD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,6CAA6C,0BAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACpG,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,0BAAc,CAAC,IAAI,CAAC,CAAA;QAC/C,CAAC;aAAM,CAAC;YACN,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,kGAAkG,CAAC,CAAA;YACjH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;YAChE,CAAC;YAED,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,MAAM,OAAO,GAAa,EAAE,CAAA;gBAC5B,IAAI,KAAK,KAAK,YAAY;oBAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACjD,IAAI,KAAK,KAAK,WAAW;oBAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;gBACtD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACzD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;gBACnE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,KAAK,GAAG,MAAM,EAAE,CAAC,CAAA;YACpD,CAAC,CAAC,CAAA;YAEF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;YAC1E,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,gBAAgB,gBAAgB,CAAC,MAAM,wCAAwC,UAAU,IAAI,CAAC,CAAA;YAC7H,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YAElC,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBACxE,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YAC1C,CAAC;iBAAM,IAAI,QAAQ,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;YACzB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,0BAAc,CAAC,IAAI,CAAC,CAAA;YACzE,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,EAAsC,EACtC,QAA8B;IAE9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAA;IAC9E,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAA;IAC/E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEf,MAAM,aAAa,GAAG,QAAQ,EAAE,MAAM,IAAI,0BAAc,CAAC,MAAM,CAAA;IAC/D,MAAM,aAAa,GAAG,QAAQ,EAAE,MAAM,IAAI,0BAAc,CAAC,MAAM,CAAA;IAC/D,MAAM,WAAW,GAAI,QAAQ,EAAE,IAAI,IAAM,0BAAc,CAAC,IAAI,CAAA;IAE5D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,mBAAmB,aAAa,KAAK,CAAC,CAAA;IACnE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,mBAAmB,aAAa,KAAK,CAAC,CAAA;IACnE,MAAM,IAAI,GAAK,MAAM,GAAG,CAAC,EAAE,EAAE,mBAAmB,WAAW,KAAK,CAAC,CAAA;IAEjE,OAAO;QACL,MAAM,EAAE,MAAM,IAAI,aAAa;QAC/B,MAAM,EAAE,MAAM,IAAI,aAAa;QAC/B,IAAI,EAAI,IAAI,IAAM,WAAW;KAC9B,CAAA;AACH,CAAC;AAED,kDAAkD;AAElD,KAAK,UAAU,qBAAqB,CAClC,UAAkB,EAClB,EAAsC;IAEtC,MAAM,KAAK,GAAG,IAAA,sBAAU,EAAC,UAAU,CAAC,CAAA;IAEpC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,yBAAyB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,KAAK;QAAE,OAAO,KAAK,CAAA;IAEvB,MAAM,SAAS,GAAG,IAAA,sCAAuB,GAAE,CAAA;IAC3C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAA,4BAAgB,EAAC,SAAS,CAAC,CAAA;QACxC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5C,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;QACtE,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,0BAAc,CAAC,MAAM,EAAE,MAAM,EAAE,0BAAc,CAAC,MAAM,EAAE,IAAI,EAAE,0BAAc,CAAC,IAAI,EAAE,CAAA;AACpG,CAAC;AAED,kCAAkC;AAElC,MAAM,WAAW,GAAgC;IAC/C,aAAa,EAAE,mBAAmB;IAClC,cAAc,EAAE,mBAAmB;IACnC,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,qBAAqB;IAC7B,SAAS,EAAE,SAAS;CACrB,CAAA;AAED,KAAK,UAAU,kBAAkB,CAC/B,UAAkB,EAClB,EAAsC,EACtC,OAAqB,EACrB,WAAiC;IAEjC,+BAA+B;IAC/B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,IAAA,+BAAY,EAAC,UAAU,CAAC,CAAA;QACpE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;QAC1D,CAAC;QACD,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAA;IAChD,CAAC;IAED,mCAAmC;IACnC,IAAI,WAAW,EAAE,WAAW,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/C,OAAO;YACL,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,KAAK;SACxC,CAAA;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,QAAQ,GAAG,IAAA,oCAAiB,EAAC,UAAU,CAAC,CAAA;IAE9C,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,QAAQ,KAAK,MAAM,IAAI,IAAA,+BAAY,EAAC,UAAU,CAAC,CAAA;QAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAEpE,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,wCAAwC,KAAK,qBAAqB,CAAC,CAAA;YAClG,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;gBACnC,OAAO,wBAAwB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;YACjD,CAAC;QACH,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;IAC5C,CAAC;IAED,4CAA4C;IAC5C,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAA;QACvE,OAAO,wBAAwB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;AACpD,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,EAAsC,EACtC,UAAkB;IAElB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAA;IACrD,sCAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,gBAAgB,sCAAmB,CAAC,MAAM,KAAK,CAAC,CAAA;IAC/E,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAClC,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,sCAAmB,CAAC,MAAM,CAAC;QACjE,CAAC,CAAC,sCAAmB,CAAC,GAAG,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC,SAAS,CAAA;IAEb,MAAM,QAAQ,GAAG,WAAW,KAAK,MAAM,IAAI,IAAA,+BAAY,EAAC,UAAU,CAAC,CAAA;IACnE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA;AAClC,CAAC;AAED,2CAA2C;AAE3C,KAAK,UAAU,mBAAmB,CAChC,UAAkB,EAClB,WAAwB,EACxB,QAAiB,EACjB,SAAgC,EAChC,EAAsC;IAEtC,MAAM,MAAM,GAAG,IAAA,kCAAc,EAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;IAEhE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACpH,OAAO,MAAM,CAAC,QAAQ,CAAA;IACxB,CAAC;IAED,8CAA8C;IAC9C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAE1C,MAAM,WAAW,GAAG,IAAA,oCAAgB,EAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;IACtE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAE9C,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;IAChE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,8DAA8D,SAAS,GAAG,CAAC,CAAA;IACvF,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAA;IAEhD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,gBAAgB,WAAW,CAAC,MAAM,GAAG,CAAC,wBAAwB,CAAC,CAAA;IAC9F,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAElC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QACnC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,IAAI,KAAK,CAAC,CAAA;YACrD,IAAI,CAAC;gBACH,IAAA,wBAAQ,EAAC,MAAM,CAAC,OAAO,EAAE;oBACvB,GAAG,EAAE,UAAU;oBACf,KAAK,EAAE,SAAS;oBAChB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAA;gBACF,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,IAAI,YAAY,CAAC,CAAA;YACrD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,CAAC,IAAI,yBAAyB,CAAC,CAAA;YACpF,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAA;IACpB,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,wBAAwB;AAEjB,KAAK,UAAU,QAAQ,CAAC,UAAkB,EAAE,UAAwB,EAAE;IAC3E,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAA;IACvE,MAAM,WAAW,GAAG,IAAA,eAAU,EAAC,MAAM,CAAC,CAAA;IAEtC,IAAI,WAAW,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAA;QAC/E,OAAM;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;IAC/D,OAAO,CAAC,GAAG,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAA;IAE9C,MAAM,EAAE,GAAG,IAAA,0BAAe,EAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAE5E,IAAI,CAAC;QACH,uDAAuD;QACvD,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;QAC1C,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QACnD,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QACnD,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAEjD,iCAAiC;QACjC,MAAM,WAAW,GAAG,IAAA,sBAAU,EAAC,UAAU,CAAC,CAAA;QAC1C,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;QAChG,MAAM,SAAS,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,IAAA,kCAAe,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAClF,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;QACrE,OAAO,CAAC,GAAG,CAAC,6BAA6B,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAE1F,qCAAqC;QACrC,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;QAE5F,qCAAqC;QACrC,MAAM,MAAM,GAAG,IAAA,qCAAkB,EAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;QACnE,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;QAE9C,8CAA8C;QAC9C,MAAM,UAAU,GAAkB;YAChC,GAAG,MAAM;YACT,WAAW;YACX,QAAQ,EAAE,QAAQ,IAAI,SAAS;YAC/B,SAAS;SACV,CAAA;QACD,IAAA,sBAAU,EAAC,UAAU,EAAE,UAAU,CAAC,CAAA;QAClC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;QAEvC,uBAAuB;QACvB,IAAA,uBAAW,EAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;QACjE,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;QAE7C,kDAAkD;QAClD,IAAA,uBAAW,EAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAC9C,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QAEnE,wBAAwB;QACxB,IAAA,yBAAY,EAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAC/C,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;QAE/C,sBAAsB;QACtB,IAAA,qBAAU,EAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;QACxD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;QAE5C,gCAAgC;QAChC,IAAA,wCAAmB,EAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAChE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;QAEtD,yBAAyB;QACzB,IAAA,2BAAa,EAAC,UAAU,CAAC,CAAA;QACzB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;QAEhD,4BAA4B;QAC5B,IAAA,qBAAU,EAAC,UAAU,CAAC,CAAA;QACtB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAA;QAE9C,sDAAsD;QACtD,IAAA,mBAAS,EAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;QAEhD,+BAA+B;QAC/B,IAAA,2BAAiB,EAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACrC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;QAEhD,mCAAmC;QACnC,kBAAkB,CAAC,UAAU,CAAC,CAAA;QAE9B,wBAAwB;QACxB,IAAA,kBAAa,EAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;QAE/C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAA;QAC5D,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAA;QACrF,OAAO,CAAC,GAAG,CAAC,6HAA6H,CAAC,CAAA;QAE1I,iCAAiC;QACjC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACf,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,8FAA8F,CAAC,CAAA;YACpI,IAAI,cAAc,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAA;gBACnE,IAAI,CAAC;oBACH,IAAA,wBAAQ,EAAC,gCAAgC,EAAE;wBACzC,GAAG,EAAE,UAAU;wBACf,KAAK,EAAE,SAAS;wBAChB,OAAO,EAAE,OAAO,EAAE,aAAa;qBAChC,CAAC,CAAA;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAA;gBAChG,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAA;YACtG,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,kGAAkG,CAAC,CAAA;QACjH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAA;IACZ,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAE1D,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IAErD,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAChD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAA;YAC/F,OAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG;;;;;;;;;;;;;;CAcrB,CAAA;IAEC,IAAA,kBAAa,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IAEpC,IAAI,CAAC;QACH,IAAA,cAAS,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC1B,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,0GAA0G,CAAC,CAAA;IACzH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB,EAAE,MAAgB;IAC7D,MAAM,IAAI,GAAG;QACX,WAAW;QACX,kBAAkB;QAClB,kBAAkB;QAClB,8DAA8D;QAC9D,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC7C,mBAAmB;QACnB,iBAAiB;QACjB,mBAAmB;QACnB,oBAAoB;QACpB,iBAAiB;QACjB,qBAAqB;QACrB,MAAM;QACN,iBAAiB;QACjB,aAAa;QACb,cAAc;QACd,YAAY;QACZ,WAAW;KACZ,CAAA;IAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,IAAA,cAAS,EAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * when none is found. For java projects, detects Kotlin to recommend
6
6
  * ktlint/detekt instead of Checkstyle.
7
7
  */
8
- import type { ProjectType } from "./project-types.js";
8
+ import type { ProjectType, BuildTool } from "./project-types.js";
9
9
  export interface LintDetectionResult {
10
10
  detected: string | null;
11
11
  configFile?: string;
@@ -22,5 +22,5 @@ export declare function detectLintTool(projectDir: string, projectType: ProjectT
22
22
  /**
23
23
  * Suggest lint tools appropriate for the project type.
24
24
  */
25
- export declare function suggestLintTools(projectType: ProjectType, isKotlin: boolean): LintSuggestion[];
25
+ export declare function suggestLintTools(projectType: ProjectType, isKotlin: boolean, buildTool?: BuildTool): LintSuggestion[];
26
26
  //# sourceMappingURL=lint-detection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lint-detection.d.ts","sourceRoot":"","sources":["../src/lint-detection.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,OAAO,GAChB,mBAAmB,CAgBrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,OAAO,GAChB,cAAc,EAAE,CAyClB"}
1
+ {"version":3,"file":"lint-detection.d.ts","sourceRoot":"","sources":["../src/lint-detection.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEhE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,OAAO,GAChB,mBAAmB,CAgBrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,OAAO,EACjB,SAAS,CAAC,EAAE,SAAS,GACpB,cAAc,EAAE,CA6DlB"}
@@ -37,12 +37,26 @@ function detectLintTool(projectDir, projectType, isKotlin) {
37
37
  /**
38
38
  * Suggest lint tools appropriate for the project type.
39
39
  */
40
- function suggestLintTools(projectType, isKotlin) {
40
+ function suggestLintTools(projectType, isKotlin, buildTool) {
41
41
  if (projectType === "java" && isKotlin) {
42
+ if (buildTool === "maven") {
43
+ return [
44
+ {
45
+ name: "Spotless (Maven plugin)",
46
+ install: 'echo "Add com.diffplug.spotless:spotless-maven-plugin to pom.xml plugins, then run: ./mvnw spotless:apply"',
47
+ command: "./mvnw spotless:check",
48
+ },
49
+ {
50
+ name: "ktlint (Maven plugin)",
51
+ install: 'echo "Add com.github.gantsign.maven:ktlint-maven-plugin to pom.xml plugins"',
52
+ command: "./mvnw ktlint:check",
53
+ },
54
+ ];
55
+ }
42
56
  return [
43
57
  {
44
58
  name: "ktlint (via Gradle plugin)",
45
- install: './gradlew addKtlintCheckGitPreCommitHook || echo "Add id(\\"org.jlleitschuh.gradle.ktlint\\") to plugins in build.gradle.kts"',
59
+ install: 'echo "Add id(\\"org.jlleitschuh.gradle.ktlint\\") to plugins in build.gradle.kts, then run: ./gradlew ktlintApplyToIdea"',
46
60
  command: "./gradlew ktlintCheck",
47
61
  },
48
62
  {
@@ -70,9 +84,15 @@ function suggestLintTools(projectType, isKotlin) {
70
84
  { name: "go vet (built-in)", install: "", command: "go vet ./..." },
71
85
  ];
72
86
  case "java":
87
+ if (buildTool === "maven") {
88
+ return [
89
+ { name: "Spotless (Maven plugin)", install: 'echo "Add com.diffplug.spotless:spotless-maven-plugin to pom.xml plugins"', command: "./mvnw spotless:check" },
90
+ { name: "Checkstyle (Maven plugin)", install: 'echo "Add maven-checkstyle-plugin to pom.xml plugins"', command: "./mvnw checkstyle:check" },
91
+ ];
92
+ }
73
93
  return [
74
- { name: "Checkstyle (Gradle/Maven plugin)", install: 'echo "Add checkstyle plugin to build script"', command: "./gradlew checkstyleMain" },
75
- { name: "SpotBugs (Gradle/Maven plugin)", install: 'echo "Add spotbugs plugin to build script"', command: "./gradlew spotbugsMain" },
94
+ { name: "Checkstyle (Gradle plugin)", install: 'echo "Add checkstyle plugin to build.gradle"', command: "./gradlew checkstyleMain" },
95
+ { name: "SpotBugs (Gradle plugin)", install: 'echo "Add spotbugs plugin to build.gradle"', command: "./gradlew spotbugsMain" },
76
96
  ];
77
97
  case "generic":
78
98
  return [];
@@ -139,12 +159,15 @@ function detectGoLint(projectDir) {
139
159
  return { detected: null };
140
160
  }
141
161
  function detectJavaLint(projectDir) {
142
- // Check for checkstyle in build scripts
162
+ // Check for lint tools in build scripts
143
163
  for (const buildFile of ["build.gradle", "build.gradle.kts", "pom.xml"]) {
144
164
  const p = path_1.default.join(projectDir, buildFile);
145
165
  if ((0, fs_1.existsSync)(p)) {
146
166
  try {
147
167
  const content = (0, fs_1.readFileSync)(p, "utf-8");
168
+ if (content.includes("spotless")) {
169
+ return { detected: "spotless", configFile: buildFile };
170
+ }
148
171
  if (content.includes("checkstyle")) {
149
172
  return { detected: "checkstyle", configFile: buildFile };
150
173
  }
@@ -160,12 +183,15 @@ function detectJavaLint(projectDir) {
160
183
  return { detected: null };
161
184
  }
162
185
  function detectKotlinLint(projectDir) {
163
- // Check for ktlint or detekt in build scripts
164
- for (const buildFile of ["build.gradle.kts", "build.gradle"]) {
186
+ // Check for lint tools in build scripts (Gradle and Maven)
187
+ for (const buildFile of ["build.gradle.kts", "build.gradle", "pom.xml"]) {
165
188
  const p = path_1.default.join(projectDir, buildFile);
166
189
  if ((0, fs_1.existsSync)(p)) {
167
190
  try {
168
191
  const content = (0, fs_1.readFileSync)(p, "utf-8");
192
+ if (content.includes("spotless")) {
193
+ return { detected: "spotless", configFile: buildFile };
194
+ }
169
195
  if (content.includes("ktlint")) {
170
196
  return { detected: "ktlint", configFile: buildFile };
171
197
  }