ft-scout 2.0.3 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.ft/context.json +9 -8
- package/README.md +8 -3
- package/bin/src/commands/init.d.ts.map +1 -1
- package/bin/src/commands/init.js +11 -6
- package/bin/src/commands/init.js.map +1 -1
- package/bin/src/commands/web.d.ts.map +1 -1
- package/bin/src/commands/web.js +9 -5
- package/bin/src/commands/web.js.map +1 -1
- package/bin/src/engine/llm.d.ts.map +1 -1
- package/bin/src/engine/llm.js +9 -1
- package/bin/src/engine/llm.js.map +1 -1
- package/bin/src/index.js +6 -2
- package/bin/src/index.js.map +1 -1
- package/bin/src/utils/config.d.ts.map +1 -1
- package/bin/src/utils/config.js.map +1 -1
- package/bin/src/utils/language.d.ts.map +1 -0
- package/bin/src/utils/language.js +181 -0
- package/bin/src/utils/language.js.map +1 -0
- package/package.json +1 -1
package/.ft/context.json
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"projectName": "FT-CLI",
|
|
3
3
|
"targetDir": "C:\\Users\\rishi\\FT-CLI",
|
|
4
|
-
"stack": "- **Core Capability**:
|
|
4
|
+
"stack": "- **Core Capability**: Yeh project ek onboarding co-pilot ke roop mein kaam karta hai, jo naye codebases ke liye madadgar hota hai. Ismein ai aur git jaise takneekon ka upyog kiya gaya hai. \n- **Architecture & Stack**: Is project mein Node.js, TypeScript, aur Commander jaise takneekon ka upyog kiya gaya hai, jo ek robust aur scalable architecture banaate hain. Ismein microservices design pattern ka upyog kiya gaya hai.\n- **Architectural Moat**: Is project ki unique engineering advantage yeh hai ki ismein openai aur simple-git jaise libraries ka upyog kiya gaya hai, jo iske scalability aur usability ko badhaate hain.",
|
|
5
5
|
"entryPoint": "bin/ft.js",
|
|
6
6
|
"painPoints": [
|
|
7
|
-
"⚡ [
|
|
8
|
-
"⚡ [Scaling Bottleneck]:
|
|
9
|
-
"⚡ [Execution Note]:
|
|
7
|
+
"⚡ [Subsystem Risk]: Is project mein openai library ka upyog kiya gaya hai, jo ek external dependency hai aur jiske liye special care ki zaroorat hoti hai, khaaskar data security ke liye",
|
|
8
|
+
"⚡ [Scaling Bottleneck]: Is project mein user data ko manage karne ke liye ek robust database system ki zaroorat hai, jo is project ki scalability ko ensure karega",
|
|
9
|
+
"⚡ [Execution Note]: Is project ko execute karne ke liye Node.js version 18.0.0 ya usse upar ki zaroorat hai, jo developer onboarding ke liye ek mahatvapoorn constraint hai"
|
|
10
10
|
],
|
|
11
11
|
"readOrder": [
|
|
12
|
-
"package.json ->
|
|
13
|
-
"src/email-template.txt ->
|
|
14
|
-
"
|
|
12
|
+
"package.json -> Yeh file project ke dependencies, scripts, aur metadata ko define karta hai, jo project ki configuration ko samajhne ke liye mahatvapoorn hai",
|
|
13
|
+
"src/email-template.txt -> Yeh file project ke email template ko define karta hai, jo user onboarding ke liye mahatvapoorn hai",
|
|
14
|
+
"bin/ft.js -> Yeh file project ka primary execution entry point hai, jo user input ko process karta hai aur project ke business logic ko execute karta hai"
|
|
15
15
|
],
|
|
16
|
-
"createdAt": "2026-08-
|
|
16
|
+
"createdAt": "2026-08-01T16:39:32.874Z",
|
|
17
|
+
"language": "Hindi"
|
|
17
18
|
}
|
package/README.md
CHANGED
|
@@ -18,12 +18,16 @@ Once installed, you can use the `ft` or `ft-scout` commands.
|
|
|
18
18
|
# Initialize learning on a local or remote repository
|
|
19
19
|
ft init [repoUrl]
|
|
20
20
|
|
|
21
|
-
#
|
|
22
|
-
ft init --
|
|
21
|
+
# Multilingual AI teardowns & onboarding summaries (e.g. spanish, hindi, french, japanese, german, etc.)
|
|
22
|
+
ft init [repoUrl] --lang spanish
|
|
23
|
+
ft init [repoUrl] -l hi
|
|
24
|
+
|
|
25
|
+
# Interactive Q&A mode after indexing (with optional web search and custom language)
|
|
26
|
+
ft init --ask --web --lang ja
|
|
23
27
|
|
|
24
28
|
# Live internet search for live web context & up-to-date documentation
|
|
25
29
|
ft search "Next.js 15 App Router"
|
|
26
|
-
ft web "Tailwind CSS v4" --ask
|
|
30
|
+
ft web "Tailwind CSS v4" --ask --lang french
|
|
27
31
|
|
|
28
32
|
# Show knowledge holders of a specific directory or file
|
|
29
33
|
ft owners <path>
|
|
@@ -34,3 +38,4 @@ ft risky
|
|
|
34
38
|
# Diagnose local setup, missing .env files, and internet connection
|
|
35
39
|
ft setup
|
|
36
40
|
```
|
|
41
|
+
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["init.ts"],"names":[],"mappings":"AAmJA,wBAAsB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,iBA6R7H"}
|
package/bin/src/commands/init.js
CHANGED
|
@@ -5,8 +5,9 @@ import { spinner, note, password, isCancel, text } from '@clack/prompts';
|
|
|
5
5
|
import chalk from 'chalk';
|
|
6
6
|
import { simpleGit } from 'simple-git';
|
|
7
7
|
import { generateRepoSummary, askRepoQuestion } from '../engine/llm.js';
|
|
8
|
-
import { saveContext } from '../utils/config.js';
|
|
8
|
+
import { saveContext, loadContext } from '../utils/config.js';
|
|
9
9
|
import { renderMarkdown, formatInlineMarkdown } from '../utils/markdown.js';
|
|
10
|
+
import { normalizeLanguage, getLanguageInstruction } from '../utils/language.js';
|
|
10
11
|
function extractNpmPackageName(target) {
|
|
11
12
|
if (target.startsWith('npm:')) {
|
|
12
13
|
return target.slice(4).trim();
|
|
@@ -136,6 +137,9 @@ async function isPublicRepo(gitUrl) {
|
|
|
136
137
|
export async function handleInit(repoUrl, options) {
|
|
137
138
|
const s = spinner();
|
|
138
139
|
let targetDir = process.cwd();
|
|
140
|
+
const existingContext = loadContext();
|
|
141
|
+
const targetLang = normalizeLanguage(options?.lang) || normalizeLanguage(existingContext?.language);
|
|
142
|
+
const langDisplay = targetLang ? getLanguageInstruction(targetLang, options?.native).displayName : undefined;
|
|
139
143
|
if (repoUrl && repoUrl.trim()) {
|
|
140
144
|
const rawTarget = repoUrl.trim();
|
|
141
145
|
const resolvedPath = path.resolve(rawTarget);
|
|
@@ -243,7 +247,7 @@ export async function handleInit(repoUrl, options) {
|
|
|
243
247
|
}
|
|
244
248
|
}
|
|
245
249
|
}
|
|
246
|
-
s.start(`Analyzing repository at ${chalk.cyan(targetDir)}...`);
|
|
250
|
+
s.start(`Analyzing repository at ${chalk.cyan(targetDir)}${langDisplay ? ` (Language: ${chalk.bold.yellow(langDisplay)})` : ''}...`);
|
|
247
251
|
// Scan file tree up to 2 levels deep
|
|
248
252
|
const getFiles = (dir, depth = 2) => {
|
|
249
253
|
let results = [];
|
|
@@ -286,7 +290,7 @@ export async function handleInit(repoUrl, options) {
|
|
|
286
290
|
projectName = path.basename(rawTarget, '.git');
|
|
287
291
|
}
|
|
288
292
|
}
|
|
289
|
-
const aiInsight = await generateRepoSummary(projectName, filesList, manifestContent || '{}');
|
|
293
|
+
const aiInsight = await generateRepoSummary(projectName, filesList, manifestContent || '{}', targetLang, options?.native);
|
|
290
294
|
// Save context into local .ft folder
|
|
291
295
|
saveContext({
|
|
292
296
|
projectName,
|
|
@@ -297,11 +301,12 @@ export async function handleInit(repoUrl, options) {
|
|
|
297
301
|
painPoints: aiInsight.painPoints,
|
|
298
302
|
readOrder: aiInsight.readOrder,
|
|
299
303
|
createdAt: new Date().toISOString(),
|
|
304
|
+
language: targetLang,
|
|
300
305
|
});
|
|
301
306
|
s.stop('Repository analysis complete.');
|
|
302
307
|
// Print repository summary
|
|
303
308
|
note(`Project Name: ${chalk.bold.green(projectName)}
|
|
304
|
-
Location: ${chalk.dim(targetDir)}
|
|
309
|
+
Location: ${chalk.dim(targetDir)}${langDisplay ? `\nLanguage: ${chalk.bold.yellow(langDisplay)}` : ''}
|
|
305
310
|
|
|
306
311
|
${chalk.bold.magenta('🚀 Architectural Executive Summary & Stack:')}
|
|
307
312
|
${renderMarkdown(aiInsight.summary)}
|
|
@@ -315,7 +320,7 @@ ${aiInsight.painPoints.map((p) => ` • ${formatInlineMarkdown(p)}`).join('\n\n'
|
|
|
315
320
|
${chalk.bold.green('🧭 Strategic Onboarding Read Order:')}
|
|
316
321
|
${aiInsight.readOrder.map((r, idx) => ` ${idx + 1}. ${formatInlineMarkdown(r)}`).join('\n')}`, '⚡ FrontTerrain Codebase Teardown (YC Pitch Edition)');
|
|
317
322
|
if (options?.ask) {
|
|
318
|
-
note(chalk.cyan(
|
|
323
|
+
note(chalk.cyan(`Interactive AI Q&A session active${targetLang ? ` (${targetLang})` : ''}.\nAsk any question about this codebase. Press Ctrl+C to exit at any time.`), '💬 Interactive Q&A Mode');
|
|
319
324
|
const chatHistory = [];
|
|
320
325
|
while (true) {
|
|
321
326
|
const query = await text({
|
|
@@ -346,7 +351,7 @@ ${aiInsight.readOrder.map((r, idx) => ` ${idx + 1}. ${formatInlineMarkdown(r)}`)
|
|
|
346
351
|
else {
|
|
347
352
|
askSpinner.start('Analyzing codebase context & generating response...');
|
|
348
353
|
}
|
|
349
|
-
const answer = await askRepoQuestion(qText, projectName, filesList, manifestContent || '{}', chatHistory, options?.web
|
|
354
|
+
const answer = await askRepoQuestion(qText, projectName, filesList, manifestContent || '{}', chatHistory, { useWeb: options?.web, language: targetLang, native: options?.native });
|
|
350
355
|
askSpinner.stop('Response:');
|
|
351
356
|
const formattedAnswer = renderMarkdown(answer);
|
|
352
357
|
note(formattedAnswer, `💡 ${qText}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["web.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["web.ts"],"names":[],"mappings":"AAQA,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,iBA8F/H"}
|
package/bin/src/commands/web.js
CHANGED
|
@@ -3,10 +3,14 @@ import chalk from 'chalk';
|
|
|
3
3
|
import { getWebContext, searchWeb, fetchWebPage } from '../engine/web.js';
|
|
4
4
|
import { askRepoQuestion } from '../engine/llm.js';
|
|
5
5
|
import { renderMarkdown, formatInlineMarkdown } from '../utils/markdown.js';
|
|
6
|
+
import { loadContext } from '../utils/config.js';
|
|
7
|
+
import { normalizeLanguage } from '../utils/language.js';
|
|
6
8
|
export async function handleWebSearch(query, options) {
|
|
7
9
|
const s = spinner();
|
|
10
|
+
const existingContext = loadContext();
|
|
11
|
+
const targetLang = normalizeLanguage(options?.lang) || normalizeLanguage(existingContext?.language);
|
|
8
12
|
if (!query || !query.trim()) {
|
|
9
|
-
note(chalk.yellow(`Please specify a web query or URL, e.g.:\n ${chalk.cyan('ft search "Next.js 15 server actions"')}\n ${chalk.cyan('ft search "Tailwind CSS v4" --ask')}`), '🌐 Internet Search');
|
|
13
|
+
note(chalk.yellow(`Please specify a web query or URL, e.g.:\n ${chalk.cyan('ft search "Next.js 15 server actions"')}\n ${chalk.cyan('ft search "Tailwind CSS v4" --ask --lang spanish')}`), '🌐 Internet Search');
|
|
10
14
|
return;
|
|
11
15
|
}
|
|
12
16
|
const cleanQuery = query.trim();
|
|
@@ -21,8 +25,8 @@ export async function handleWebSearch(query, options) {
|
|
|
21
25
|
}
|
|
22
26
|
if (options?.ask) {
|
|
23
27
|
const askSpinner = spinner();
|
|
24
|
-
askSpinner.start(
|
|
25
|
-
const answer = await askRepoQuestion(`Summarize the key information and technical details from this webpage: ${cleanQuery}`, 'Web Page Summary', [cleanQuery], pageText, [], { useWeb: true, webContext: pageText });
|
|
28
|
+
askSpinner.start(`Analyzing web page content with AI${targetLang ? ` (${targetLang})` : ''}...`);
|
|
29
|
+
const answer = await askRepoQuestion(`Summarize the key information and technical details from this webpage: ${cleanQuery}`, 'Web Page Summary', [cleanQuery], pageText, [], { useWeb: true, webContext: pageText, language: targetLang, native: options?.native });
|
|
26
30
|
askSpinner.stop('AI Web Analysis:');
|
|
27
31
|
note(renderMarkdown(answer), `🌐 Web Page Synthesis: ${cleanQuery}`);
|
|
28
32
|
}
|
|
@@ -40,8 +44,8 @@ export async function handleWebSearch(query, options) {
|
|
|
40
44
|
}
|
|
41
45
|
if (options?.ask) {
|
|
42
46
|
const askSpinner = spinner();
|
|
43
|
-
askSpinner.start(
|
|
44
|
-
const answer = await askRepoQuestion(cleanQuery, 'Web Query', [], '', [], { useWeb: true, webContext: webRes.context });
|
|
47
|
+
askSpinner.start(`Synthesizing AI answer using live internet knowledge${targetLang ? ` (${targetLang})` : ''}...`);
|
|
48
|
+
const answer = await askRepoQuestion(cleanQuery, 'Web Query', [], '', [], { useWeb: true, webContext: webRes.context, language: targetLang, native: options?.native });
|
|
45
49
|
askSpinner.stop('AI Internet Synthesis:');
|
|
46
50
|
const formattedSources = webRes.sources
|
|
47
51
|
.slice(0, 4)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAa,EAAE,OAA2E;IAC9H,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IAEpB,MAAM,eAAe,GAAG,WAAW,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,iBAAiB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAEpG,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5B,IAAI,CACF,KAAK,CAAC,MAAM,CACV,+CAA+C,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,EAAE,CAC1K,EACD,oBAAoB,CACrB,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAEhC,yCAAyC;IACzC,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1E,CAAC,CAAC,KAAK,CAAC,kCAAkC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAE5B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,UAAU,+CAA+C,CAAC,EAAE,eAAe,CAAC,CAAC;YAC5H,OAAO;QACT,CAAC;QAED,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;YACjB,MAAM,UAAU,GAAG,OAAO,EAAE,CAAC;YAC7B,UAAU,CAAC,KAAK,CAAC,qCAAqC,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACjG,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,0EAA0E,UAAU,EAAE,EACtF,kBAAkB,EAClB,CAAC,UAAU,CAAC,EACZ,QAAQ,EACR,EAAE,EACF,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACtF,CAAC;YACF,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACpC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,0BAA0B,UAAU,EAAE,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,IAAI,CACF,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,UAAU,OAAO,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAChH,qBAAqB,CACtB,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IAED,CAAC,CAAC,KAAK,CAAC,8BAA8B,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAEpC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gCAAgC,UAAU,oDAAoD,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACzI,OAAO;IACT,CAAC;IAED,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,OAAO,EAAE,CAAC;QAC7B,UAAU,CAAC,KAAK,CAAC,uDAAuD,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnH,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,UAAU,EACV,WAAW,EACX,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAC5F,CAAC;QACF,UAAU,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAE1C,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO;aACpC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC;aACxD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,IAAI,CACF,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,cAAc,CAAC,gBAAgB,CAAC,EAAE,EAC/G,qBAAqB,UAAU,EAAE,CAClC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO;aACjC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAChB,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACzJ,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,IAAI,CACF,GAAG,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,aAAa,OAAO,KAAK,CAAC,GAAG,CAAC,iFAAiF,CAAC,EAAE,EAClK,+BAA+B,MAAM,CAAC,OAAO,CAAC,MAAM,iBAAiB,CACtE,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["llm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["llm.ts"],"names":[],"mappings":"AAiBA,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EAAE,EACnB,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA8D7F;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EAAE,EACnB,eAAe,EAAE,MAAM,EACvB,WAAW,GAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAM,EACxE,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,GACvI,OAAO,CAAC,MAAM,CAAC,CAgEjB"}
|
package/bin/src/engine/llm.js
CHANGED
|
@@ -3,6 +3,7 @@ import dotenv from 'dotenv';
|
|
|
3
3
|
import * as url from 'url';
|
|
4
4
|
import path from 'path';
|
|
5
5
|
import { getWebContext } from './web.js';
|
|
6
|
+
import { normalizeLanguage, getLanguageInstruction } from '../utils/language.js';
|
|
6
7
|
const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
|
|
7
8
|
// Attempt to load .env from the root of the CLI installation
|
|
8
9
|
dotenv.config({ path: path.resolve(__dirname, '../../../.env'), quiet: true });
|
|
@@ -11,11 +12,13 @@ const openai = new OpenAI({
|
|
|
11
12
|
apiKey: 'proxy-managed-key',
|
|
12
13
|
baseURL: 'https://frontterrain.com/api',
|
|
13
14
|
});
|
|
14
|
-
export async function generateRepoSummary(projectName, filesList, packageJsonContent) {
|
|
15
|
+
export async function generateRepoSummary(projectName, filesList, packageJsonContent, language, native) {
|
|
16
|
+
const langInfo = getLanguageInstruction(language, native);
|
|
15
17
|
const prompt = `
|
|
16
18
|
You are a world-class Principal Software Architect and Y Combinator Technical Partner conducting an elite, high-energy codebase teardown for a YC Demo Day pitch.
|
|
17
19
|
|
|
18
20
|
Target Project: ${projectName}
|
|
21
|
+
Target Output Language: ${langInfo.displayName}
|
|
19
22
|
|
|
20
23
|
File Tree Overview:
|
|
21
24
|
${filesList.join('\n')}
|
|
@@ -25,6 +28,8 @@ ${packageJsonContent}
|
|
|
25
28
|
|
|
26
29
|
Your goal: Generate an extremely engaging, technically deep, punchy, and impressive breakdown of this codebase. Avoid generic or dry 1-sentence answers. Make it read like a million-dollar technical due-diligence report that wows investors and engineers alike!
|
|
27
30
|
|
|
31
|
+
${langInfo.instruction} Keep source file paths, technical code symbols, and exact JSON key names in English, but write all explanatory text following the language instruction above.
|
|
32
|
+
|
|
28
33
|
Provide a JSON output matching this exact schema:
|
|
29
34
|
{
|
|
30
35
|
"summary": "- **Core Capability**: A punchy 1-2 sentence description of what the project does.\n- **Architecture & Stack**: Tech stack & core design pattern.\n- **Architectural Moat**: Unique engineering advantage or value prop.",
|
|
@@ -84,6 +89,7 @@ export async function askRepoQuestion(question, projectName, filesList, manifest
|
|
|
84
89
|
// Fallback if web fetch fails
|
|
85
90
|
}
|
|
86
91
|
}
|
|
92
|
+
const langInfo = getLanguageInstruction(options?.language, options?.native);
|
|
87
93
|
const systemPrompt = `You are FrontTerrain AI, a world-class Principal Software Architect and Y Combinator Technical Co-Pilot.
|
|
88
94
|
You have indexed the codebase for project: "${projectName}".
|
|
89
95
|
${isWebQuery ? '🌐 Internet Access: ACTIVE. You have live web search capabilities enabled.' : ''}
|
|
@@ -99,6 +105,8 @@ ${liveWebContext
|
|
|
99
105
|
|
|
100
106
|
Your mission: Answer technical questions about this repository and web context with extreme clarity, deep technical insight, and structured formatting.
|
|
101
107
|
|
|
108
|
+
CRITICAL LANGUAGE & TERMINAL RENDERING REQUIREMENT: ${langInfo.instruction} Translate all explanations, section titles, and architectural notes into ${langInfo.displayName} while keeping exact code blocks, filenames, function names, and option flags intact.
|
|
109
|
+
|
|
102
110
|
CRITICAL CLI FORMATTING INSTRUCTIONS:
|
|
103
111
|
1. Always structure your answer into short sections using Markdown headers (e.g. ### Architecture Overview).
|
|
104
112
|
2. Use bold lead-in bullet points (e.g. - **Subsystem**: Description) instead of monolithic text walls.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.js","sourceRoot":"","sources":["llm.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"llm.js","sourceRoot":"","sources":["llm.ts"],"names":[],"mappings":"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"}
|
package/bin/src/index.js
CHANGED
|
@@ -20,6 +20,8 @@ program
|
|
|
20
20
|
.alias('web')
|
|
21
21
|
.description('Allow scout to search the internet for live web context, docs, & technical solutions')
|
|
22
22
|
.option('-a, --ask', 'Synthesize an AI answer using live internet search results')
|
|
23
|
+
.option('-l, --lang <language>', 'Language for AI search synthesis (e.g. es, fr, hi, ja, spanish)')
|
|
24
|
+
.option('--native', 'Force native script (Devanagari, Hangul, Tamil script) instead of Romanized terminal script')
|
|
23
25
|
.action(async (query, options) => {
|
|
24
26
|
await handleWebSearch(query, options);
|
|
25
27
|
outro(chalk.cyan('Internet search complete.'));
|
|
@@ -27,10 +29,10 @@ program
|
|
|
27
29
|
program
|
|
28
30
|
.name('ft')
|
|
29
31
|
.description('FrontTerrain — The Onboarding Co-Pilot for New Codebases')
|
|
30
|
-
.version('2.0.
|
|
32
|
+
.version('2.0.4');
|
|
31
33
|
// Header UI on execution
|
|
32
34
|
program.hook('preAction', () => {
|
|
33
|
-
intro(chalk.bgCyan.black(' FrontTerrain CLI (v2.0.
|
|
35
|
+
intro(chalk.bgCyan.black(' FrontTerrain CLI (v2.0.4) '));
|
|
34
36
|
});
|
|
35
37
|
// Command definitions
|
|
36
38
|
program
|
|
@@ -38,6 +40,8 @@ program
|
|
|
38
40
|
.description('Build local understanding map of the repository')
|
|
39
41
|
.option('-a, --ask', 'Interactive Q&A mode after repository initialization')
|
|
40
42
|
.option('-w, --web', 'Allow scout to access internet for web search & live web context')
|
|
43
|
+
.option('-l, --lang <language>', 'Language for AI teardowns, summaries, and Q&A responses (e.g. es, fr, hi, ja, spanish)')
|
|
44
|
+
.option('--native', 'Force native script (Devanagari, Hangul, Tamil script) instead of Romanized terminal script')
|
|
41
45
|
.action(async (repoUrl, options) => {
|
|
42
46
|
await handleInit(repoUrl, options);
|
|
43
47
|
outro(chalk.green('Initialization complete!'));
|
package/bin/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AAErC,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kEAAkE,CAAC;KAC/E,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AAErC,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,KAAK,CAAC,KAAK,CAAC;KACZ,WAAW,CAAC,sFAAsF,CAAC;KACnG,MAAM,CAAC,WAAW,EAAE,4DAA4D,CAAC;KACjF,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,MAAM,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,IAAI,CAAC,IAAI,CAAC;KACV,WAAW,CAAC,0DAA0D,CAAC;KACvE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,yBAAyB;AACzB,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;IAC7B,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;AAEH,sBAAsB;AACtB,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,MAAM,CAAC,WAAW,EAAE,sDAAsD,CAAC;KAC3E,MAAM,CAAC,WAAW,EAAE,kEAAkE,CAAC;KACvF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IACjC,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,yDAAyD,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IACzB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AAErC,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kEAAkE,CAAC;KAC/E,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AAErC,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,KAAK,CAAC,KAAK,CAAC;KACZ,WAAW,CAAC,sFAAsF,CAAC;KACnG,MAAM,CAAC,WAAW,EAAE,4DAA4D,CAAC;KACjF,MAAM,CAAC,uBAAuB,EAAE,iEAAiE,CAAC;KAClG,MAAM,CAAC,UAAU,EAAE,6FAA6F,CAAC;KACjH,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/B,MAAM,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,IAAI,CAAC,IAAI,CAAC;KACV,WAAW,CAAC,0DAA0D,CAAC;KACvE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,yBAAyB;AACzB,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;IAC7B,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;AAEH,sBAAsB;AACtB,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,MAAM,CAAC,WAAW,EAAE,sDAAsD,CAAC;KAC3E,MAAM,CAAC,WAAW,EAAE,kEAAkE,CAAC;KACvF,MAAM,CAAC,uBAAuB,EAAE,wFAAwF,CAAC;KACzH,MAAM,CAAC,UAAU,EAAE,6FAA6F,CAAC;KACjH,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IACjC,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,yDAAyD,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IACzB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAKD,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,QAK5C;AAED,wBAAgB,WAAW,IAAI,WAAW,GAAG,IAAI,CAGhD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAcxB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;AAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAEvD,MAAM,UAAU,WAAW,CAAC,IAAiB;IAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language.d.ts","sourceRoot":"","sources":["language.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAyHvD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWxE;AAED,wBAAgB,sBAAsB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAgDhI"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
export const LANGUAGE_SPECS = {
|
|
2
|
+
en: {
|
|
3
|
+
name: 'English',
|
|
4
|
+
romanName: 'English',
|
|
5
|
+
romanInstruction: 'Write in clear, professional technical English.',
|
|
6
|
+
nativeInstruction: 'Write in clear, professional technical English.',
|
|
7
|
+
},
|
|
8
|
+
es: {
|
|
9
|
+
name: 'Spanish',
|
|
10
|
+
romanName: 'Spanish',
|
|
11
|
+
romanInstruction: 'Write in clear Spanish using standard technical terms.',
|
|
12
|
+
nativeInstruction: 'Write in clear Spanish using standard technical terms.',
|
|
13
|
+
},
|
|
14
|
+
fr: {
|
|
15
|
+
name: 'French',
|
|
16
|
+
romanName: 'French',
|
|
17
|
+
romanInstruction: 'Write in clear French using standard technical terms.',
|
|
18
|
+
nativeInstruction: 'Write in clear French using standard technical terms.',
|
|
19
|
+
},
|
|
20
|
+
de: {
|
|
21
|
+
name: 'German',
|
|
22
|
+
romanName: 'German',
|
|
23
|
+
romanInstruction: 'Write in clear German using standard technical terms.',
|
|
24
|
+
nativeInstruction: 'Write in clear German using standard technical terms.',
|
|
25
|
+
},
|
|
26
|
+
hi: {
|
|
27
|
+
name: 'Hindi',
|
|
28
|
+
romanName: 'Hinglish (Romanized Hindi)',
|
|
29
|
+
romanInstruction: 'CRITICAL ACCESSIBILITY & TERMINAL FONT RULE: Write completely in Romanized Hindi (Hinglish) using Latin script and English tech terms (e.g. "Yeh project ek onboarding co-pilot hai jo new codebase ko comprehend karne mein help karta hai..."). DO NOT use Devanagari script so CLI terminal fonts render 100% cleanly without broken characters or box borders.',
|
|
30
|
+
nativeInstruction: 'Write in Hindi using native Devanagari script with English tech terms.',
|
|
31
|
+
},
|
|
32
|
+
ta: {
|
|
33
|
+
name: 'Tamil',
|
|
34
|
+
romanName: 'Tanglish (Romanized Tamil)',
|
|
35
|
+
romanInstruction: 'CRITICAL ACCESSIBILITY & TERMINAL FONT RULE: Write completely in Romanized Tamil (Tanglish) using Latin script and English tech terms (e.g. "Indha project pudhiya codebase-ai purindhu kolla udhavum oru onboarding co-pilot aagum..."). DO NOT use Tamil script so CLI terminal fonts render 100% cleanly without broken characters or box borders.',
|
|
36
|
+
nativeInstruction: 'Write in Tamil using native Tamil script with English tech terms.',
|
|
37
|
+
},
|
|
38
|
+
ko: {
|
|
39
|
+
name: 'Korean',
|
|
40
|
+
romanName: 'Romanized Korean',
|
|
41
|
+
romanInstruction: 'CRITICAL ACCESSIBILITY & TERMINAL FONT RULE: Write completely in Romanized Korean using Latin script and English tech terms (e.g. "I project neun codebase onboarding eul wihan co-pilot system ipnida..."). DO NOT use raw Hangul script so CLI terminal fonts render 100% cleanly without broken characters or missing glyphs.',
|
|
42
|
+
nativeInstruction: 'Write in Korean using native Hangul script with English tech terms.',
|
|
43
|
+
},
|
|
44
|
+
ja: {
|
|
45
|
+
name: 'Japanese',
|
|
46
|
+
romanName: 'Romaji (Romanized Japanese)',
|
|
47
|
+
romanInstruction: 'CRITICAL ACCESSIBILITY & TERMINAL FONT RULE: Write completely in Romaji (Latin script Japanese) with English tech terms (e.g. "Kono project wa codebase no onboarding wo shien suru co-pilot desu..."). DO NOT use Kanji or Kana script so CLI terminal fonts render 100% cleanly.',
|
|
48
|
+
nativeInstruction: 'Write in Japanese using native Kanji/Kana script with English tech terms.',
|
|
49
|
+
},
|
|
50
|
+
zh: {
|
|
51
|
+
name: 'Chinese',
|
|
52
|
+
romanName: 'Pinyin (Romanized Chinese)',
|
|
53
|
+
romanInstruction: 'CRITICAL ACCESSIBILITY & TERMINAL FONT RULE: Write completely in Pinyin (Romanized Chinese) with English tech terms. DO NOT use Hanzi characters so CLI terminal fonts render 100% cleanly.',
|
|
54
|
+
nativeInstruction: 'Write in Chinese using native Hanzi script with English tech terms.',
|
|
55
|
+
},
|
|
56
|
+
te: {
|
|
57
|
+
name: 'Telugu',
|
|
58
|
+
romanName: 'Romanized Telugu',
|
|
59
|
+
romanInstruction: 'CRITICAL ACCESSIBILITY & TERMINAL FONT RULE: Write completely in Romanized Telugu using Latin script and English tech terms. DO NOT use Telugu script so CLI terminal fonts render 100% cleanly.',
|
|
60
|
+
nativeInstruction: 'Write in Telugu using native Telugu script with English tech terms.',
|
|
61
|
+
},
|
|
62
|
+
bn: {
|
|
63
|
+
name: 'Bengali',
|
|
64
|
+
romanName: 'Romanized Bengali',
|
|
65
|
+
romanInstruction: 'CRITICAL ACCESSIBILITY & TERMINAL FONT RULE: Write completely in Romanized Bengali using Latin script and English tech terms. DO NOT use Bengali script so CLI terminal fonts render 100% cleanly.',
|
|
66
|
+
nativeInstruction: 'Write in Bengali using native Bengali script with English tech terms.',
|
|
67
|
+
},
|
|
68
|
+
mr: {
|
|
69
|
+
name: 'Marathi',
|
|
70
|
+
romanName: 'Romanized Marathi',
|
|
71
|
+
romanInstruction: 'CRITICAL ACCESSIBILITY & TERMINAL FONT RULE: Write completely in Romanized Marathi using Latin script and English tech terms. DO NOT use Devanagari script so CLI terminal fonts render 100% cleanly.',
|
|
72
|
+
nativeInstruction: 'Write in Marathi using native Devanagari script with English tech terms.',
|
|
73
|
+
},
|
|
74
|
+
gu: {
|
|
75
|
+
name: 'Gujarati',
|
|
76
|
+
romanName: 'Romanized Gujarati',
|
|
77
|
+
romanInstruction: 'CRITICAL ACCESSIBILITY & TERMINAL FONT RULE: Write completely in Romanized Gujarati using Latin script and English tech terms. DO NOT use Gujarati script so CLI terminal fonts render 100% cleanly.',
|
|
78
|
+
nativeInstruction: 'Write in Gujarati using native Gujarati script.',
|
|
79
|
+
},
|
|
80
|
+
kn: {
|
|
81
|
+
name: 'Kannada',
|
|
82
|
+
romanName: 'Romanized Kannada',
|
|
83
|
+
romanInstruction: 'CRITICAL ACCESSIBILITY & TERMINAL FONT RULE: Write completely in Romanized Kannada using Latin script and English tech terms. DO NOT use Kannada script so CLI terminal fonts render 100% cleanly.',
|
|
84
|
+
nativeInstruction: 'Write in Kannada using native Kannada script.',
|
|
85
|
+
},
|
|
86
|
+
ml: {
|
|
87
|
+
name: 'Malayalam',
|
|
88
|
+
romanName: 'Romanized Malayalam',
|
|
89
|
+
romanInstruction: 'CRITICAL ACCESSIBILITY & TERMINAL FONT RULE: Write completely in Romanized Malayalam using Latin script and English tech terms. DO NOT use Malayalam script so CLI terminal fonts render 100% cleanly.',
|
|
90
|
+
nativeInstruction: 'Write in Malayalam using native Malayalam script.',
|
|
91
|
+
},
|
|
92
|
+
pa: {
|
|
93
|
+
name: 'Punjabi',
|
|
94
|
+
romanName: 'Romanized Punjabi',
|
|
95
|
+
romanInstruction: 'CRITICAL ACCESSIBILITY & TERMINAL FONT RULE: Write completely in Romanized Punjabi using Latin script and English tech terms. DO NOT use Gurmukhi script so CLI terminal fonts render 100% cleanly.',
|
|
96
|
+
nativeInstruction: 'Write in Punjabi using native Gurmukhi script.',
|
|
97
|
+
},
|
|
98
|
+
ru: {
|
|
99
|
+
name: 'Russian',
|
|
100
|
+
romanName: 'Russian',
|
|
101
|
+
romanInstruction: 'Write in clear Russian with English tech terms.',
|
|
102
|
+
nativeInstruction: 'Write in Russian using Cyrillic script.',
|
|
103
|
+
},
|
|
104
|
+
pt: {
|
|
105
|
+
name: 'Portuguese',
|
|
106
|
+
romanName: 'Portuguese',
|
|
107
|
+
romanInstruction: 'Write in clear Portuguese with English tech terms.',
|
|
108
|
+
nativeInstruction: 'Write in clear Portuguese with English tech terms.',
|
|
109
|
+
},
|
|
110
|
+
it: {
|
|
111
|
+
name: 'Italian',
|
|
112
|
+
romanName: 'Italian',
|
|
113
|
+
romanInstruction: 'Write in clear Italian with English tech terms.',
|
|
114
|
+
nativeInstruction: 'Write in clear Italian with English tech terms.',
|
|
115
|
+
},
|
|
116
|
+
ar: {
|
|
117
|
+
name: 'Arabic',
|
|
118
|
+
romanName: 'Arabizi (Romanized Arabic)',
|
|
119
|
+
romanInstruction: 'CRITICAL ACCESSIBILITY & TERMINAL FONT RULE: Write completely in Romanized Arabic (Arabizi / Latin script) with English tech terms. DO NOT use Arabic script so CLI terminal fonts render 100% cleanly.',
|
|
120
|
+
nativeInstruction: 'Write in Arabic using native Arabic script.',
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
export function normalizeLanguage(langInput) {
|
|
124
|
+
if (!langInput || !langInput.trim())
|
|
125
|
+
return undefined;
|
|
126
|
+
const cleaned = langInput.trim().toLowerCase();
|
|
127
|
+
if (cleaned === 'hinglish')
|
|
128
|
+
return 'Hinglish';
|
|
129
|
+
if (cleaned === 'tanglish')
|
|
130
|
+
return 'Tanglish';
|
|
131
|
+
const spec = LANGUAGE_SPECS[cleaned];
|
|
132
|
+
if (spec)
|
|
133
|
+
return spec.name;
|
|
134
|
+
return cleaned.charAt(0).toUpperCase() + cleaned.slice(1);
|
|
135
|
+
}
|
|
136
|
+
export function getLanguageInstruction(langInput, native = false) {
|
|
137
|
+
if (!langInput || !langInput.trim()) {
|
|
138
|
+
return {
|
|
139
|
+
displayName: 'English',
|
|
140
|
+
instruction: 'Write in clear, professional technical English.',
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
const cleaned = langInput.trim().toLowerCase();
|
|
144
|
+
if (cleaned === 'hinglish') {
|
|
145
|
+
return {
|
|
146
|
+
displayName: 'Hinglish (Romanized Hindi)',
|
|
147
|
+
instruction: LANGUAGE_SPECS.hi.romanInstruction,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
if (cleaned === 'tanglish') {
|
|
151
|
+
return {
|
|
152
|
+
displayName: 'Tanglish (Romanized Tamil)',
|
|
153
|
+
instruction: LANGUAGE_SPECS.ta.romanInstruction,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
const spec = LANGUAGE_SPECS[cleaned];
|
|
157
|
+
if (spec) {
|
|
158
|
+
if (native) {
|
|
159
|
+
return {
|
|
160
|
+
displayName: `${spec.name} (Native Script)`,
|
|
161
|
+
instruction: spec.nativeInstruction,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
return {
|
|
165
|
+
displayName: spec.romanName,
|
|
166
|
+
instruction: spec.romanInstruction,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
const capName = cleaned.charAt(0).toUpperCase() + cleaned.slice(1);
|
|
170
|
+
if (native) {
|
|
171
|
+
return {
|
|
172
|
+
displayName: `${capName} (Native Script)`,
|
|
173
|
+
instruction: `Write in ${capName} using native script with English technical terms.`,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
return {
|
|
177
|
+
displayName: `${capName} (Romanized)`,
|
|
178
|
+
instruction: `CRITICAL ACCESSIBILITY & TERMINAL FONT RULE: Write in ${capName} using Romanized / Latin script and standard English technical terms so CLI terminal fonts render 100% cleanly without broken characters or box borders.`,
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=language.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language.js","sourceRoot":"","sources":["language.ts"],"names":[],"mappings":"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"}
|