From f4bf61181cc7eae2b82754f2dc757c665d9f2244 Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Sun, 1 Feb 2026 01:02:31 +0000 Subject: [PATCH] Add analyzers, generators, and templates --- .../src/generators/jsonGenerator.ts | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 app/ai-context-generator-cli/src/generators/jsonGenerator.ts diff --git a/app/ai-context-generator-cli/src/generators/jsonGenerator.ts b/app/ai-context-generator-cli/src/generators/jsonGenerator.ts new file mode 100644 index 0000000..f54bc5a --- /dev/null +++ b/app/ai-context-generator-cli/src/generators/jsonGenerator.ts @@ -0,0 +1,40 @@ +import { TemplateData } from '../types'; + +export class JsonGenerator { + static generate(data: TemplateData): string { + return JSON.stringify(data, null, 2); + } + + static generateSummary(data: TemplateData): object { + const { projectInfo, files, config, generatedAt } = data; + + return { + generatedAt, + project: { + type: projectInfo.projectType.primaryLanguage, + languages: projectInfo.projectType.languages, + frameworks: projectInfo.projectType.frameworks, + buildTools: projectInfo.projectType.buildTools, + fileCount: projectInfo.fileCount, + }, + dependencies: { + total: projectInfo.dependencies.total, + production: projectInfo.dependencies.direct.length, + development: projectInfo.dependencies.dev.length, + topDependencies: projectInfo.dependencies.direct + .slice(0, 10) + .map(d => d.name), + }, + conventions: projectInfo.conventions + ? { + naming: projectInfo.conventions.namingConvention, + importStyle: projectInfo.conventions.importStyle.style, + testingFramework: projectInfo.conventions.testingFramework, + codeStyle: projectInfo.conventions.codeStyle, + } + : null, + config, + sampleFiles: files.slice(0, 20), + }; + } +}