⚠️ Status: archived
I am shutting down the QodeAssist project completely and archiving it, because my copyright notices were removed without my knowledge or permission. All relevant evidence has been preserved.
After investing years of work into QodeAssist, I no longer feel able to continue developing a project when its code has already been used elsewhere without preserving proper attribution to its original author.
![]()
QodeAssist brings a full AI coding workflow to Qt Creator for C++ and QML — smart code completion, multi-panel chat, inline quick refactoring, and project-aware tool calling. It works with local runtimes (Ollama, llama.cpp, LM Studio) and cloud providers (Claude, OpenAI, Google AI, Mistral, Qwen, DeepSeek), can run as an MCP server so other clients reuse its project context, and can also act as an MCP client to consume tools from external MCP servers.
QodeAssist enhances Qt Creator with AI-powered coding assistance:
.qodeassist/skills/ and .claude/skills/, invoked automatically, with /skill, or always-onreasoning_content (DeepSeek, Qwen QwQ/Qwen3-Thinking, LM Studio, OpenRouter, …)You can install and update QodeAssist directly from within Qt Creator by adding the QodeAssist registry as an external extension repository.
Qt Creator → Extensions) and switch to the Browser tabhttps://github.com/Palm1r/extension-registry/archive/refs/heads/qodeassist.tar.gzhttps://github.com/Palm1r/extension-registry/archive/refs/heads/qodeassist-qtc20.tar.gzhttps://github.com/Palm1r/extension-registry/archive/refs/heads/qodeassist-qtc19.tar.gzhttps://github.com/Palm1r/extension-registry/archive/refs/heads/qodeassist-qtc18.tar.gzNote: This is an external repository not maintained by The Qt Company. By adding it you accept responsibility for managing the associated risks, as stated in the Extensions page.
The Quick Setup feature provides one-click configuration for popular cloud AI models. Get started in 3 easy steps:
All settings (provider, model, template, URL) are configured automatically. Just add your API key and you're ready to go!
For advanced users or local models, choose your preferred provider and follow the detailed configuration guide:
Local providers:
/v1 endpoint for tool-calling modelsllama-serverCloud providers:
deepseek-chat and deepseek-reasoner (reasoning shown as thinking)For optimal coding assistance, we recommend using these top-tier models:
Best for Code Completion & Refactoring:
Best for Chat Assistant:
Local models:
.qodeassistignoreQodeAssist offers two trigger modes for code completion:
Hint-based
Automatic(Default)
💡 Tip: Start with Hint-based to avoid unexpected costs. Switch to Automatic if using free local models.
Configure in: Tools → Options → QodeAssist → Code Completion → General Settings
reasoning_content such as DeepSeek, Qwen, LM Studio, OpenRouter)Chat and Quick Refactor can call tools to inspect and modify your project. Each tool can be individually enabled/disabled in settings.
| Tool | What it does |
|---|---|
list_project_files | List files in the active project(s) |
find_file | Find a file by name or partial path |
read_file | Read file contents (project or absolute path) |
search_project | Grep / symbol search across project sources |
create_new_file | Create a new empty file on disk |
edit_file | Replace content in a file (old → new) |
build_project | Build the active project and return compiler output |
get_issues_list | Read current linter / compiler diagnostics |
execute_terminal_command | Run a shell command (with confirmation) |
todo_tool | Track multi-step task progress during a conversation |
Agent Skills package specialized instructions and workflows into reusable folders the AI loads on demand. QodeAssist implements the open Agent Skills format, so skills authored for Claude Code, Cursor, or other agents work as-is.
A skill is a folder containing a SKILL.md file — YAML frontmatter (name, description) plus Markdown instructions:
my-skill/
└── SKILL.md
---
name: my-skill
description: What the skill does and when to use it.
---
# My Skill
Step-by-step instructions for the task...
Where skills are discovered:
.qodeassist/skills/ and .claude/skills/), configured in Projects → QodeAssist → Skills. Project skills win over global ones on a name collision.~/.claude/skills/), configured in Tools → Options → QodeAssist → Skills.Both settings pages show the list of currently discovered skills.
How skills are used in Chat:
load_skill tool (requires a tool-calling model)./ in the chat input and pick a skill from the popup; its instructions are injected into that one message. Works with any model.metadata: always-on: "true" is injected into every chat request automatically.Enable or disable the whole feature in Tools → Options → QodeAssist → Skills.
QodeAssist can run an MCP (Model Context Protocol) server on localhost, exposing the tools above to external clients — so you can use QodeAssist's project awareness from Claude Code CLI, VS Code, Cursor, Claude Desktop, or any other MCP-capable client.
Tools → Options → QodeAssist → MCP ServerQodeAssist can also act as an MCP client, connecting to external MCP servers and making their tools available to Chat and Quick Refactor alongside the built-in ones.
Tools → Options → QodeAssist → MCP ClientQodeAssist uses a flexible prompt composition system that adapts to different contexts. Here's how prompts are constructed for each feature:
┌─────────────────────────────────────────────────────────────────────────────┐
│ CODE COMPLETION (FIM Models) │
├─────────────────────────────────────────────────────────────────────────────┤
│ Examples: Codestral, Qwen2.5-Coder, DeepSeek-Coder │
│ │
│ 1. System Prompt (from Code Completion Settings - FIM variant) │
│ 2. Open Files Context (optional, if enabled): │
│ └─ Currently open editor files │
│ 3. Code Context: │
│ ├─ Code before cursor (prefix) │
│ └─ Code after cursor (suffix) │
│ │
│ Final Prompt: FIM_Template(Prefix: SystemPrompt + OpenFiles + │
│ CodeBefore, │
│ Suffix: CodeAfter) │
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────────┐
│ CODE COMPLETION (Non-FIM/Chat Models) │
├─────────────────────────────────────────────────────────────────────────────┤
│ Examples: DeepSeek-Coder-Instruct, Qwen2.5-Coder-Instruct │
│ │
│ 1. System Prompt (from Code Completion Settings - Non-FIM variant) │
│ └─ Includes response formatting instructions │
│ 2. Open Files Context (optional, if enabled): │
│ └─ Currently open editor files │
│ 3. Code Context: │
│ ├─ File information (language, path) │
│ ├─ Code before cursor │
│ ├─ <cursor> marker │
│ └─ Code after cursor │
│ 4. User Message: "Complete the code at cursor position" │
│ │
│ Final Prompt: [System: SystemPrompt] │
│ [User: OpenFiles + Context + CompletionRequest] │
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────────┐
│ CHAT ASSISTANT │
├─────────────────────────────────────────────────────────────────────────────┤
│ 1. System Prompt (from Chat Assistant Settings) │
│ 2. Project Info (active project name, source root, build directory) │
│ 3. Skills (always-on bodies + catalog + /invoked skills) │
│ 4. File Context (optional): │
│ └─ Attached files (manual) │
│ 5. Tool Definitions (if enabled): │
│ ├─ ReadProjectFileByName │
│ ├─ ListProjectFiles │
│ ├─ SearchInProject │
│ └─ GetIssuesList │
│ 6. Conversation History │
│ 7. User Message │
│ │
│ Final Prompt: [System: SystemPrompt + ProjectInfo + Skills + Tools] │
│ [History: Previous messages] │
│ [User: FileContext + UserMessage] │
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────────┐
│ QUICK REFACTORING │
├─────────────────────────────────────────────────────────────────────────────┤
│ 1. System Prompt (from Quick Refactor Settings) │
│ 2. Code Context: │
│ ├─ File information (language, path) │
│ ├─ Code before selection (configurable amount) │
│ ├─ <selection_start> marker │
│ ├─ Selected code (or current line) │
│ ├─ <selection_end> marker │
│ ├─ <cursor> marker (position within selection) │
│ └─ Code after selection (configurable amount) │
│ 3. Refactor Instruction: │
│ ├─ Built-in (e.g., "Improve Code", "Alternative Solution") │
│ ├─ Custom Instruction (from library) │
│ │ └─ ~/.config/QtProject/qtcreator/qodeassist/ │
│ │ quick_refactor/instructions/*.json │
│ └─ Additional Details (optional user input) │
│ 4. Tool Definitions (if enabled) │
│ │
│ Final Prompt: [System: SystemPrompt] │
│ [User: Context + Markers + Instruction + Details] │
└─────────────────────────────────────────────────────────────────────────────┘
/skill-nameSee the Quick Refactoring Guide for more details.
| Qt Creator Version | QodeAssist Version |
|---|---|
| 17.0.0+ | 0.6.0 - 0.x.x |
| 16.0.2 | 0.5.13 - 0.9.6 |
| 16.0.1 | 0.5.7 - 0.5.13 |
| 16.0.0 | 0.5.2 - 0.5.6 |
| 15.0.1 | 0.4.8 - 0.5.1 |
| 15.0.0 | 0.4.0 - 0.4.7 |
| 14.0.2 | 0.2.3 - 0.3.x |
| 14.0.1 | ≤ 0.2.2 |
All hotkeys can be customized in Qt Creator Settings. Default hotkeys:
| Action | macOS | Windows/Linux |
|---|---|---|
| Open chat window | ⌥⌘W | Ctrl+Alt+W |
| Close chat window | ⌥⌘S | Ctrl+Alt+S |
| Manual code suggestion | ⌥⌘Q | Ctrl+Alt+Q |
| Accept full suggestion | Tab | Tab |
| Accept word | ⌥→ | Alt+→ |
| Quick refactor | ⌥⌘R | Ctrl+Alt+R |
Having issues with QodeAssist? Check our detailed troubleshooting guide for:
/skill commands, always-on, load_skill tool)Every contribution, no matter how small, is greatly appreciated and helps keep the project alive!
mkdir build && cd build
cmake -DCMAKE_PREFIX_PATH=<path_to_qtcreator> -DCMAKE_BUILD_TYPE=RelWithDebInfo <path_to_plugin_source>
cmake --build .
Path specifications:
<path_to_qtcreator>:
Qt Creator.app/Contents/Resources/<path_to_plugin_source>: Path to this plugin directory.clang-format configuration in the project rootFor detailed development guidelines, architecture patterns, and best practices, see the project workspace rules.
QodeAssist is licensed under the GNU General Public License v3.0
(see LICENSE), with additional attribution terms under
GPLv3 Section 7(b).
You are free to use, modify, and redistribute QodeAssist under GPL-3.0,
but you must preserve the original author attribution, copyright
notices, and project identification — including in source file headers,
the plugin metadata (QodeAssist.json.in), and the About dialog or
equivalent user-facing identification. Modified versions must be clearly
marked as different from the original.
QodeAssist is also available under a separate commercial license for use in proprietary or closed-source products without GPL-3.0 obligations. For commercial licensing inquiries, contact palm1r-github-dev@pm.me.
QodeAssist is a plugin for Qt Creator and incorporates certain components (plugin templates, API headers, and related boilerplate) originating from Qt Creator, which are copyright (C) The Qt Company Ltd.
These components are provided by The Qt Company under the GNU General Public License version 3, annotated with The Qt Company GPL Exception 1.0. This exception permits the development and distribution of Qt Creator plugins under licenses of the plugin author's own choosing, notwithstanding the GPL's general linking requirements. It is this exception that allows QodeAssist to be offered under both GPL-3.0 and a separate commercial license.
The original copyright and license notices of The Qt Company are preserved in the relevant source files and must not be removed.
For Qt Creator's licensing terms, see LICENSE.GPL3-EXCEPT.
C++
90.1%
QML
8.7%
CMake
1.1%
⚠️ Status: archived
I am shutting down the QodeAssist project completely and archiving it, because my copyright notices were removed without my knowledge or permission. All relevant evidence has been preserved.
After investing years of work into QodeAssist, I no longer feel able to continue developing a project when its code has already been used elsewhere without preserving proper attribution to its original author.
![]()
QodeAssist brings a full AI coding workflow to Qt Creator for C++ and QML — smart code completion, multi-panel chat, inline quick refactoring, and project-aware tool calling. It works with local runtimes (Ollama, llama.cpp, LM Studio) and cloud providers (Claude, OpenAI, Google AI, Mistral, Qwen, DeepSeek), can run as an MCP server so other clients reuse its project context, and can also act as an MCP client to consume tools from external MCP servers.
QodeAssist enhances Qt Creator with AI-powered coding assistance:
.qodeassist/skills/ and .claude/skills/, invoked automatically, with /skill, or always-onreasoning_content (DeepSeek, Qwen QwQ/Qwen3-Thinking, LM Studio, OpenRouter, …)You can install and update QodeAssist directly from within Qt Creator by adding the QodeAssist registry as an external extension repository.
Qt Creator → Extensions) and switch to the Browser tabhttps://github.com/Palm1r/extension-registry/archive/refs/heads/qodeassist.tar.gzhttps://github.com/Palm1r/extension-registry/archive/refs/heads/qodeassist-qtc20.tar.gzhttps://github.com/Palm1r/extension-registry/archive/refs/heads/qodeassist-qtc19.tar.gzhttps://github.com/Palm1r/extension-registry/archive/refs/heads/qodeassist-qtc18.tar.gzNote: This is an external repository not maintained by The Qt Company. By adding it you accept responsibility for managing the associated risks, as stated in the Extensions page.
The Quick Setup feature provides one-click configuration for popular cloud AI models. Get started in 3 easy steps:
All settings (provider, model, template, URL) are configured automatically. Just add your API key and you're ready to go!
For advanced users or local models, choose your preferred provider and follow the detailed configuration guide:
Local providers:
/v1 endpoint for tool-calling modelsllama-serverCloud providers:
deepseek-chat and deepseek-reasoner (reasoning shown as thinking)For optimal coding assistance, we recommend using these top-tier models:
Best for Code Completion & Refactoring:
Best for Chat Assistant:
Local models:
.qodeassistignoreQodeAssist offers two trigger modes for code completion:
Hint-based
Automatic(Default)
💡 Tip: Start with Hint-based to avoid unexpected costs. Switch to Automatic if using free local models.
Configure in: Tools → Options → QodeAssist → Code Completion → General Settings
reasoning_content such as DeepSeek, Qwen, LM Studio, OpenRouter)Chat and Quick Refactor can call tools to inspect and modify your project. Each tool can be individually enabled/disabled in settings.
| Tool | What it does |
|---|---|
list_project_files | List files in the active project(s) |
find_file | Find a file by name or partial path |
read_file | Read file contents (project or absolute path) |
search_project | Grep / symbol search across project sources |
create_new_file | Create a new empty file on disk |
edit_file | Replace content in a file (old → new) |
build_project | Build the active project and return compiler output |
get_issues_list | Read current linter / compiler diagnostics |
execute_terminal_command | Run a shell command (with confirmation) |
todo_tool | Track multi-step task progress during a conversation |
Agent Skills package specialized instructions and workflows into reusable folders the AI loads on demand. QodeAssist implements the open Agent Skills format, so skills authored for Claude Code, Cursor, or other agents work as-is.
A skill is a folder containing a SKILL.md file — YAML frontmatter (name, description) plus Markdown instructions:
my-skill/
└── SKILL.md
---
name: my-skill
description: What the skill does and when to use it.
---
# My Skill
Step-by-step instructions for the task...
Where skills are discovered:
.qodeassist/skills/ and .claude/skills/), configured in Projects → QodeAssist → Skills. Project skills win over global ones on a name collision.~/.claude/skills/), configured in Tools → Options → QodeAssist → Skills.Both settings pages show the list of currently discovered skills.
How skills are used in Chat:
load_skill tool (requires a tool-calling model)./ in the chat input and pick a skill from the popup; its instructions are injected into that one message. Works with any model.metadata: always-on: "true" is injected into every chat request automatically.Enable or disable the whole feature in Tools → Options → QodeAssist → Skills.
QodeAssist can run an MCP (Model Context Protocol) server on localhost, exposing the tools above to external clients — so you can use QodeAssist's project awareness from Claude Code CLI, VS Code, Cursor, Claude Desktop, or any other MCP-capable client.
Tools → Options → QodeAssist → MCP ServerQodeAssist can also act as an MCP client, connecting to external MCP servers and making their tools available to Chat and Quick Refactor alongside the built-in ones.
Tools → Options → QodeAssist → MCP ClientQodeAssist uses a flexible prompt composition system that adapts to different contexts. Here's how prompts are constructed for each feature:
┌─────────────────────────────────────────────────────────────────────────────┐
│ CODE COMPLETION (FIM Models) │
├─────────────────────────────────────────────────────────────────────────────┤
│ Examples: Codestral, Qwen2.5-Coder, DeepSeek-Coder │
│ │
│ 1. System Prompt (from Code Completion Settings - FIM variant) │
│ 2. Open Files Context (optional, if enabled): │
│ └─ Currently open editor files │
│ 3. Code Context: │
│ ├─ Code before cursor (prefix) │
│ └─ Code after cursor (suffix) │
│ │
│ Final Prompt: FIM_Template(Prefix: SystemPrompt + OpenFiles + │
│ CodeBefore, │
│ Suffix: CodeAfter) │
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────────┐
│ CODE COMPLETION (Non-FIM/Chat Models) │
├─────────────────────────────────────────────────────────────────────────────┤
│ Examples: DeepSeek-Coder-Instruct, Qwen2.5-Coder-Instruct │
│ │
│ 1. System Prompt (from Code Completion Settings - Non-FIM variant) │
│ └─ Includes response formatting instructions │
│ 2. Open Files Context (optional, if enabled): │
│ └─ Currently open editor files │
│ 3. Code Context: │
│ ├─ File information (language, path) │
│ ├─ Code before cursor │
│ ├─ <cursor> marker │
│ └─ Code after cursor │
│ 4. User Message: "Complete the code at cursor position" │
│ │
│ Final Prompt: [System: SystemPrompt] │
│ [User: OpenFiles + Context + CompletionRequest] │
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────────┐
│ CHAT ASSISTANT │
├─────────────────────────────────────────────────────────────────────────────┤
│ 1. System Prompt (from Chat Assistant Settings) │
│ 2. Project Info (active project name, source root, build directory) │
│ 3. Skills (always-on bodies + catalog + /invoked skills) │
│ 4. File Context (optional): │
│ └─ Attached files (manual) │
│ 5. Tool Definitions (if enabled): │
│ ├─ ReadProjectFileByName │
│ ├─ ListProjectFiles │
│ ├─ SearchInProject │
│ └─ GetIssuesList │
│ 6. Conversation History │
│ 7. User Message │
│ │
│ Final Prompt: [System: SystemPrompt + ProjectInfo + Skills + Tools] │
│ [History: Previous messages] │
│ [User: FileContext + UserMessage] │
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────────┐
│ QUICK REFACTORING │
├─────────────────────────────────────────────────────────────────────────────┤
│ 1. System Prompt (from Quick Refactor Settings) │
│ 2. Code Context: │
│ ├─ File information (language, path) │
│ ├─ Code before selection (configurable amount) │
│ ├─ <selection_start> marker │
│ ├─ Selected code (or current line) │
│ ├─ <selection_end> marker │
│ ├─ <cursor> marker (position within selection) │
│ └─ Code after selection (configurable amount) │
│ 3. Refactor Instruction: │
│ ├─ Built-in (e.g., "Improve Code", "Alternative Solution") │
│ ├─ Custom Instruction (from library) │
│ │ └─ ~/.config/QtProject/qtcreator/qodeassist/ │
│ │ quick_refactor/instructions/*.json │
│ └─ Additional Details (optional user input) │
│ 4. Tool Definitions (if enabled) │
│ │
│ Final Prompt: [System: SystemPrompt] │
│ [User: Context + Markers + Instruction + Details] │
└─────────────────────────────────────────────────────────────────────────────┘
/skill-nameSee the Quick Refactoring Guide for more details.
| Qt Creator Version | QodeAssist Version |
|---|---|
| 17.0.0+ | 0.6.0 - 0.x.x |
| 16.0.2 | 0.5.13 - 0.9.6 |
| 16.0.1 | 0.5.7 - 0.5.13 |
| 16.0.0 | 0.5.2 - 0.5.6 |
| 15.0.1 | 0.4.8 - 0.5.1 |
| 15.0.0 | 0.4.0 - 0.4.7 |
| 14.0.2 | 0.2.3 - 0.3.x |
| 14.0.1 | ≤ 0.2.2 |
All hotkeys can be customized in Qt Creator Settings. Default hotkeys:
| Action | macOS | Windows/Linux |
|---|---|---|
| Open chat window | ⌥⌘W | Ctrl+Alt+W |
| Close chat window | ⌥⌘S | Ctrl+Alt+S |
| Manual code suggestion | ⌥⌘Q | Ctrl+Alt+Q |
| Accept full suggestion | Tab | Tab |
| Accept word | ⌥→ | Alt+→ |
| Quick refactor | ⌥⌘R | Ctrl+Alt+R |
Having issues with QodeAssist? Check our detailed troubleshooting guide for:
/skill commands, always-on, load_skill tool)Every contribution, no matter how small, is greatly appreciated and helps keep the project alive!
mkdir build && cd build
cmake -DCMAKE_PREFIX_PATH=<path_to_qtcreator> -DCMAKE_BUILD_TYPE=RelWithDebInfo <path_to_plugin_source>
cmake --build .
Path specifications:
<path_to_qtcreator>:
Qt Creator.app/Contents/Resources/<path_to_plugin_source>: Path to this plugin directory.clang-format configuration in the project rootFor detailed development guidelines, architecture patterns, and best practices, see the project workspace rules.
QodeAssist is licensed under the GNU General Public License v3.0
(see LICENSE), with additional attribution terms under
GPLv3 Section 7(b).
You are free to use, modify, and redistribute QodeAssist under GPL-3.0,
but you must preserve the original author attribution, copyright
notices, and project identification — including in source file headers,
the plugin metadata (QodeAssist.json.in), and the About dialog or
equivalent user-facing identification. Modified versions must be clearly
marked as different from the original.
QodeAssist is also available under a separate commercial license for use in proprietary or closed-source products without GPL-3.0 obligations. For commercial licensing inquiries, contact palm1r-github-dev@pm.me.
QodeAssist is a plugin for Qt Creator and incorporates certain components (plugin templates, API headers, and related boilerplate) originating from Qt Creator, which are copyright (C) The Qt Company Ltd.
These components are provided by The Qt Company under the GNU General Public License version 3, annotated with The Qt Company GPL Exception 1.0. This exception permits the development and distribution of Qt Creator plugins under licenses of the plugin author's own choosing, notwithstanding the GPL's general linking requirements. It is this exception that allows QodeAssist to be offered under both GPL-3.0 and a separate commercial license.
The original copyright and license notices of The Qt Company are preserved in the relevant source files and must not be removed.
For Qt Creator's licensing terms, see LICENSE.GPL3-EXCEPT.
C++
90.1%
QML
8.7%
CMake
1.1%