{"id":28034798,"url":"https://github.com/arturbac/kdevcxx_with_ai","last_synced_at":"2025-05-11T11:01:46.798Z","repository":{"id":226801230,"uuid":"769676188","full_name":"arturbac/kdevcxx_with_ai","owner":"arturbac","description":"KDevelop and Kate plugins using OpenAI API to assist with code development","archived":false,"fork":false,"pushed_at":"2025-01-15T19:28:19.000Z","size":176,"stargazers_count":11,"open_issues_count":3,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-15T21:29:45.013Z","etag":null,"topics":["ai","ai-development","cpp","cpp-all","deep-learning","ide","kate","kde","kde-development","kdevelop","kdevelop-plugin","linux-development","machine-learning","software-development"],"latest_commit_sha":null,"homepage":"","language":"C++","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/arturbac.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-03-09T18:36:07.000Z","updated_at":"2025-01-15T19:28:22.000Z","dependencies_parsed_at":"2025-04-07T03:30:14.294Z","dependency_job_id":null,"html_url":"https://github.com/arturbac/kdevcxx_with_ai","commit_stats":null,"previous_names":["arturbac/kdevcxx_with_ai"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arturbac%2Fkdevcxx_with_ai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arturbac%2Fkdevcxx_with_ai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arturbac%2Fkdevcxx_with_ai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arturbac%2Fkdevcxx_with_ai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arturbac","download_url":"https://codeload.github.com/arturbac/kdevcxx_with_ai/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253554063,"owners_count":21926610,"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":["ai","ai-development","cpp","cpp-all","deep-learning","ide","kate","kde","kde-development","kdevelop","kdevelop-plugin","linux-development","machine-learning","software-development"],"created_at":"2025-05-11T11:01:45.754Z","updated_at":"2025-05-11T11:01:46.787Z","avatar_url":"https://github.com/arturbac.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"\n# KDevCXX with AI, Kate with AI\n\nKDevCXX with AI is an innovative extension for the KDevelop IDE and Kate Editor, focusing on integrating AI-powered features specifically designed to enhance C++ development. This project leverages the latest advancements in machine learning and natural language processing to provide KDevelop users with intelligent coding assistance, including code completion, documentation lookup, and advanced code analysis.\n\n## Features\n\n- **AI-Powered Code Completion**: Utilizes a trained model `gpt-4-1106-preview` to suggest code completions, significantly speeding up the development process.\n- **Documentation Lookup**: Instant access to documentation for C++ standard library functions, classes, and more directly within the IDE.\n- **Code Analysis**: Advanced code analysis features powered by AI, helping to identify potential improvements and optimizations.\n- **Error Correction Suggestions**: Offers suggestions for correcting syntax errors and logical mistakes.\n- **Refactoring Assistance**: AI-assisted refactoring tools to improve and simplify existing code without changing its external behavior.\n\n## Planned Features\n\n- **Multiple Presets** for AI query assistant working with new and existing code, explanation providing information with tools windows, refactor for refactoring old code\n- **Chat with GPT windows** producing desired result with finall button apply to move result to code editor window.\n  \n## Getting Started\n\n### Prerequisites\n\n- KDevelop IDE installed on your system for kdevelop plugin\n- Kate Editor installed on your system for kate plugin\n- Internet connection for accessing AI features.\n\n## Required System Packages\n\n- **CMake**: Required to configure the build system.\n- **Boost**: Version 1.66.0 or later, components `system` and `thread` required.\n- **OpenSSL**: Necessary for https secure data handling.\n\nInstall these packages using your system's package manager.\n\n## External Libraries Managed with CPM\n\nThis project uses CPM for automatic management of external libraries:\n\n- **simple_enum** from [`arturbac/simple_enum`](https://github.com/arturbac/simple_enum)\n- **small_vectors** from [`arturbac/small_vectors`](https://github.com/arturbac/small_vectors)\n- **stralgo** from [`arturbac/stralgo`](https://github.com/arturbac/stralgo)\n- **glaze** from [`stephenberry/glaze`](https://github.com/stephenberry/glaze)\n- **fmt** from [`fmtlib/fmt`](https://github.com/fmtlib/fmt)\n- **ut** from [`C++20 μ(micro)/Unit Testing Framework`](https://github.com/boost-ext/ut)\n  \n## KDE Dependencies\n\nKDE frameworks are utilized, requiring:\n\n- **Extra CMake Modules (ECM)** version `5.68.0` or newer.\n\nEnsure KDE development libraries and the ECM package are installed.\n\n## Installation Instructions\n\nFollow these steps to install and configure KDevCXX with AI:\n\n### 1. Clone the Repository\n\nStart by cloning the repository to your local machine using the following command:\n\n```bash\ngit clone https://github.com/arturbac/kdevcxx_with_ai.git\n```\n\n### 2. Build the Plugin\n\nUse CMake to build the plugin with the following command:\n\n```bash\ncmake --workflow --preset=\"clang-release\"\n```\nkate plugin will be build and if kdevplatform development headers and libraries are present then kdevelop plugin will be build also.\n\n### 3. Install the Plugin\n\nUse provided install_kdeveplugin.sh and or install_kateplugin.sh scripts it will determine location of kdevplatform plugins and qt/plugins for texteditor and install plugins into that directories\n\n\n### 4. Configure OpenAI Key\n\nUpon launching KDevelop, a modal dialog will appear, prompting you to review and update your settings in KDevelop settings dialog.\nFor kate You need to go Kate settings and enable plugin and edit them.\nNote that ai settings are shared between kate and kdevelop, so You only need to do it once.\n\n## Usage\n\nAfter installing the plugin, restart KDevelop/Kate. The AI features should now be seamlessly integrated into your IDE.\n\nTo use the AI functionality within the editor, follow these steps:\n\n1. Write your AI request in the editor, preceded by `[AI Do something for me with that code]`, followed by the code/text you wish AI to analyze or modify.\n\n2. Highlight the request and the target code.\n\n3. Select from Drop down menu `Process with AI` to activate the AI processing of selected request and code in format \\[AI perform command \\].\n\n\n## Example use \n\n![Bez nazwy](https://github.com/arturbac/kdevcxx_with_ai/assets/14975842/b30c6e56-09d7-4cec-b50b-7d1d4d9b1b2a)\n\n\nImplementing unit tests example. note that it takes into effect my system rules specifying explicitly to use bost-ext/ut and You can change this in settings\n```json\n{\n   \"api_key\": \"******************\",\n   \"cxx_rules\": \"You are great c++23 coder,... if implementing  unit tests You use boost-ext/ut ...\",\n   \"version\": 1\n}\n\n```\n\n![Bez nazwy2](https://github.com/arturbac/kdevcxx_with_ai/assets/14975842/dfbe7bbe-ccca-4f3d-b577-52a87c2480fe)\n\nOr asking for help with explanations\n\n![obraz](https://github.com/arturbac/kdevcxx_with_ai/assets/14975842/0f818de6-9146-453d-beed-b66832c9e8ae)\n\nor example refactoring of very old code\n\n![Bez nazwy](https://github.com/arturbac/kdevcxx_with_ai/assets/14975842/f7128298-bcaf-4772-a929-9f94b23579c1)\n\nAnd perhaps the most weird use of AI i did with code, optimise ai query with ai for ai\n\n![obraz](https://github.com/arturbac/kdevcxx_with_ai/assets/14975842/a4ec262c-e805-4252-ab45-01b59be4ce38)\n\nOr some crazy s...\n\n![obraz](https://github.com/arturbac/kdevcxx_with_ai/assets/14975842/952db481-e76a-4935-a812-5cb10c951421)\n\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.\n\n## Acknowledgments\n\n- Thanks to the KDevelop community for providing a powerful and extensible IDE platform.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farturbac%2Fkdevcxx_with_ai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farturbac%2Fkdevcxx_with_ai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farturbac%2Fkdevcxx_with_ai/lists"}