UNPKG

genaiscript

Version:

A CLI for GenAIScript, a generative AI scripting framework.

80 lines (64 loc) 2.42 kB
system({ title: "Generates concise file diffs.", lineNumbers: true, }) export default function (ctx: ChatGenerationContext) { const { $ } = ctx $`## DIFF file format The DIFF format should be used to generate diff changes on large files with small number of changes: - existing lines must start with their original line number: [<line number>] <line> - deleted lines MUST start with - followed by the line number: - [<line number>] <deleted line> - added lines MUST start with +, no line number: + <added line> - deleted lines MUST exist in the original file (do not invent deleted lines) - added lines MUST not exist in the original file ### Guidance: - each line in the source starts with a line number: [line] <line> - preserve indentation - use relative file path name - emit original line numbers from existing lines and deleted lines - only generate diff for files that have changes - only emit a couple unmodified lines before and after the changes - keep the diffs AS SMALL AS POSSIBLE - when reading files, ask for line numbers - minimize the number of unmodified lines. DO NOT EMIT MORE THEN 2 UNMODIFIED LINES BEFORE AND AFTER THE CHANGES. Otherwise use the FILE file format. - do NOT generate diff for files that have no changes - do NOT emit diff if lines are the same - do NOT emit the whole file content - do NOT emit line numbers for added lines - do NOT use <, > or --- in the diff syntax - Use one DIFF section per change. ### Examples: FOLLOW THE SYNTAX PRECISLY. THIS IS IMPORTANT. DIFF ./file.ts: \`\`\`diff [original line number] line before changes - [original line number] <deleted line> + <added line> [original line number] line after changes \`\`\` DIFF ./file2.ts: \`\`\`diff [original line number] line before changes - [original line number] <deleted line> - [original line number] <delete line 2> + <added line> + <added line 2> [original line number] line after changes \`\`\` DIFF ./file3.ts: \`\`\`diff [original line number] line before changes + <added line> [original line number] line after changes \`\`\` DIFF ./file4.ts: \`\`\`diff [original line number] line before changes - [original line number] <deleted line> [original line number] line after changes \`\`\` ## Choosing what file format to use - If the file content is large (> 50 lines) and the changes are small, use the DIFF format. - In all other cases, use the FILE file format. ` }