{"id":19791436,"url":"https://github.com/sublayerapp/blueprints","last_synced_at":"2025-05-01T01:32:25.684Z","repository":{"id":219859493,"uuid":"749953162","full_name":"sublayerapp/blueprints","owner":"sublayerapp","description":"Blueprints is an open-source tool that integrates with your text editor to help you generate code with an LLM based on patterns you already have in your codebase. Download one of our official editor plugins to get started.","archived":false,"fork":false,"pushed_at":"2024-05-22T18:31:25.000Z","size":360,"stargazers_count":37,"open_issues_count":1,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-05-22T19:29:27.614Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://blueprints.sublayer.com","language":"Ruby","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/sublayerapp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-01-29T18:00:53.000Z","updated_at":"2024-05-22T19:29:30.647Z","dependencies_parsed_at":"2024-02-28T23:27:42.220Z","dependency_job_id":"e46349a4-a03f-41dc-8c74-d44fc5fb17d3","html_url":"https://github.com/sublayerapp/blueprints","commit_stats":null,"previous_names":["sublayerapp/blueprints"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sublayerapp%2Fblueprints","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sublayerapp%2Fblueprints/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sublayerapp%2Fblueprints/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sublayerapp%2Fblueprints/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sublayerapp","download_url":"https://codeload.github.com/sublayerapp/blueprints/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224231443,"owners_count":17277386,"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","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":[],"created_at":"2024-11-12T07:02:12.581Z","updated_at":"2024-11-12T07:03:03.277Z","avatar_url":"https://github.com/sublayerapp.png","language":"Ruby","readme":"# Blueprints by Sublayer\n\nThis Ruby on Rails app enables you to store chunks of your code we call\n\"blueprints\" and then use them as a basis for generating new code using those\npreviously saved blueprints as a base for GPT4 to generate from.\n\nBlog post sharing some background info: [Is Software Engineering Dead?](https://www.sublayer.com/blog/posts/is-software-engineering-dead)\n\n[Demo video showing Blueprints usage in VSCode](https://www.loom.com/share/727e449a764e4362b28a74460db84655)\n\n## Installation\n\n### OpenAI Configuration\n* Get an OpenAI API key: https://platform.openai.com/\n* Set the API key in your environment as: `OPENAI_API_KEY`\n\n### Google Configuration\n* Get a Gemini API key: https://ai.google.dev/\n* Set the API key in your environment as: `GEMINI_API_KEY`\n* Set config.ai_provider to `google` in `config/application.rb`\n\n* Install Postgres (if not installed): `brew install postgres`\n* Install pgvector (if on postgres14): `brew install pgvector`\n\n* Install one of the editor plugins:\n- Vim: [blueprints.vim](https://github.com/sublayerapp/blueprints.vim)\n- VSCode: [blueprints.code](https://github.com/sublayerapp/blueprints.code)\n- IntelliJ: [blueprints.idea](https://github.com/sublayerapp/blueprints.idea)\n- SublimeText: [blueprints_subl](https://github.com/sublayerapp/blueprints_subl)\n\n* Clone the repo: `git clone https://github.com/sublayerapp/blueprints`\n* Change to the blueprints directory: `cd blueprints`\n* Install dependencies: `bundle install`\n* Create your database: `bin/rails db:create`\n* Run migrations: `bin/rails db:migrate`\n* Generate the tailwind css: `bin/rails tailwindcss:build`\n* Run the server: `bin/rails s`\n\n## Usage\n\nWith a server running on http://localhost:3000 you can use any of the above\nplugins to start storing blueprints locally and generating new ones.\n\nOnce you have a handful of blueprints you can view them and their associated\ndescriptions at `http://localhost:3000`\n\n### LLM Performance specs\n\n1. go to `spec_perforamnce/llms/ai_models.yml` to specify which llms you'd like to test\n2. run `rspec spec_performance`\n\n_You must have the appropriate llm setup. See [sublayer](https://github.com/sublayerapp/sublayer) for setup instructions._\n\n## How It Works\n\n### Create A New Blueprint\n\nWhen you use the editor plugin to POST your highlighted code to `blueprints#create` it first sends the code\nto gpt4 to generate a description and a name.\n\nOnce it has a description and a name, it creates vector embeddings of that\ndescription and stores the whole record in the database for future lookup.\n\n\n### Create A Blueprint Variant\n\nWhen you use the editor plugin to POST your highlighted description to\n`blueprint_variants#create` it uses the description to find the closest\nblueprint.\n\nOnce the closest blueprint is found, it sends that blueprint's description,\nassociated code, and the new description to gpt4 for generation and replaces the\nhighlighted text in your editor with the generated code.\n\n## Community\n\nLike what you see, or looking for more people working on the future of\nprogramming with LLMs?\n\n Come join us in the [Sublayer Discord](https://discord.gg/sjTJszPwXt)\n","funding_links":[],"categories":["Ruby","Building"],"sub_categories":["Tools"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsublayerapp%2Fblueprints","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsublayerapp%2Fblueprints","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsublayerapp%2Fblueprints/lists"}