ft-scout 1.0.9 → 2.0.1

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 CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "projectName": "FT-CLI",
3
3
  "targetDir": "C:\\Users\\rishi\\FT-CLI",
4
- "stack": "The FT-CLI project solves the core problem of new codebase onboarding by providing an intelligent co-pilot, leveraging a technical stack that combines Node.js, TypeScript, and OpenAI, with a unique value proposition rooted in its AI-driven LLM integration, which differentiates it from traditional CLI tools. This architectural design enables a scalable and adaptive onboarding experience, positioning FT-CLI for significant growth in the developer tooling space. The runtime architecture, powered by Node.js 18.0.0 or higher, ensures a performant and efficient execution environment. By integrating with git and utilizing AI for code understanding, FT-CLI establishes a robust moat against competitors, offering a sophisticated onboarding solution that dynamically adapts to project complexities.",
4
+ "stack": "- **Core Capability**: FrontTerrain (FT-CLI) is a next-generation onboarding co-pilot designed to streamline the developer experience for new codebases, leveraging AI-driven insights to simplify Git workflows and accelerate team productivity. By integrating Large Language Models (LLMs) and AI-powered tools, FT-CLI redefines the onboarding process.\n - **Architecture & Stack**: The project is built on a Node.js stack, utilizing a modular design pattern that incorporates commander for command-line interface (CLI) management, dotenv for environment variable management, and openai for AI-driven functionalities. The core stack includes TypeScript for type safety and JavaScript for execution.\n - **Architectural Moat**: The unique integration of AI and LLM technologies with Git and CLI tools provides a significant advantage, offering users an unprecedented level of automation and insight during the onboarding process.",
5
5
  "entryPoint": "bin/ft.js",
6
6
  "painPoints": [
7
- "⚡ [Subsystem Risk]: The reliance on the openai dependency for AI-driven functionalities introduces potential risks related to API rate limits, service downtime, or changes in the OpenAI API, which could significantly impact FT-CLI's core functionality and user experience.",
8
- "⚡ [Scaling Bottleneck]: As the user base grows, managing state and operational data efficiently becomes critical; the current implementation might face scaling bottlenecks, particularly if not optimized for high concurrency and large data volumes, potentially leading to performance issues.",
9
- "⚡ [Execution Note]: The specified Node.js version requirement (>=18.0.0) is crucial for ensuring the compatibility and performance of the application, emphasizing the need for developers to adhere to this versioning to avoid compatibility issues during onboarding and development."
7
+ "⚡ [Subsystem Risk]: The reliance on the openai library for AI functionalities introduces a risk due to potential changes in the OpenAI API, pricing models, or service availability, which could directly impact the core value proposition of FT-CLI.",
8
+ "⚡ [Scaling Bottleneck]: As FT-CLI is designed to handle complex onboarding processes, the scalability of the application, particularly in terms of handling multiple concurrent users and large codebases, could become a significant bottleneck if not adequately addressed through efficient resource management and possibly distributed computing.",
9
+ "⚡ [Execution Note]: A key architectural constraint is the requirement for Node.js version 18.0.0 or higher, which might limit the compatibility of FT-CLI with certain development environments or CI/CD pipelines that are not yet updated to support this version, potentially hindering adoption."
10
10
  ],
11
11
  "readOrder": [
12
- "package.json -> This file is foundational to understanding the project's architecture, dependencies, and scripts, providing a comprehensive overview of the technical stack and build processes.",
13
- "src/email-template.html -> Reading this file next is crucial for understanding the templating system used for email notifications, offering insights into the UI/UX aspects of the onboarding process.",
14
- "bin/ft.js -> This file details the core business logic and CLI pipeline routing, showcasing how the application integrates various dependencies and services to deliver its primary functionality."
12
+ "package.json -> This file is foundational as it declares the project's dependencies, scripts, and configuration, serving as the blueprint for the entire project.",
13
+ "bin/ft.js -> Understanding this file is crucial as it represents the primary execution entry point, where the CLI application logic is initialized and the user interface is defined.",
14
+ "src/email-template.txt -> Although not directly part of the execution pipeline, this file is significant as it suggests the inclusion of email-based functionalities, potentially for notifications or automated communications, which could be a critical aspect of the onboarding experience."
15
15
  ],
16
- "createdAt": "2026-07-31T14:17:23.053Z"
16
+ "createdAt": "2026-07-31T16:21:48.586Z"
17
17
  }
package/README.md CHANGED
@@ -18,6 +18,9 @@ Once installed, you can use the `ft` or `ft-scout` commands.
18
18
  # Initialize learning on a local repository
19
19
  ft init [repoUrl]
20
20
 
21
+ # Interactive Q&A mode after indexing
22
+ ft init --ask
23
+
21
24
  # Show knowledge holders of a specific directory or file
22
25
  ft owners <path>
23
26
 
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["init.ts"],"names":[],"mappings":"AAsFA,wBAAsB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,iBAkMhD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["init.ts"],"names":[],"mappings":"AAuFA,wBAAsB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,iBAoP7E"}
@@ -1,11 +1,12 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
3
  import os from 'os';
4
- import { spinner, note, password, isCancel } from '@clack/prompts';
4
+ import { spinner, note, password, isCancel, text } from '@clack/prompts';
5
5
  import chalk from 'chalk';
6
6
  import { simpleGit } from 'simple-git';
7
- import { generateRepoSummary } from '../engine/llm.js';
7
+ import { generateRepoSummary, askRepoQuestion } from '../engine/llm.js';
8
8
  import { saveContext } from '../utils/config.js';
9
+ import { renderMarkdown, formatInlineMarkdown } from '../utils/markdown.js';
9
10
  function extractNpmPackageName(target) {
10
11
  if (target.startsWith('npm:')) {
11
12
  return target.slice(4).trim();
@@ -77,7 +78,7 @@ function cleanGitHubUrl(targetUrl) {
77
78
  }
78
79
  return targetUrl;
79
80
  }
80
- export async function handleInit(repoUrl) {
81
+ export async function handleInit(repoUrl, options) {
81
82
  const s = spinner();
82
83
  let targetDir = process.cwd();
83
84
  if (repoUrl && repoUrl.trim()) {
@@ -226,15 +227,47 @@ export async function handleInit(repoUrl) {
226
227
  Location: ${chalk.dim(targetDir)}
227
228
 
228
229
  ${chalk.bold.magenta('🚀 Architectural Executive Summary & Stack:')}
229
- ${chalk.yellow(aiInsight.summary)}
230
+ ${renderMarkdown(aiInsight.summary)}
230
231
 
231
232
  ${chalk.bold.cyan('📌 Main Entry Point:')}
232
233
  ${chalk.cyan(aiInsight.entryPoint)}
233
234
 
234
235
  ${chalk.bold.red('🔥 Known Architectural Risks & Hotspots:')}
235
- ${aiInsight.painPoints.map((p) => ` • ${p}`).join('\n\n')}
236
+ ${aiInsight.painPoints.map((p) => ` • ${formatInlineMarkdown(p)}`).join('\n\n')}
236
237
 
237
238
  ${chalk.bold.green('🧭 Strategic Onboarding Read Order:')}
238
- ${aiInsight.readOrder.map((r, idx) => ` ${idx + 1}. ${r}`).join('\n')}`, '⚡ FrontTerrain Codebase Teardown (YC Pitch Edition)');
239
+ ${aiInsight.readOrder.map((r, idx) => ` ${idx + 1}. ${formatInlineMarkdown(r)}`).join('\n')}`, '⚡ FrontTerrain Codebase Teardown (YC Pitch Edition)');
240
+ if (options?.ask) {
241
+ note(chalk.cyan('Interactive AI Q&A session active.\nAsk any question about this codebase. Press Ctrl+C to exit at any time.'), '💬 Interactive Q&A Mode');
242
+ const chatHistory = [];
243
+ while (true) {
244
+ const query = await text({
245
+ message: chalk.bold('Ask a query about this repository:'),
246
+ placeholder: 'e.g. How does authentication work? (Ctrl+C to exit)',
247
+ validate: (value) => {
248
+ if (!value || !value.trim())
249
+ return 'Query cannot be empty';
250
+ return undefined;
251
+ },
252
+ });
253
+ if (isCancel(query)) {
254
+ note(chalk.yellow('Exiting interactive session. Goodbye!'), '👋 Q&A Ended');
255
+ break;
256
+ }
257
+ const qText = query.trim();
258
+ if (['exit', 'quit', 'q'].includes(qText.toLowerCase())) {
259
+ note(chalk.yellow('Exiting interactive session. Goodbye!'), '👋 Q&A Ended');
260
+ break;
261
+ }
262
+ const askSpinner = spinner();
263
+ askSpinner.start('Analyzing codebase context & generating response...');
264
+ const answer = await askRepoQuestion(qText, projectName, filesList, manifestContent || '{}', chatHistory);
265
+ askSpinner.stop('Response:');
266
+ const formattedAnswer = renderMarkdown(answer);
267
+ note(formattedAnswer, `💡 ${qText}`);
268
+ chatHistory.push({ role: 'user', content: qText });
269
+ chatHistory.push({ role: 'assistant', content: answer });
270
+ }
271
+ }
239
272
  }
240
273
  //# sourceMappingURL=init.js.map
@@ -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":"llm.d.ts","sourceRoot":"","sources":["llm.ts"],"names":[],"mappings":"AAeA,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EAAE,EACnB,kBAAkB,EAAE,MAAM,GACzB,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,CAyD7F"}
1
+ {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["llm.ts"],"names":[],"mappings":"AAeA,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EAAE,EACnB,kBAAkB,EAAE,MAAM,GACzB,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,CAyD7F;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,GACvE,OAAO,CAAC,MAAM,CAAC,CAoCjB"}
@@ -26,7 +26,7 @@ Your goal: Generate an extremely engaging, technically deep, punchy, and impress
26
26
 
27
27
  Provide a JSON output matching this exact schema:
28
28
  {
29
- "summary": "A rich, high-octane 3-4 sentence architectural executive summary explaining: 1) The core problem solved and primary functionality, 2) The underlying technical stack & runtime architecture, 3) The architectural moat or unique value proposition of this engineering design.",
29
+ "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.",
30
30
  "entryPoint": "the exact relative path to the primary execution entry point file",
31
31
  "readOrder": [
32
32
  "file/path/1 -> Strategic reason detailing why this file is foundational to the architecture",
@@ -52,7 +52,7 @@ Provide a JSON output matching this exact schema:
52
52
  console.error("OpenAI Error:", error);
53
53
  // Fallback if no API key or network failure
54
54
  return {
55
- summary: `🚀 ${projectName} Architecture Teardown: A high-performance, modular system engineered for rapid execution and developer agility. Built on top of a modern runtime stack, it features decoupled command routing, intelligent static analysis, and automated developer productivity tooling designed to scale.`,
55
+ summary: `- **Core Capability**: 🚀 ${projectName} is a modular co-pilot system engineered for codebase due-diligence and rapid developer onboarding.\n- **Architecture & Stack**: Built on TypeScript/ESM with decoupled command routing, git churn scanners, and LLM proxy orchestration.\n- **Architectural Moat**: Automated due-diligence mapping with static analysis and interactive codebase Q&A synthesis.`,
56
56
  entryPoint: filesList.find(f => f.includes('index') || f.includes('main') || f.includes('app')) || 'src/index.ts',
57
57
  readOrder: [
58
58
  'package.json -> Core manifest defining build targets, execution binaries, and dependency graph',
@@ -67,4 +67,39 @@ Provide a JSON output matching this exact schema:
67
67
  };
68
68
  }
69
69
  }
70
+ export async function askRepoQuestion(question, projectName, filesList, manifestContent, chatHistory = []) {
71
+ const systemPrompt = `You are FrontTerrain AI, a world-class Principal Software Architect and Y Combinator Technical Co-Pilot.
72
+ You have indexed the codebase for project: "${projectName}".
73
+
74
+ Repository File Structure:
75
+ ${filesList.slice(0, 150).join('\n')}
76
+
77
+ Manifest / Config Highlights:
78
+ ${manifestContent.slice(0, 2000)}
79
+
80
+ Your mission: Answer technical questions about this repository with extreme clarity, deep technical insight, and structured formatting.
81
+
82
+ CRITICAL CLI FORMATTING INSTRUCTIONS:
83
+ 1. Always structure your answer into short sections using Markdown headers (e.g. ### Architecture Overview).
84
+ 2. Use bold lead-in bullet points (e.g. - **Subsystem**: Description) instead of monolithic text walls.
85
+ 3. Enclose all filenames, function names, paths, and options in backticks (e.g. \`src/index.ts\`).
86
+ 4. Wrap any code snippet in typed markdown code blocks (e.g. \`\`\`ts ... \`\`\`).
87
+ 5. Keep paragraphs short (2-3 sentences max) to ensure medium line-width readability in terminal interfaces.`;
88
+ const messages = [
89
+ { role: 'system', content: systemPrompt },
90
+ ...chatHistory,
91
+ { role: 'user', content: question },
92
+ ];
93
+ try {
94
+ const response = await openai.chat.completions.create({
95
+ model: 'llama-3.3-70b-versatile',
96
+ messages,
97
+ });
98
+ return response.choices[0]?.message?.content || 'No response generated from AI.';
99
+ }
100
+ catch (error) {
101
+ console.error("OpenAI Error:", error);
102
+ return `⚠️ AI Error: Could not generate answer (${error instanceof Error ? error.message : String(error)}). Please check network or proxy credentials.`;
103
+ }
104
+ }
70
105
  //# sourceMappingURL=llm.js.map
@@ -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;AAExB,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,6DAA6D;AAC7D,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAE/E,uGAAuG;AACvG,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;IACxB,MAAM,EAAE,mBAAmB;IAC3B,OAAO,EAAE,8BAA8B;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,WAAmB,EACnB,SAAmB,EACnB,kBAA0B;IAE1B,MAAM,MAAM,GAAG;;;kBAGC,WAAW;;;EAG3B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGpB,kBAAkB;;;;;;;;;;;;;;;;;;;CAmBnB,CAAC;IAEA,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACpD,KAAK,EAAE,yBAAyB;YAChC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAC7C,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;SACzC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACtC,4CAA4C;QAC5C,OAAO;YACL,OAAO,EAAE,MAAM,WAAW,8RAA8R;YACxT,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,cAAc;YACjH,SAAS,EAAE;gBACT,gGAAgG;gBAChG,wGAAwG;gBACxG,2FAA2F;aAC5F;YACD,UAAU,EAAE;gBACV,4HAA4H;gBAC5H,sIAAsI;gBACtI,2IAA2I;aAC5I;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["llm.ts"],"names":[],"mappings":"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"}
package/bin/src/index.js CHANGED
@@ -17,17 +17,18 @@ program
17
17
  program
18
18
  .name('ft')
19
19
  .description('FrontTerrain — The Onboarding Co-Pilot for New Codebases')
20
- .version('1.0.9');
20
+ .version('2.0.0');
21
21
  // Header UI on execution
22
22
  program.hook('preAction', () => {
23
- intro(chalk.bgCyan.black(' FrontTerrain CLI (v1.0.9) '));
23
+ intro(chalk.bgCyan.black(' FrontTerrain CLI (v2.0.0) '));
24
24
  });
25
25
  // Command definitions
26
26
  program
27
27
  .command('init [repoUrl]')
28
28
  .description('Build local understanding map of the repository')
29
- .action(async (repoUrl) => {
30
- await handleInit(repoUrl);
29
+ .option('-a, --ask', 'Interactive Q&A mode after repository initialization')
30
+ .action(async (repoUrl, options) => {
31
+ await handleInit(repoUrl, options);
31
32
  outro(chalk.green('Initialization complete!'));
32
33
  });
33
34
  program
@@ -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;AAElD,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;AAGrC,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,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1B,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;AAElD,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;AAGrC,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,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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["markdown.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAW,GAAG,MAAM,CAwBpE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA+BzD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+IvD"}
@@ -0,0 +1,184 @@
1
+ import chalk from 'chalk';
2
+ /**
3
+ * Wraps long plain text lines at a specified max width to prevent giant full-width text walls in CLI terminals.
4
+ */
5
+ export function wrapText(text, maxWidth = 85) {
6
+ if (!text || text.length <= maxWidth)
7
+ return text;
8
+ // Do not wrap lines containing markdown headers, code fences, or horizontal rules
9
+ if (text.startsWith('#') || text.startsWith('```') || text.startsWith('---') || text.startsWith('>')) {
10
+ return text;
11
+ }
12
+ const words = text.split(' ');
13
+ const lines = [];
14
+ let currentLine = '';
15
+ for (const word of words) {
16
+ if ((currentLine + (currentLine ? ' ' : '') + word).length > maxWidth) {
17
+ lines.push(currentLine);
18
+ currentLine = word;
19
+ }
20
+ else {
21
+ currentLine += (currentLine ? ' ' : '') + word;
22
+ }
23
+ }
24
+ if (currentLine) {
25
+ lines.push(currentLine);
26
+ }
27
+ return lines.join('\n');
28
+ }
29
+ /**
30
+ * Formats inline markdown elements (bold, italic, inline code, links) with ANSI chalk styles.
31
+ */
32
+ export function formatInlineMarkdown(text) {
33
+ if (!text)
34
+ return '';
35
+ let output = text;
36
+ // Inline code: `code` -> styled with cyan bright text on dark background pill
37
+ output = output.replace(/`([^`]+)`/g, (_, code) => chalk.bgRgb(30, 35, 45).cyanBright.bold(` ${code} `));
38
+ // Bold + Italic: ***text*** or ___text___
39
+ output = output.replace(/(\*\*\*|___)(.*?)\1/g, (_, __, content) => chalk.bold.italic.yellowBright(content));
40
+ // Bold: **text** or __text__ -> bright yellow/white bold contrast
41
+ output = output.replace(/(\*\*|__)(.*?)\1/g, (_, __, content) => chalk.bold.yellowBright(content));
42
+ // Italic: *text* or _text_ (not inside words)
43
+ output = output.replace(/(?<!\w)(\*|_)(.*?)\1(?!\w)/g, (_, __, content) => chalk.italic.cyan(content));
44
+ // Links: [text](url)
45
+ output = output.replace(/\[([^\]]+)\]\(([^)]+)\)/g, (_, label, url) => `${chalk.cyan.underline(label)} ${chalk.dim(`(${url})`)}`);
46
+ return output;
47
+ }
48
+ /**
49
+ * Renders full markdown text into rich ANSI formatted terminal output with medium line width.
50
+ */
51
+ export function renderMarkdown(markdown) {
52
+ if (!markdown)
53
+ return '';
54
+ // Ensure bullet points concatenated by LLM are split onto clean newlines
55
+ const normalizedMarkdown = markdown.replace(/([^\n])\s*-\s+\*\*/g, '$1\n- **');
56
+ const rawLines = normalizedMarkdown.split('\n');
57
+ const processedLines = [];
58
+ // Step 1: Word-wrap long paragraph lines to max 72 columns for medium-sized CLI card alignment
59
+ for (const line of rawLines) {
60
+ if (line.trim().length === 0) {
61
+ processedLines.push('');
62
+ }
63
+ else if (line.startsWith('```') || line.startsWith('#') || line.startsWith('---')) {
64
+ processedLines.push(line);
65
+ }
66
+ else if (line.trim().startsWith('-') || line.trim().startsWith('*') || line.trim().startsWith('+') || /^\d+\./.test(line.trim())) {
67
+ // For lists, wrap with clean indentation matching prefix width
68
+ const listMatch = line.match(/^(\s*)([-*+]|\d+\.)\s+(.*)/);
69
+ if (listMatch) {
70
+ const indent = listMatch[1] || '';
71
+ const prefix = listMatch[2] || '•';
72
+ const content = listMatch[3] || '';
73
+ const padLen = indent.length + prefix.length + 1;
74
+ const padStr = ' '.repeat(padLen);
75
+ const wrappedContent = wrapText(content, 72 - padLen);
76
+ const wrappedLines = wrappedContent.split('\n');
77
+ processedLines.push(`${indent}${prefix} ${wrappedLines[0]}`);
78
+ for (let j = 1; j < wrappedLines.length; j++) {
79
+ processedLines.push(`${padStr}${wrappedLines[j]}`);
80
+ }
81
+ }
82
+ else {
83
+ processedLines.push(line);
84
+ }
85
+ }
86
+ else {
87
+ processedLines.push(wrapText(line, 72));
88
+ }
89
+ }
90
+ const result = [];
91
+ let inCodeBlock = false;
92
+ let codeBlockLang = '';
93
+ let codeBlockLines = [];
94
+ for (let i = 0; i < processedLines.length; i++) {
95
+ const line = processedLines[i];
96
+ // Code block fence matching (``` or ```lang)
97
+ const codeBlockMatch = line.match(/^```(\w*)/);
98
+ if (codeBlockMatch) {
99
+ if (inCodeBlock) {
100
+ // End of code block
101
+ const langStr = codeBlockLang ? ` ${codeBlockLang.toUpperCase()} ` : ' CODE ';
102
+ const topBorder = chalk.cyan.bold('┌──[') + chalk.bgCyan.black.bold(langStr) + chalk.cyan.bold(']' + '─'.repeat(Math.max(2, 50 - langStr.length)));
103
+ const bottomBorder = chalk.cyan.bold('└' + '─'.repeat(54));
104
+ result.push(topBorder);
105
+ for (const codeLine of codeBlockLines) {
106
+ result.push(chalk.cyan.bold('│ ') + chalk.greenBright(codeLine));
107
+ }
108
+ result.push(bottomBorder);
109
+ inCodeBlock = false;
110
+ codeBlockLang = '';
111
+ codeBlockLines = [];
112
+ }
113
+ else {
114
+ // Start of code block
115
+ inCodeBlock = true;
116
+ codeBlockLang = codeBlockMatch[1] || '';
117
+ codeBlockLines = [];
118
+ }
119
+ continue;
120
+ }
121
+ if (inCodeBlock) {
122
+ codeBlockLines.push(line);
123
+ continue;
124
+ }
125
+ // Horizontal Rule
126
+ if (/^(---|^\*\*\*|^___)$/.test(line.trim())) {
127
+ result.push(chalk.dim('───────────────────────────────────────────────────────'));
128
+ continue;
129
+ }
130
+ // Headers with styled ANSI badges
131
+ if (line.startsWith('# ')) {
132
+ result.push('\n' + chalk.bgMagenta.black.bold(' 📌 ' + line.slice(2).trim() + ' ') + '\n');
133
+ continue;
134
+ }
135
+ if (line.startsWith('## ')) {
136
+ result.push('\n' + chalk.bgCyan.black.bold(' 🚀 ' + line.slice(3).trim() + ' ') + '\n');
137
+ continue;
138
+ }
139
+ if (line.startsWith('### ')) {
140
+ result.push('\n' + chalk.bold.cyan.underline(formatInlineMarkdown(line.slice(4).trim())));
141
+ continue;
142
+ }
143
+ if (line.startsWith('#### ')) {
144
+ result.push(chalk.bold.yellowBright(formatInlineMarkdown(line.slice(5).trim())));
145
+ continue;
146
+ }
147
+ // Unordered List (- item, * item, + item)
148
+ const unorderedMatch = line.match(/^(\s*)([-*+])\s+(.*)/);
149
+ if (unorderedMatch) {
150
+ const indent = unorderedMatch[1] || '';
151
+ const content = unorderedMatch[3] || '';
152
+ result.push(`${indent}${chalk.cyan.bold('•')} ${formatInlineMarkdown(content)}`);
153
+ continue;
154
+ }
155
+ // Ordered List (1. item)
156
+ const orderedMatch = line.match(/^(\s*)(\d+\.)\s+(.*)/);
157
+ if (orderedMatch) {
158
+ const indent = orderedMatch[1] || '';
159
+ const num = orderedMatch[2] || '';
160
+ const content = orderedMatch[3] || '';
161
+ result.push(`${indent}${chalk.cyan.bold(num)} ${formatInlineMarkdown(content)}`);
162
+ continue;
163
+ }
164
+ // Blockquote (> quote)
165
+ if (line.startsWith('> ')) {
166
+ result.push(`${chalk.yellow.bold('│')} ${chalk.italic.dim(formatInlineMarkdown(line.slice(2)))}`);
167
+ continue;
168
+ }
169
+ // Normal line
170
+ result.push(formatInlineMarkdown(line));
171
+ }
172
+ // Handle unclosed code block if any
173
+ if (inCodeBlock && codeBlockLines.length > 0) {
174
+ const topBorder = chalk.cyan.bold('┌──[ ') + chalk.bgCyan.black.bold(' CODE ') + chalk.cyan.bold(' ]' + '─'.repeat(44));
175
+ const bottomBorder = chalk.cyan.bold('└' + '─'.repeat(54));
176
+ result.push(topBorder);
177
+ for (const codeLine of codeBlockLines) {
178
+ result.push(chalk.cyan.bold('│ ') + chalk.greenBright(codeLine));
179
+ }
180
+ result.push(bottomBorder);
181
+ }
182
+ return result.join('\n');
183
+ }
184
+ //# sourceMappingURL=markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["markdown.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ Hey FrontTerrain Developer 👋,
5
5
 
6
6
  Jumping into a massive or legacy codebase can be intimidating. You waste hours deciphering complex file structures, guessing who owns which module, or accidentally editing fragile hotspots.
7
7
 
8
- That’s why we built ft-scout (FrontTerrain CLI v1.0.9) — your AI co-pilot designed to give you instant codebase clarity directly inside your terminal!
8
+ That’s why we built ft-scout (FrontTerrain CLI v2.0.0) — your AI co-pilot designed to give you instant codebase clarity directly inside your terminal!
9
9
 
10
10
  ---
11
11
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ft-scout",
3
- "version": "1.0.9",
3
+ "version": "2.0.1",
4
4
  "type": "module",
5
5
  "description": "FrontTerrain — The Onboarding Co-Pilot for New Codebases",
6
6
  "main": "index.js",