Refactor README generation logic in main.js
This commit is contained in:
40
main.js
40
main.js
@@ -1440,29 +1440,29 @@ Now write a similar README.md for the following project (think of a good name an
|
|||||||
|
|
||||||
Source Code:
|
Source Code:
|
||||||
`;
|
`;
|
||||||
for (const f of codeFiles) {
|
for (const f of codeFiles) {
|
||||||
let rel = path.relative(folderPath, f);
|
let rel = path.relative(folderPath, f);
|
||||||
prompt += `\n---\nFile: ${rel}\n${fs.readFileSync(f, 'utf-8')}\n`;
|
prompt += `\n---\nFile: ${rel}\n${fs.readFileSync(f, 'utf-8')}\n`;
|
||||||
}
|
}
|
||||||
prompt += `\n---\nWrite ONLY the complete README.md in markdown format. Do NOT add extra explanations, commentary, or code reviews. And remember, the license is ${licenseType}!`;
|
prompt += `\n---\nWrite ONLY the complete README.md in markdown format. Do NOT add extra explanations, commentary, or code reviews. And remember, the license is ${licenseType}!`;
|
||||||
|
|
||||||
// LLM call
|
// LLM call
|
||||||
const win = evt.sender; // für Cat-Stream
|
const win = evt.sender; // für Cat-Stream
|
||||||
await ensureOllamaRunning();
|
await ensureOllamaRunning();
|
||||||
const selectedModel = store.get('readmeModel') || 'qwen2.5-coder:32b';
|
const selectedModel = store.get('readmeModel') || 'qwen2.5-coder:32b';
|
||||||
let result = await streamLLMCommitMessages(prompt, null, win);
|
let result = await streamLLMCommitMessages(prompt, null, win);
|
||||||
|
|
||||||
// Output fixen: Entferne eventuelle Codeblocks
|
// Output fixen: Entferne eventuelle Codeblocks
|
||||||
result = result.replace(/^```markdown|^```md|^```/gmi, '').replace(/```$/gmi, '').trim();
|
result = result.replace(/^```markdown|^```md|^```/gmi, '').replace(/```$/gmi, '').trim();
|
||||||
|
|
||||||
// Disclaimer einbauen
|
// Disclaimer einbauen
|
||||||
const disclaimer = `> ⚠️ **This README.md has been automatically generated using AI and might contain hallucinations or inaccuracies. Please proceed with caution!**\n\n`;
|
const disclaimer = `> ⚠️ **This README.md has been automatically generated using AI and might contain hallucinations or inaccuracies. Please proceed with caution!**\n\n`;
|
||||||
// Falls nötig, Name/Author oben einbauen
|
// Falls nötig, Name/Author oben einbauen
|
||||||
let final = `# ${repoName}\n\n**Author:** ${authorName}\n\n${disclaimer}${result}`;
|
let final = `# ${repoName}\n\n**Author:** ${authorName}\n\n${disclaimer}${result}`;
|
||||||
// Schreibe/Überschreibe README.md (wenn du willst, oder Preview)
|
// Schreibe/Überschreibe README.md (wenn du willst, oder Preview)
|
||||||
fs.writeFileSync(path.join(folderPath, 'README.md'), final, 'utf-8');
|
fs.writeFileSync(path.join(folderPath, 'README.md'), final, 'utf-8');
|
||||||
return final;
|
return final;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user