@cristiancorreau/forge 2.17.0 → 2.19.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 (59) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +2 -2
  3. package/assets/core/schemas/project.schema.json +19 -9
  4. package/assets/manifest.json +21 -1
  5. package/assets/profiles/flask/README.md +32 -0
  6. package/assets/profiles/flask/agents/api-engineer.md +122 -0
  7. package/assets/profiles/flutter/README.md +32 -0
  8. package/assets/profiles/flutter/agents/mobile-engineer.md +113 -0
  9. package/assets/profiles/rust/README.md +32 -0
  10. package/assets/profiles/rust/agents/api-engineer.md +121 -0
  11. package/assets/profiles/springboot/README.md +33 -0
  12. package/assets/profiles/springboot/agents/api-engineer.md +128 -0
  13. package/dist/commands/adopt.d.ts.map +1 -1
  14. package/dist/commands/adopt.js +14 -4
  15. package/dist/commands/adopt.js.map +1 -1
  16. package/dist/commands/aitmpl-search.d.ts.map +1 -1
  17. package/dist/commands/aitmpl-search.js +32 -0
  18. package/dist/commands/aitmpl-search.js.map +1 -1
  19. package/dist/commands/init.d.ts.map +1 -1
  20. package/dist/commands/init.js +17 -1
  21. package/dist/commands/init.js.map +1 -1
  22. package/dist/lib/detect.d.ts +4 -0
  23. package/dist/lib/detect.d.ts.map +1 -1
  24. package/dist/lib/detect.js +94 -8
  25. package/dist/lib/detect.js.map +1 -1
  26. package/dist/lib/generators/claude-code.d.ts.map +1 -1
  27. package/dist/lib/generators/claude-code.js +6 -1
  28. package/dist/lib/generators/claude-code.js.map +1 -1
  29. package/dist/lib/generators/codex.js +1 -1
  30. package/dist/lib/generators/codex.js.map +1 -1
  31. package/dist/lib/generators/kiro.d.ts.map +1 -1
  32. package/dist/lib/generators/kiro.js +5 -1
  33. package/dist/lib/generators/kiro.js.map +1 -1
  34. package/dist/lib/generators/opencode.js +1 -1
  35. package/dist/lib/generators/opencode.js.map +1 -1
  36. package/dist/lib/project-analysis.d.ts +2 -2
  37. package/dist/lib/project-analysis.d.ts.map +1 -1
  38. package/dist/lib/project-analysis.js +46 -3
  39. package/dist/lib/project-analysis.js.map +1 -1
  40. package/dist/lib/wiki-autogen.d.ts.map +1 -1
  41. package/dist/lib/wiki-autogen.js +8 -1
  42. package/dist/lib/wiki-autogen.js.map +1 -1
  43. package/dist/lib/wizard-flow.d.ts +15 -3
  44. package/dist/lib/wizard-flow.d.ts.map +1 -1
  45. package/dist/lib/wizard-flow.js +43 -10
  46. package/dist/lib/wizard-flow.js.map +1 -1
  47. package/dist/lib/wizard.d.ts +6 -2
  48. package/dist/lib/wizard.d.ts.map +1 -1
  49. package/dist/lib/wizard.js +68 -12
  50. package/dist/lib/wizard.js.map +1 -1
  51. package/dist/lib/yaml.d.ts +6 -2
  52. package/dist/lib/yaml.d.ts.map +1 -1
  53. package/dist/lib/yaml.js.map +1 -1
  54. package/dist/tui/wizard.d.ts.map +1 -1
  55. package/dist/tui/wizard.js +58 -18
  56. package/dist/tui/wizard.js.map +1 -1
  57. package/dist/version.d.ts +1 -1
  58. package/dist/version.js +1 -1
  59. package/package.json +2 -2
@@ -1,10 +1,29 @@
1
- import { existsSync, readFileSync } from 'fs';
1
+ import { existsSync, readFileSync, readdirSync } from 'fs';
2
2
  import { join } from 'path';
3
3
  import { inferProjectType } from './wizard-flow.js';
4
+ /** Read a file as text, swallowing every error (missing/unreadable → ''). */
5
+ function safeRead(path) {
6
+ try {
7
+ return existsSync(path) ? readFileSync(path, 'utf-8') : '';
8
+ }
9
+ catch {
10
+ return '';
11
+ }
12
+ }
13
+ /** Best-effort check: does the top-level dir contain a file with `ext`? */
14
+ function hasFileWithExt(cwd, ext) {
15
+ try {
16
+ return readdirSync(cwd).some(f => f.endsWith(ext));
17
+ }
18
+ catch {
19
+ return false;
20
+ }
21
+ }
4
22
  export function detectStack(cwd = process.cwd()) {
5
23
  const result = {
6
- language: null, backendLanguage: null, frontendLanguage: null, projectType: null,
7
- backend: null, frontend: null,
24
+ language: null, backendLanguage: null, frontendLanguage: null, mobileLanguage: null,
25
+ projectType: null,
26
+ backend: null, frontend: null, mobile: null,
8
27
  database: null, orm: null, packageManager: null,
9
28
  testing: [], hasDocker: false, isMonorepo: false,
10
29
  };
@@ -40,6 +59,16 @@ export function detectStack(cwd = process.cwd()) {
40
59
  result.frontend = 'nuxt';
41
60
  else if ('svelte' in deps)
42
61
  result.frontend = 'sveltekit';
62
+ // Mobile (new dimension): Expo wraps React Native — prefer the more
63
+ // specific "expo" label when present, else react-native.
64
+ if ('expo' in deps) {
65
+ result.mobile = 'expo';
66
+ result.mobileLanguage = 'typescript';
67
+ }
68
+ else if ('react-native' in deps) {
69
+ result.mobile = 'react-native';
70
+ result.mobileLanguage = 'typescript';
71
+ }
43
72
  if ('drizzle-orm' in deps)
44
73
  result.orm = 'drizzle';
45
74
  else if ('@prisma/client' in deps || 'prisma' in deps)
@@ -60,10 +89,60 @@ export function detectStack(cwd = process.cwd()) {
60
89
  catch { /* ignore */ }
61
90
  }
62
91
  if (!result.language) {
63
- if (existsSync(join(cwd, 'requirements.txt')) || existsSync(join(cwd, 'pyproject.toml'))) {
92
+ if (existsSync(join(cwd, 'pubspec.yaml'))) {
93
+ // Flutter (mobile, new dimension): pubspec.yaml with a flutter: section or
94
+ // a flutter SDK dependency. Best-effort substring match — never throws.
95
+ const pubspec = safeRead(join(cwd, 'pubspec.yaml'));
96
+ if (/(^|\n)\s*flutter\s*:/.test(pubspec) || /sdk\s*:\s*flutter/.test(pubspec)) {
97
+ result.language = 'dart';
98
+ result.mobile = 'flutter';
99
+ result.mobileLanguage = 'dart';
100
+ }
101
+ else {
102
+ // A plain Dart package (no Flutter) — language only.
103
+ result.language = 'dart';
104
+ }
105
+ }
106
+ else if (existsSync(join(cwd, 'requirements.txt')) || existsSync(join(cwd, 'pyproject.toml'))) {
64
107
  result.language = 'python';
65
- if (existsSync(join(cwd, 'manage.py')))
108
+ const reqs = (safeRead(join(cwd, 'requirements.txt')) + '\n' + safeRead(join(cwd, 'pyproject.toml'))).toLowerCase();
109
+ // Framework markers (best-effort). manage.py is the strongest Django signal.
110
+ if (existsSync(join(cwd, 'manage.py')) || /\bdjango\b/.test(reqs))
66
111
  result.backend = 'django';
112
+ else if (/\bfastapi\b/.test(reqs))
113
+ result.backend = 'fastapi';
114
+ else if (/\bflask\b/.test(reqs))
115
+ result.backend = 'flask';
116
+ }
117
+ else if (existsSync(join(cwd, 'Cargo.toml'))) {
118
+ // Rust: language always; web framework from deps (axum/actix-web/rocket).
119
+ result.language = 'rust';
120
+ const cargo = safeRead(join(cwd, 'Cargo.toml'));
121
+ if (/\baxum\b/.test(cargo))
122
+ result.backend = 'axum';
123
+ else if (/actix-web/.test(cargo))
124
+ result.backend = 'actix';
125
+ else if (/\brocket\b/.test(cargo))
126
+ result.backend = 'rocket';
127
+ }
128
+ else if (existsSync(join(cwd, 'pom.xml')) ||
129
+ existsSync(join(cwd, 'build.gradle')) ||
130
+ existsSync(join(cwd, 'build.gradle.kts'))) {
131
+ // JVM: Spring Boot when a build file references spring-boot. Language is
132
+ // kotlin when a Kotlin build/source is present, else java.
133
+ const buildFiles = (safeRead(join(cwd, 'pom.xml')) + '\n' +
134
+ safeRead(join(cwd, 'build.gradle')) + '\n' +
135
+ safeRead(join(cwd, 'build.gradle.kts')));
136
+ const isKotlin = existsSync(join(cwd, 'build.gradle.kts')) ||
137
+ /kotlin/i.test(buildFiles) ||
138
+ hasFileWithExt(cwd, '.kt');
139
+ result.language = isKotlin ? 'kotlin' : 'java';
140
+ // Spring Boot markers across pom.xml + gradle: the Maven artifact
141
+ // (spring-boot-starter-*), the Gradle plugin id (org.springframework.boot)
142
+ // or any spring-boot reference.
143
+ if (/spring-boot/i.test(buildFiles) || /springframework\.boot/i.test(buildFiles)) {
144
+ result.backend = 'springboot';
145
+ }
67
146
  }
68
147
  else if (existsSync(join(cwd, 'Gemfile'))) {
69
148
  result.language = 'ruby';
@@ -90,11 +169,18 @@ export function detectStack(cwd = process.cwd()) {
90
169
  result.frontendLanguage = 'typescript';
91
170
  if (result.backend)
92
171
  result.backendLanguage = result.language ?? 'typescript';
172
+ // Mobile language: dart for Flutter, typescript for React Native/Expo. Set at
173
+ // detection time above; backfill from the base language as a safety net.
174
+ if (result.mobile && !result.mobileLanguage) {
175
+ result.mobileLanguage = result.mobile === 'flutter' ? 'dart' : 'typescript';
176
+ }
93
177
  // If there's a frontend but no detected backend and the base language is TS,
94
178
  // it's a TS frontend-only project; leave backendLanguage null.
95
- // Infer project type from what was detected.
96
- if (result.backend || result.frontend) {
97
- result.projectType = inferProjectType({ backend: result.backend, frontend: result.frontend });
179
+ // Infer project type from what was detected. Mobile is the primary hint.
180
+ if (result.backend || result.frontend || result.mobile) {
181
+ result.projectType = inferProjectType({
182
+ backend: result.backend, frontend: result.frontend, mobile: result.mobile,
183
+ });
98
184
  }
99
185
  return result;
100
186
  }
@@ -1 +1 @@
1
- {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/lib/detect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/lib/detect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/lib/generators/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAoF9C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAqF5D"}
1
+ {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/lib/generators/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAwF9C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAsF5D"}
@@ -69,6 +69,10 @@ function devCommands(language) {
69
69
  case 'ruby': return { dev: 'rails server', test: 'bundle exec rspec', lint: 'rubocop', build: '# no aplica' };
70
70
  case 'go': return { dev: 'go run ./cmd/...', test: 'go test ./...', lint: 'golangci-lint run', build: 'go build ./...' };
71
71
  case 'php': return { dev: 'php artisan serve', test: './vendor/bin/pest', lint: 'vendor/bin/phpstan analyse', build: 'composer install --no-dev' };
72
+ case 'rust': return { dev: 'cargo run', test: 'cargo test', lint: 'cargo clippy', build: 'cargo build --release' };
73
+ case 'java': return { dev: './mvnw spring-boot:run', test: './mvnw test', lint: './mvnw checkstyle:check', build: './mvnw package' };
74
+ case 'kotlin': return { dev: './gradlew bootRun', test: './gradlew test', lint: './gradlew ktlintCheck', build: './gradlew build' };
75
+ case 'dart': return { dev: 'flutter run', test: 'flutter test', lint: 'flutter analyze', build: 'flutter build apk' };
72
76
  default: return { dev: '# ver documentación', test: '# ver documentación', lint: '# ver documentación', build: '# ver documentación' };
73
77
  }
74
78
  }
@@ -85,6 +89,7 @@ export function generateClaudeMd(config) {
85
89
  // Fallback a project.language cuando los campos por lado no existen (archivos viejos).
86
90
  const backendStr = stackWithLanguage(stack.backend, stack.backend_language);
87
91
  const frontendStr = stackWithLanguage(stack.frontend, stack.frontend_language);
92
+ const mobileStr = stackWithLanguage(stack.mobile, stack.mobile_language);
88
93
  const { dev, test, lint, build } = devCommands(language);
89
94
  const specsPath = paths?.specs ?? 'docs/specs';
90
95
  const progressPath = paths?.progress ?? 'docs/progress.html';
@@ -104,7 +109,7 @@ ${description}
104
109
 
105
110
  - **Lenguaje**: ${language}
106
111
  - **Backend**: ${backendStr}
107
- - **Frontend**: ${frontendStr}
112
+ - **Frontend**: ${frontendStr}${stack.mobile ? `\n- **Mobile**: ${mobileStr}` : ''}
108
113
  - **Base de datos**: ${stack.database ?? 'N/A'}
109
114
  - **Testing**: ${(stack.testing ?? []).join(', ')}
110
115
 
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/lib/generators/claude-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/lib/generators/claude-code.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export function generateCodexAgentsMd(config) {
20
20
  - **Nombre**: ${name}
21
21
  - **Lenguaje**: ${language}
22
22
  - **Backend**: ${stackWithLanguage(stack.backend, stack.backend_language)}
23
- - **Frontend**: ${stackWithLanguage(stack.frontend, stack.frontend_language)}
23
+ - **Frontend**: ${stackWithLanguage(stack.frontend, stack.frontend_language)}${stack.mobile ? `\n- **Mobile**: ${stackWithLanguage(stack.mobile, stack.mobile_language)}` : ''}
24
24
 
25
25
  ## Agentes disponibles
26
26
 
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/lib/generators/codex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,8EAA8E;AAC9E,oFAAoF;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IAEnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,aAAa,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC;IAE7C,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC;IAEzF,OAAO,iBAAiB,IAAI;;;;;gBAKd,IAAI;kBACF,QAAQ;iBACT,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC;kBACvD,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC;;;;EAI1E,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDV,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/lib/generators/codex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,8EAA8E;AAC9E,oFAAoF;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IAEnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,aAAa,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC;IAE7C,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC;IAEzF,OAAO,iBAAiB,IAAI;;;;;gBAKd,IAAI;kBACF,QAAQ;iBACT,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC;kBACvD,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;;;;EAI5K,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDV,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"kiro.d.ts","sourceRoot":"","sources":["../../../src/lib/generators/kiro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAc9C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAsB/D;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA+BjE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAqC9D;AAED,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAgBnE;AAED,wBAAgB,2BAA2B,IAAI,MAAM,CAcpD;AAGD,wBAAgB,yBAAyB,IAAI,MAAM,CAclD;AAGD,wBAAgB,wBAAwB,IAAI,MAAM,CAcjD"}
1
+ {"version":3,"file":"kiro.d.ts","sourceRoot":"","sources":["../../../src/lib/generators/kiro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAkB9C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAsB/D;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA+BjE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAqC9D;AAED,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAgBnE;AAED,wBAAgB,2BAA2B,IAAI,MAAM,CAcpD;AAGD,wBAAgB,yBAAyB,IAAI,MAAM,CAclD;AAGD,wBAAgB,wBAAwB,IAAI,MAAM,CAcjD"}
@@ -6,6 +6,10 @@ function devCommands(language) {
6
6
  case 'ruby': return { dev: 'rails server', test: 'bundle exec rspec', lint: 'rubocop' };
7
7
  case 'go': return { dev: 'go run ./cmd/...', test: 'go test ./...', lint: 'golangci-lint run' };
8
8
  case 'php': return { dev: 'php artisan serve', test: './vendor/bin/pest', lint: 'phpstan analyse' };
9
+ case 'rust': return { dev: 'cargo run', test: 'cargo test', lint: 'cargo clippy' };
10
+ case 'java': return { dev: './mvnw spring-boot:run', test: './mvnw test', lint: './mvnw checkstyle:check' };
11
+ case 'kotlin': return { dev: './gradlew bootRun', test: './gradlew test', lint: './gradlew ktlintCheck' };
12
+ case 'dart': return { dev: 'flutter run', test: 'flutter test', lint: 'flutter analyze' };
9
13
  default: return { dev: '# ver docs', test: '# ver docs', lint: '# ver docs' };
10
14
  }
11
15
  }
@@ -22,7 +26,7 @@ ${proj.description ?? ''}
22
26
 
23
27
  - Language: ${proj.language ?? 'N/A'}
24
28
  - Backend: ${stackWithLanguage(stack.backend, stack.backend_language)}
25
- - Frontend: ${stackWithLanguage(stack.frontend, stack.frontend_language)}
29
+ - Frontend: ${stackWithLanguage(stack.frontend, stack.frontend_language)}${stack.mobile ? `\n- Mobile: ${stackWithLanguage(stack.mobile, stack.mobile_language)}` : ''}
26
30
  - Database: ${stack.database ?? 'N/A'}
27
31
  - ORM: ${stack.orm ?? 'N/A'}
28
32
  - Testing: ${(stack.testing ?? []).join(', ') || 'N/A'}
@@ -1 +1 @@
1
- {"version":3,"file":"kiro.js","sourceRoot":"","sources":["../../../src/lib/generators/kiro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kiro.js","sourceRoot":"","sources":["../../../src/lib/generators/kiro.ts"],"names":[],"mappings":"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"}
@@ -143,7 +143,7 @@ export function generateAgentsMd(config) {
143
143
  - **Nombre**: ${name}
144
144
  - **Lenguaje**: ${language}
145
145
  - **Backend**: ${stackWithLanguage(stack.backend, stack.backend_language)}
146
- - **Frontend**: ${stackWithLanguage(stack.frontend, stack.frontend_language)}
146
+ - **Frontend**: ${stackWithLanguage(stack.frontend, stack.frontend_language)}${stack.mobile ? `\n- **Mobile**: ${stackWithLanguage(stack.mobile, stack.mobile_language)}` : ''}
147
147
  - **Base de datos**: ${stack.database ?? 'N/A'}
148
148
  - **Profiles activos**: ${profiles.join(', ') || '—'}
149
149
 
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/lib/generators/opencode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/lib/generators/opencode.ts"],"names":[],"mappings":"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"}
@@ -30,8 +30,8 @@ export interface ProjectAnalysis {
30
30
  description: string;
31
31
  /** Primary manifest path (relative, POSIX) that named the project, if any. */
32
32
  manifest: string | null;
33
- /** Manifest ecosystem: npm | python | php | ruby | go | unknown. */
34
- ecosystem: 'npm' | 'python' | 'php' | 'ruby' | 'go' | 'unknown';
33
+ /** Manifest ecosystem: npm | python | php | ruby | go | rust | jvm | dart | unknown. */
34
+ ecosystem: 'npm' | 'python' | 'php' | 'ruby' | 'go' | 'rust' | 'jvm' | 'dart' | 'unknown';
35
35
  stack: DetectedStack;
36
36
  type: ProjectType;
37
37
  dependencies: DependencyInfo[];
@@ -1 +1 @@
1
- {"version":3,"file":"project-analysis.d.ts","sourceRoot":"","sources":["../../src/lib/project-analysis.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEtE,MAAM,WAAW,QAAQ;IACvB,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,OAAO;IACtB,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,IAAI,GAAG,aAAa,GAAG,QAAQ,CAAC;CAC9E;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,oEAAoE;IACpE,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAChE,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,WAAW,EAAE,QAAQ,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,0EAA0E;IAC1E,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,GAAG,EAAE,OAAO,CAAC;CACd;AAkSD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAoC5D;AAED,uEAAuE;AACvE,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM5C"}
1
+ {"version":3,"file":"project-analysis.d.ts","sourceRoot":"","sources":["../../src/lib/project-analysis.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEtE,MAAM,WAAW,QAAQ;IACvB,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,OAAO;IACtB,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,IAAI,GAAG,aAAa,GAAG,QAAQ,CAAC;CAC9E;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,wFAAwF;IACxF,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IAC1F,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,WAAW,EAAE,QAAQ,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,0EAA0E;IAC1E,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,GAAG,EAAE,OAAO,CAAC;CACd;AA8UD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAsC5D;AAED,uEAAuE;AACvE,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM5C"}
@@ -85,6 +85,39 @@ function resolveNameDescription(root) {
85
85
  if (m)
86
86
  return { name: m[1], description: null, manifest: 'go.mod', ecosystem: 'go' };
87
87
  }
88
+ // rust (Cargo.toml — [package] name/description)
89
+ const cargo = readText(join(root, 'Cargo.toml'));
90
+ if (cargo) {
91
+ const name = extractField(cargo, 'name');
92
+ const description = extractField(cargo, 'description');
93
+ return { name, description, manifest: 'Cargo.toml', ecosystem: 'rust' };
94
+ }
95
+ // dart / flutter (pubspec.yaml — name/description)
96
+ const pubspec = readText(join(root, 'pubspec.yaml'));
97
+ if (pubspec) {
98
+ const name = extractField(pubspec, 'name');
99
+ const description = extractField(pubspec, 'description');
100
+ return { name, description, manifest: 'pubspec.yaml', ecosystem: 'dart' };
101
+ }
102
+ // jvm (Spring Boot etc.) — pom.xml <artifactId> or a gradle build file.
103
+ const pom = readText(join(root, 'pom.xml'));
104
+ if (pom) {
105
+ // The project's own <artifactId> lives outside the <parent> block. Strip the
106
+ // <parent>…</parent> section first so we don't pick the parent's artifactId
107
+ // (e.g. spring-boot-starter-parent).
108
+ const own = pom.replace(/<parent>[\s\S]*?<\/parent>/, '');
109
+ const m = own.match(/<artifactId>([^<]+)<\/artifactId>/)
110
+ ?? pom.match(/<artifactId>([^<]+)<\/artifactId>/);
111
+ const nameTag = pom.match(/<name>([^<]+)<\/name>/);
112
+ return {
113
+ name: nameTag ? nameTag[1].trim() : (m ? m[1].trim() : null),
114
+ description: null, manifest: 'pom.xml', ecosystem: 'jvm',
115
+ };
116
+ }
117
+ if (existsSync(join(root, 'build.gradle.kts')) || existsSync(join(root, 'build.gradle'))) {
118
+ const manifest = existsSync(join(root, 'build.gradle.kts')) ? 'build.gradle.kts' : 'build.gradle';
119
+ return { name: null, description: null, manifest, ecosystem: 'jvm' };
120
+ }
88
121
  // ruby (Gemfile has no name; *.gemspec might — fall back to the dir name).
89
122
  if (existsSync(join(root, 'Gemfile'))) {
90
123
  return { name: null, description: null, manifest: 'Gemfile', ecosystem: 'ruby' };
@@ -218,6 +251,11 @@ const KEY_FILE_SPECS = [
218
251
  { file: 'composer.json', kind: 'manifest' },
219
252
  { file: 'Gemfile', kind: 'manifest' },
220
253
  { file: 'go.mod', kind: 'manifest' },
254
+ { file: 'Cargo.toml', kind: 'manifest' },
255
+ { file: 'pubspec.yaml', kind: 'manifest' },
256
+ { file: 'pom.xml', kind: 'manifest' },
257
+ { file: 'build.gradle', kind: 'manifest' },
258
+ { file: 'build.gradle.kts', kind: 'manifest' },
221
259
  { file: 'Dockerfile', kind: 'dockerfile' },
222
260
  { file: 'docker-compose.yml', kind: 'dockerfile' },
223
261
  { file: '.env.example', kind: 'env-example' },
@@ -280,6 +318,9 @@ function resolveEntrypoints(root, ecosystem) {
280
318
  'src/app.ts', 'src/app.js', 'index.ts', 'index.js', 'main.go',
281
319
  'app/main.py', 'main.py', 'app.py', 'manage.py', 'src/main.py',
282
320
  'cmd/main.go', 'config/application.rb',
321
+ 'src/main.rs', 'src/lib.rs', // rust
322
+ 'lib/main.dart', // flutter / dart
323
+ 'app.json', 'App.tsx', 'App.js', 'index.js', // react-native / expo
283
324
  ];
284
325
  for (const c of candidates) {
285
326
  if (existsSync(join(root, c)))
@@ -321,8 +362,10 @@ export function analyzeProject(root) {
321
362
  }
322
363
  catch {
323
364
  return {
324
- language: null, backendLanguage: null, frontendLanguage: null, projectType: null,
325
- backend: null, frontend: null, database: null, orm: null, packageManager: null,
365
+ language: null, backendLanguage: null, frontendLanguage: null, mobileLanguage: null,
366
+ projectType: null,
367
+ backend: null, frontend: null, mobile: null,
368
+ database: null, orm: null, packageManager: null,
326
369
  testing: [], hasDocker: false, isMonorepo: false,
327
370
  };
328
371
  }
@@ -333,7 +376,7 @@ export function analyzeProject(root) {
333
376
  // Project type: prefer the stack's inference; fall back to the framework-based
334
377
  // inference so a bare repo still gets a sensible (backend) default.
335
378
  const type = stack.projectType
336
- ?? inferProjectType({ backend: stack.backend, frontend: stack.frontend });
379
+ ?? inferProjectType({ backend: stack.backend, frontend: stack.frontend, mobile: stack.mobile });
337
380
  return {
338
381
  root,
339
382
  name,
@@ -1 +1 @@
1
- {"version":3,"file":"project-analysis.js","sourceRoot":"","sources":["../../src/lib/project-analysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-analysis.js","sourceRoot":"","sources":["../../src/lib/project-analysis.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-autogen.d.ts","sourceRoot":"","sources":["../../src/lib/wiki-autogen.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,uBAAuB,CAAC;AAI7E,UAAU,QAAQ;IAChB,8DAA8D;IAC9D,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;IAC3D,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;CACjB;AAifD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,eAAe,GAAG,QAAQ,EAAE,CAyC7D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,eAAe,GAAG,aAAa,CAqC9D"}
1
+ {"version":3,"file":"wiki-autogen.d.ts","sourceRoot":"","sources":["../../src/lib/wiki-autogen.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,uBAAuB,CAAC;AAI7E,UAAU,QAAQ;IAChB,8DAA8D;IAC9D,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;IAC3D,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;CACjB;AAsfD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,eAAe,GAAG,QAAQ,EAAE,CA0C7D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,eAAe,GAAG,aAAa,CAqC9D"}
@@ -33,8 +33,10 @@ function cell(s) {
33
33
  function frameworkLabel(id) {
34
34
  const map = {
35
35
  hono: 'Hono', express: 'Express', nestjs: 'NestJS', fastify: 'Fastify',
36
- fastapi: 'FastAPI', django: 'Django', rails: 'Rails', laravel: 'Laravel',
36
+ fastapi: 'FastAPI', flask: 'Flask', django: 'Django', rails: 'Rails', laravel: 'Laravel',
37
+ springboot: 'Spring Boot', axum: 'Axum', actix: 'Actix-web', rocket: 'Rocket',
37
38
  nextjs: 'Next.js', astro: 'Astro', nuxt: 'Nuxt', sveltekit: 'SvelteKit',
39
+ flutter: 'Flutter', 'react-native': 'React Native', expo: 'Expo',
38
40
  drizzle: 'Drizzle ORM', prisma: 'Prisma', typeorm: 'TypeORM',
39
41
  vitest: 'Vitest', jest: 'Jest', playwright: 'Playwright', cypress: 'Cypress',
40
42
  };
@@ -126,6 +128,7 @@ function roleSentence(role) {
126
128
  const map = {
127
129
  backend: 'el framework de backend',
128
130
  frontend: 'el framework de frontend',
131
+ mobile: 'el framework de mobile',
129
132
  orm: 'el ORM / capa de datos',
130
133
  testing: 'una herramienta de testing',
131
134
  dependency: 'una dependencia mayor',
@@ -241,6 +244,8 @@ function buildStackConcept(a, frameworkSlugs) {
241
244
  row('Backend', `${frameworkLabel(s.backend)}${s.backendLanguage ? ` (${languageLabel(s.backendLanguage)})` : ''}`);
242
245
  if (s.frontend)
243
246
  row('Frontend', `${frameworkLabel(s.frontend)}${s.frontendLanguage ? ` (${languageLabel(s.frontendLanguage)})` : ''}`);
247
+ if (s.mobile)
248
+ row('Mobile', `${frameworkLabel(s.mobile)}${s.mobileLanguage ? ` (${languageLabel(s.mobileLanguage)})` : ''}`);
244
249
  if (s.database)
245
250
  row('Base de datos', s.database);
246
251
  if (s.orm)
@@ -316,6 +321,7 @@ function buildOverviewSynthesis(a, pages, rawSources) {
316
321
  a.stack.language ? `- Lenguaje base: ${languageLabel(a.stack.language)}` : '',
317
322
  a.stack.backend ? `- Backend: ${frameworkLabel(a.stack.backend)}` : '',
318
323
  a.stack.frontend ? `- Frontend: ${frameworkLabel(a.stack.frontend)}` : '',
324
+ a.stack.mobile ? `- Mobile: ${frameworkLabel(a.stack.mobile)}` : '',
319
325
  `- Directorios top-level: ${a.directories.length}`,
320
326
  `- Entrypoints detectados: ${a.entrypoints.length}`,
321
327
  '',
@@ -531,6 +537,7 @@ export function buildWikiPages(a) {
531
537
  };
532
538
  addTool(a.stack.backend, 'backend');
533
539
  addTool(a.stack.frontend, 'frontend');
540
+ addTool(a.stack.mobile, 'mobile');
534
541
  addTool(a.stack.orm, 'orm');
535
542
  for (const t of a.stack.testing)
536
543
  addTool(t, 'testing');