{"id":28628030,"url":"https://github.com/mmiscool/aifiddle","last_synced_at":"2025-10-09T17:32:52.516Z","repository":{"id":290484275,"uuid":"969404547","full_name":"mmiscool/aiFiddle","owner":"mmiscool","description":"Minimalist browser based AI assisted code editor with live preview.","archived":false,"fork":false,"pushed_at":"2025-06-10T03:05:59.000Z","size":474,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-09T23:02:54.013Z","etag":null,"topics":["ai","aicode","aicodeassistant","aicoder","llm"],"latest_commit_sha":null,"homepage":"https://aifiddle.aicoderproject.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mmiscool.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-20T04:18:37.000Z","updated_at":"2025-06-10T03:06:03.000Z","dependencies_parsed_at":"2025-04-29T04:37:09.607Z","dependency_job_id":"d46bf723-ab18-4473-8597-6a84aa8fc6c8","html_url":"https://github.com/mmiscool/aiFiddle","commit_stats":null,"previous_names":["mmiscool/aifiddle"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mmiscool/aiFiddle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmiscool%2FaiFiddle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmiscool%2FaiFiddle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmiscool%2FaiFiddle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmiscool%2FaiFiddle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mmiscool","download_url":"https://codeload.github.com/mmiscool/aiFiddle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmiscool%2FaiFiddle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274939307,"owners_count":25377772,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-13T02:00:10.085Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","aicode","aicodeassistant","aicoder","llm"],"created_at":"2025-06-12T10:11:00.751Z","updated_at":"2025-10-09T17:32:47.467Z","avatar_url":"https://github.com/mmiscool.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# aiFiddle\nMinimalist browser based AI assisted code editor with live preview.\nhttps://aifiddle.aicoderproject.com/\n\nThis uses the same merging methodology of the aiCoder project and expands to html and CSS in a browser based editor with immediate execution. \n\n\nInstall from source:\n```bash\npnpm install\n# You only have to build the workers once.\npnpm run build:monaco-workers   \n```\n\n\nBuild instructions.\n```bash\n# Make sure you followed the install instructions first.\npnpm run build\n# output will be in ./dist\n```\n\nRun dev server:\n```bash\npnpm run dev\n```\n\n\n\n\n\n# What makes this different from other LLM powered coding tools?\nThis 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.\n\n### Problems with current code generation methods:\n- Whole code file is regenerated each time a change is made\n- LLMs some times like to forget things and delete large chunks of your original file when regenerating the whole file each time.\n- LLM output is not guaranteed to be syntactically correct. \n\n### How we solve these problems\n- By merging snippets that follow specific rules we can surgically modify the original code with out regenerating the whole file.\n- Code is never accidentally deleted as any function or method not included in the snippet is touched. \n- Using ASTs to merge snippets with original code makes it impossible to merge syntactically incorrect code preventing corruption.  \n\nWe provide the rules for how to format code snippets to the LLM. See the [Snippet generation prompt](src/prompts/system.md) for what the rules are.\nYou can take a look at the actual code used for doing the AST merging in the [snipsplicer repo](https://github.com/mmiscool/snipsplicer).\n\n\n\n# Credits\nThis project uses various npm packages. \n[See ./3rdPartyLicenseCredits.md](3rdPartyLicenseCredits.md) for the complete list.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmiscool%2Faifiddle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmmiscool%2Faifiddle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmiscool%2Faifiddle/lists"}