autogit-tool 1.0.18 → 1.0.19

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.
@@ -1 +1 @@
1
- {"version":3,"file":"code-reader.d.ts","sourceRoot":"","sources":["../../src/ai/code-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAgBD;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC,CAkDtB"}
1
+ {"version":3,"file":"code-reader.d.ts","sourceRoot":"","sources":["../../src/ai/code-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAG7D,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAwBD;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC,CAoDtB"}
@@ -1,3 +1,4 @@
1
+ import { getAIConfig } from '../config/manager.js';
1
2
  const IGNORED_PATTERNS = [
2
3
  /node_modules/i, /\.git/i, /dist\//i, /build\//i, /__pycache__/i,
3
4
  /\.min\.js$/i, /\.map$/i, /\.lock$/i, /package-lock\.json$/i,
@@ -6,9 +7,16 @@ const SOURCE_EXTS = new Set([
6
7
  '.py', '.ts', '.tsx', '.js', '.jsx', '.go', '.rs', '.java',
7
8
  '.kt', '.cs', '.rb', '.php', '.swift', '.vue', '.svelte',
8
9
  ]);
9
- // Keep under ~7k tokens (≈28k chars) safe for Groq free tier (12k TPM limit)
10
- const MAX_TOTAL_CHARS = 22_000;
11
- const MAX_FILE_CHARS = 18_000;
10
+ // Generous providers (Gemini, OpenAI, Anthropic, etc.) get full content
11
+ // Conservative providers (Groq free tier) get reduced content
12
+ const GENEROUS_PROVIDERS = new Set(['gemini', 'openai', 'anthropic', 'openrouter', 'mistral', 'deepseek', 'azure-openai', 'xai']);
13
+ function getTokenBudget() {
14
+ const cfg = getAIConfig();
15
+ const isGenerous = GENEROUS_PROVIDERS.has(cfg.provider);
16
+ return isGenerous
17
+ ? { maxTotal: 160_000, maxFile: 120_000 } // ~40k tokens — Gemini handles 1M/day
18
+ : { maxTotal: 22_000, maxFile: 18_000 }; // ~5k tokens — Groq 12k TPM safe
19
+ }
12
20
  /**
13
21
  * Build a smart code summary — extracts meaningful logic, strips boilerplate.
14
22
  *
@@ -19,6 +27,7 @@ const MAX_FILE_CHARS = 18_000;
19
27
  */
20
28
  export async function buildCodeSummary(rootDir, scan) {
21
29
  const { readFileSync } = await import('fs');
30
+ const { maxTotal, maxFile } = getTokenBudget();
22
31
  const sourceFiles = scan.files
23
32
  .filter(f => SOURCE_EXTS.has(f.extension) &&
24
33
  !IGNORED_PATTERNS.some(p => p.test(f.relativePath)))
@@ -27,7 +36,7 @@ export async function buildCodeSummary(rootDir, scan) {
27
36
  let totalChars = 0;
28
37
  let filesRead = 0;
29
38
  for (const file of sourceFiles) {
30
- if (totalChars >= MAX_TOTAL_CHARS)
39
+ if (totalChars >= maxTotal)
31
40
  break;
32
41
  let raw;
33
42
  try {
@@ -44,7 +53,7 @@ export async function buildCodeSummary(rootDir, scan) {
44
53
  .replace(/\n{3,}/g, '\n\n');
45
54
  let content;
46
55
  if (file.extension === '.py') {
47
- content = extractPythonCore(raw);
56
+ content = extractPythonCore(raw, maxTotal);
48
57
  }
49
58
  else if (['.ts', '.tsx', '.js', '.jsx'].includes(file.extension)) {
50
59
  content = extractJSCore(raw);
@@ -52,11 +61,11 @@ export async function buildCodeSummary(rootDir, scan) {
52
61
  else {
53
62
  content = raw.slice(0, 6000);
54
63
  }
55
- const remaining = MAX_TOTAL_CHARS - totalChars;
64
+ const remaining = maxTotal - totalChars;
56
65
  if (content.length > remaining)
57
66
  content = content.slice(0, remaining) + '\n# [truncated]';
58
- if (content.length > MAX_FILE_CHARS)
59
- content = content.slice(0, MAX_FILE_CHARS) + '\n# [truncated]';
67
+ if (content.length > maxFile)
68
+ content = content.slice(0, maxFile) + '\n# [truncated]';
60
69
  if (!content.trim())
61
70
  continue;
62
71
  parts.push(`\n${'─'.repeat(50)}\n# FILE: ${file.relativePath}\n${'─'.repeat(50)}\n${content}`);
@@ -69,7 +78,11 @@ export async function buildCodeSummary(rootDir, scan) {
69
78
  * Python: imports + constants + each function (docstring + first 30 body lines)
70
79
  * Skips functions that are >40% st.markdown/HTML rendering calls.
71
80
  */
72
- function extractPythonCore(raw) {
81
+ function extractPythonCore(raw, maxTotal) {
82
+ // For generous providers (Gemini etc.) — return the full cleaned file
83
+ if (maxTotal > 50_000) {
84
+ return raw;
85
+ }
73
86
  const lines = raw.split('\n');
74
87
  const out = [];
75
88
  // Imports
@@ -1 +1 @@
1
- {"version":3,"file":"code-reader.js","sourceRoot":"","sources":["../../src/ai/code-reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-reader.js","sourceRoot":"","sources":["../../src/ai/code-reader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAoBrE;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAsCjG;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAW3D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CA0BxG;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAenE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAiBtE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAmBhG;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAsBhE;AAED,wDAAwD;AACxD,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,eAAe,EACzB,IAAI,EAAE,WAAW,EACjB,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,CA6CR;AAED,8DAA8D;AAC9D,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,EACzB,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,CAmCR"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAoBrE;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAsCjG;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAW3D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CA0BxG;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAenE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAiBtE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAmBhG;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAsBhE;AAED,wDAAwD;AACxD,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,eAAe,EACzB,IAAI,EAAE,WAAW,EACjB,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,CAuDR;AAED,8DAA8D;AAC9D,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,EACzB,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,CAsCR"}
@@ -169,81 +169,94 @@ Be honest and constructive. Return ONLY valid JSON.`;
169
169
  /** README generation with actual source code content */
170
170
  export function readmeGenerationPromptWithCode(analysis, code, existingReadme) {
171
171
  const context = buildProjectContext(analysis);
172
- const codeSection = `
173
- SOURCE CODE (${code.filesRead} file${code.filesRead !== 1 ? 's' : ''}, ${code.charCount.toLocaleString()} chars):
174
- ${code.content}
175
- `.trim();
172
+ const displayName = analysis.displayName || analysis.name;
173
+ const codeSection = `SOURCE CODE (${code.filesRead} file${code.filesRead !== 1 ? 's' : ''}, ${code.charCount.toLocaleString()} chars read):
174
+ ${code.content}`;
176
175
  if (existingReadme) {
177
- return `You are a technical documentation expert. Read the SOURCE CODE below to understand what this project actually does, then improve the README.
176
+ return `You are a senior technical writer. Read EVERY LINE of the source code below, then rewrite the README to accurately describe what this project actually does.
178
177
 
179
178
  ${codeSection}
180
179
 
181
180
  ---
182
- PROJECT METADATA:
183
- ${context}
181
+ METADATA: ${context}
184
182
 
185
183
  EXISTING README:
186
184
  ${existingReadme}
187
185
 
188
- INSTRUCTIONS:
189
- - Read the source code carefully to understand the real features, logic, and purpose.
190
- - Preserve existing custom content, badges, images, and links.
191
- - Fill in missing sections based on what you actually see in the code.
192
- - Do NOT invent features not present in the source code.
193
- - Use professional Markdown formatting.
194
- - Return ONLY the improved README content, no explanations.`;
186
+ REQUIREMENTS — the README must:
187
+ 1. Title: Use "${displayName}" (not the folder name)
188
+ 2. Description: 2-3 sentences describing the REAL purpose based on the code — what problem it solves, who uses it
189
+ 3. Features: Bullet list of CONCRETE features visible in the code (functions, UI sections, calculations, integrations)
190
+ 4. Tech Stack: Every library imported in the source files
191
+ 5. Installation: Exact commands including dependencies visible in imports
192
+ 6. Usage: Step-by-step based on actual entry points seen in the code
193
+ 7. Preserve any badges, links, or custom content already in the README
194
+
195
+ Do NOT use vague phrases like "manages data" or "provides functionality".
196
+ Be specific: name the actual algorithms, calculations, integrations, and UI sections you see.
197
+ Return ONLY the README markdown, no explanations.`;
195
198
  }
196
- return `You are a technical documentation expert. Read the SOURCE CODE below carefully to understand what this project does, then generate a professional README.md.
199
+ return `You are a senior technical writer. Read EVERY LINE of the source code below, then write a professional README that accurately describes what this project does.
197
200
 
198
201
  ${codeSection}
199
202
 
200
203
  ---
201
- PROJECT METADATA:
202
- ${context}
204
+ METADATA: ${context}
205
+
206
+ REQUIREMENTS — the README must:
207
+ 1. Title: Use "${displayName}"
208
+ 2. Description (2-3 sentences): What does this software actually DO? What problem does it solve? Be specific.
209
+ 3. Features: Bullet list of REAL features from the code — name actual functions, algorithms, UI components, data flows
210
+ 4. Tech Stack: Every library found in import statements
211
+ 5. Installation: Exact commands based on what you see in the code
212
+ 6. Usage: Step-by-step instructions based on actual entry points and UI flow visible in the code
213
+ 7. How It Works (optional): If there's interesting logic (formulas, algorithms), briefly explain it
214
+ 8. Contributing section
203
215
 
204
- INSTRUCTIONS:
205
- - Read the source code to understand the real features, algorithms, and purpose don't just rely on metadata.
206
- - Include: Title, Description (what it actually does), Features (from code), Tech Stack, Installation, Usage, Contributing, License.
207
- - For the Description: describe what the software actually does based on the code, not generic phrases.
208
- - For Features: list concrete capabilities you can see in the code.
209
- - For Usage: include the actual command to run it and what it does.
210
- - Do NOT invent anything not in the code.
211
- - Return ONLY the README content, no explanations.`;
216
+ Rules:
217
+ - Name the actual algorithms and calculations you see (e.g. "longation percentage calculation")
218
+ - Reference real UI sections, tabs, and input fields seen in the code
219
+ - Do NOT invent features not in the code
220
+ - Do NOT use generic placeholder text
221
+ Return ONLY the README markdown, nothing else.`;
212
222
  }
213
223
  /** Resume entry generation with actual source code content */
214
224
  export function resumePromptWithCode(analysis, code, ownerName) {
215
225
  const displayName = analysis.displayName || analysis.name;
216
226
  const techStack = [...analysis.languages, ...analysis.frameworks, ...analysis.libraries]
217
227
  .filter(Boolean).join(', ');
218
- return `You are a professional resume writer. Read the SOURCE CODE below to understand what this project does, then write a LaTeX resume entry for ${ownerName}'s technical resume.
228
+ return `You are a senior technical resume writer. Read EVERY LINE of the source code below. Understand what it actually does. Then write a LaTeX resume entry for ${ownerName}.
219
229
 
220
- SOURCE CODE (${code.filesRead} file${code.filesRead !== 1 ? 's' : ''}):
230
+ SOURCE CODE:
221
231
  ${code.content}
222
232
 
223
233
  ---
224
- PROJECT METADATA:
225
- - Name: ${displayName}
226
- - Tech Stack: ${techStack}
227
- - Features detected: ${analysis.codeFeatures.join(', ') || 'See code'}
234
+ PROJECT: ${displayName}
235
+ TECH STACK: ${techStack}
236
+
237
+ REQUIREMENTS:
238
+ 1. Use this EXACT LaTeX structure:
239
+ \\resumeProjectHeading
240
+ {\\textbf{${displayName}} $|$ \\emph{Category}}{}
241
+ \\resumeItemListStart
242
+ \\resumeItem{Bullet 1}
243
+ \\resumeItem{Bullet 2}
244
+ \\resumeItem{Bullet 3}
245
+ \\resumeItem{\\textbf{Tech Stack:} ${techStack}}
246
+ \\resumeItemListEnd
247
+
248
+ 2. Write 3-5 bullets. Each bullet must reference SOMETHING SPECIFIC from the code:
249
+ - Name actual functions, algorithms, calculations, or data structures (e.g. "8-step fabric shortage algorithm")
250
+ - Reference real UI components or sections visible in the code
251
+ - Mention specific integrations, file formats, or data flows
252
+ - Use strong action verbs: Built, Engineered, Implemented, Designed, Developed
253
+ - Be technical and concrete — no vague bullets like "managed data" or "implemented features"
254
+
255
+ 3. Good example style:
256
+ \\resumeItem{Engineered a fabric shortage calculator using an 8-step assorted/unassorted matching algorithm that computes longation percentage and predicts bleach shortfall.}
257
+ \\resumeItem{Built PDF report generation using ReportLab with multi-table layouts, side-by-side breakdowns, and sorted unassorted data grids.}
228
258
 
229
- INSTRUCTIONS:
230
- 1. Read the code carefully. Understand the real algorithms, data flows, and capabilities.
231
- 2. Use this EXACT LaTeX structure:
232
- \\resumeProjectHeading
233
- {\\textbf{${displayName}} $|$ \\emph{Category}}{}
234
- \\resumeItemListStart
235
- \\resumeItem{Bullet 1}
236
- \\resumeItem{Bullet 2}
237
- \\resumeItem{Bullet 3}
238
- \\resumeItem{\\textbf{Tech Stack:} ${techStack}}
239
- \\resumeItemListEnd
240
-
241
- 3. Write 3-5 bullets that are SPECIFIC to this codebase:
242
- - Mention actual algorithms, calculations, or business logic you see in the code
243
- - Reference real UI components, data flows, or integrations
244
- - Use strong action verbs (Built, Implemented, Engineered, Designed, Developed)
245
- - Be technical and concrete — avoid vague generic bullets
246
259
  4. Last bullet MUST be: \\textbf{Tech Stack:} ${techStack}
247
- 5. Return ONLY the LaTeX block — no explanation, no markdown fences, no commentary.`;
260
+ 5. Return ONLY the LaTeX block — no explanation, no markdown fences.`;
248
261
  }
249
262
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export async function generateReadme(rootDir, analysis, useAI, scan) {
27
27
  { role: 'system', content: 'You are a professional technical documentation writer. Read the code carefully before writing.' },
28
28
  { role: 'user', content: prompt },
29
29
  ];
30
- const response = await provider.generate(messages, { temperature: 0.5, maxTokens: 4096 });
30
+ const response = await provider.generate(messages, { temperature: 0.5, maxTokens: 8192 });
31
31
  newContent = response.content.trim()
32
32
  .replace(/^```(?:markdown|md)?\n?/i, '')
33
33
  .replace(/\n?```$/i, '')
@@ -38,7 +38,7 @@ export async function generateLatexProjectEntry(analysis, useAI, ownerName, scan
38
38
  },
39
39
  { role: 'user', content: prompt },
40
40
  ];
41
- const response = await provider.generate(messages, { temperature: 0.4, maxTokens: 1000 });
41
+ const response = await provider.generate(messages, { temperature: 0.4, maxTokens: 2000 });
42
42
  let entry = response.content.trim();
43
43
  // Strip any markdown fencing
44
44
  entry = entry.replace(/^```(?:latex|tex)?\n?/i, '').replace(/\n?```$/i, '').trim();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autogit-tool",
3
- "version": "1.0.18",
3
+ "version": "1.0.19",
4
4
  "description": "Automate project documentation, GitHub publishing, and social media content generation — run autogit in any project folder",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",