SnipSplicer is a library for manipulating code files in various languages allowing for surgical file edits using snippets supplied by LLMs.
This tool uses AST (abstract syntax trees) to automatically merge LLM generate code snippets in to existing code. Because the process we use to merge LLM generate snippets is deterministic it is extremely relegable.
import{mergeCode}from"snipsplicer";letcodeFileContents=` export class exampleClass { exampleMethod() { return 'example'; } exampleMethod2() { return 'example2'; } exampleMethod3() { return 'example3'; } } `;letsnippetToMerge=` export class exampleClass { exampleMethod() { // we make some changes here console.log('do something else'); // how about a friendly alert alert('hello world'); return 'example'; } } `;constresultingCodeAfterMerge=mergeCode("javascript",codeFileContents,snippetToMerge);
exportclassexampleClass{exampleMethod(){// we make some changes here console.log('do something else');// how about a friendly alertalert('hello world');return'example';}exampleMethod2(){return'example2';}exampleMethod3(){return'example3';}}
import{mergeToolsPromptStrings}from'snipsplicer';console.log(mergeToolsPromptStrings.complete);// complete prompt with snippet generation rules for all supported languages. console.log(mergeToolsPromptStrings.html);// html snippet formatting rulesconsole.log(mergeToolsPromptStrings.javascript);// javascript snippet formatting rulesconsole.log(mergeToolsPromptStrings.css);// css snippet formatting rules