Skip to content

Commit 0089ffb

Browse files
committed
Merge branch 'main' into fix/multi-select-not-precise-checkbox
# Conflicts: # CHANGELOG.md
2 parents 060e5ef + 550ea5c commit 0089ffb

119 files changed

Lines changed: 22096 additions & 180 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/deploy-docs.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
name: Deploy docs site to GitHub Pages
22

33
on:
4+
push:
5+
paths:
6+
- 'docs-site/**'
7+
pull_request:
8+
paths:
9+
- 'docs-site/**'
410
workflow_dispatch:
511

612
permissions:
@@ -46,6 +52,7 @@ jobs:
4652
url: ${{ steps.deployment.outputs.page_url }}
4753
runs-on: ubuntu-latest
4854
needs: build
55+
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
4956
steps:
5057
- name: Deploy to GitHub Pages
5158
id: deployment

.github/workflows/release.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,71 @@ jobs:
115115
with:
116116
name: latest-mac-arm64-yml
117117
path: dist/latest-mac.yml
118+
119+
combine-macos-yml:
120+
name: Combine macOS yml files
121+
runs-on: ubuntu-latest
122+
needs: [release-macos-x64, release-macos-arm64]
123+
124+
steps:
125+
- uses: "actions/checkout@v1"
126+
127+
- uses: "actions/setup-node@v4"
128+
with:
129+
node-version: '22.17.0'
130+
131+
- name: Download x64 yml artifact
132+
uses: actions/download-artifact@v4
133+
with:
134+
name: latest-mac-x64-yml
135+
path: artifacts/x64/
136+
137+
- name: Download arm64 yml artifact
138+
uses: actions/download-artifact@v4
139+
with:
140+
name: latest-mac-arm64-yml
141+
path: artifacts/arm64/
142+
143+
- name: Combine yml files
144+
run: |
145+
cat > combine-yml.js << 'EOF'
146+
const fs = require('fs');
147+
const yaml = require('js-yaml');
148+
149+
// Read both yml files
150+
const x64Content = fs.readFileSync('artifacts/x64/latest-mac.yml', 'utf8');
151+
const arm64Content = fs.readFileSync('artifacts/arm64/latest-mac.yml', 'utf8');
152+
153+
// Parse yml content
154+
const x64Data = yaml.load(x64Content);
155+
const arm64Data = yaml.load(arm64Content);
156+
157+
// Combine files arrays
158+
const combinedData = {
159+
...arm64Data,
160+
files: [...x64Data.files, ...arm64Data.files]
161+
};
162+
163+
// Write combined yml
164+
fs.writeFileSync('latest-mac.yml', yaml.dump(combinedData));
165+
console.log('Combined yml file created successfully');
166+
EOF
167+
168+
npm install js-yaml
169+
node combine-yml.js
170+
171+
- name: Find draft release tag
172+
id: find-release
173+
env:
174+
GH_TOKEN: ${{ secrets.GH_TOKEN }}
175+
run: |
176+
# Get the draft release tag
177+
RELEASE_TAG=$(gh release list --limit 1 --json tagName,isDraft --jq '.[] | select(.isDraft == true) | .tagName')
178+
echo "release_tag=$RELEASE_TAG" >> $GITHUB_OUTPUT
179+
180+
- name: Upload combined yml to release
181+
env:
182+
GH_TOKEN: ${{ secrets.GH_TOKEN }}
183+
run: |
184+
# Upload the combined latest-mac.yml to the GitHub release
185+
gh release upload ${{ steps.find-release.outputs.release_tag }} latest-mac.yml --clobber

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,3 @@ start-docker.sh
3333
.claude-trace
3434
repomix-output.txt
3535

36-
docs-site

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@
33
## [UNRELEASED]
44

55
- parsing <think> tags as reasoning part of the response
6-
- fixed multiselect checkboxes
6+
- fixed unnecessary reload of component during onboarding process
77
- implemented better support for themes + new themes added
8+
- implemented support for fonts + new fonts added
9+
- added keyboard shortcuts to toggle TODO list (Alt+T), Include context files (Alt+F), Include repository map (Alt+R), and Auto-approve (Alt+Y)
10+
- updated application main menu and included Settings
11+
- fixed multiselect checkboxes
812

913
## [0.26.0]
1014

README.md

Lines changed: 56 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@
66

77
**Elevate your development workflow with AiderDesk**, a sophisticated desktop application bringing all the power of [aider](https://aider.chat) into a user-friendly graphical interface. Whether you're managing multiple projects, integrating with your favorite IDE, or tracking costs, AiderDesk elevates your productivity to new heights.
88

9+
[📖 Documentation](https://aiderdesk.hotovo.com/docs)
10+
911
## 🎬 Overview
1012

1113
See AiderDesk in action:
1214

1315
<div align="center">
14-
<a href="https://www.youtube.com/watch?v=9oyIdntCh7g">
16+
<a href="https://www.youtube.com/watch?v=g4qg7xTjxcM">
1517
<img src="https://img.youtube.com/vi/9oyIdntCh7g/0.jpg" alt="AiderDesk Overview Video" width=400>
1618
</a>
1719
</div>
@@ -20,28 +22,29 @@ See AiderDesk in action:
2022

2123
AiderDesk is packed with features designed for modern software development:
2224

23-
* **🖥️ Intuitive GUI**: A clean, visual interface replacing command-line interactions.
24-
* **📂 Multi-Project Management**: Seamlessly organize, switch between, and manage multiple codebases.
25-
* **🔌 Effortless IDE Integration**: Automatically sync context files with your active editor in:
26-
* IntelliJ IDEA ([Plugin](https://plugins.jetbrains.com/plugin/26313-aiderdesk-connector) | [GitHub](https://github.com/hotovo/aider-desk-connector-intellij-plugin))
27-
* VSCode ([Extension](https://marketplace.visualstudio.com/items?itemName=hotovo-sk.aider-desk-connector) | [GitHub](https://github.com/hotovo/aider-desk-connector-vscode-extension))
28-
* **🤖 Powerful Agent Mode**: Utilize an autonomous AI agent (powered by Vercel AI SDK) capable of complex task planning and execution using various tools.
29-
* **🧩 Extensible via MCP**: Connect to Model Context Protocol (MCP) servers to grant the Agent access to external tools like web search, documentation lookups, and more.
30-
* **✍️ Custom Commands**: Define and execute your own commands to automate tasks and extend AiderDesk's capabilities. [Learn more](docs/custom-commands.md)
31-
* **📄 Smart Context Management**: Automatically manage context via IDE plugins or manually control context using the integrated project file browser.
32-
* **💾 Robust Session Management**: Save and load entire work sessions (chat history, context files) to easily switch between tasks or resume later.
33-
* **🔄 Flexible Model Switching**: Change AI models on the fly while retaining your conversation and context.
34-
* **💬 Multiple Chat Modes**: Tailor the AI interaction for different needs (e.g., coding, asking questions).
35-
* **🔍 Integrated Diff Viewer**: Review AI-generated code changes with a clear side-by-side comparison.
36-
* **⏪ One-Click Reverts**: Easily undo specific AI modifications while keeping others.
37-
* **💰 Cost Tracking**: Monitor token usage and associated costs per project session for both Aider and the Agent.
38-
* **📊 Usage Dashboard**: Visualize token usage, costs, and model distribution with interactive charts and tables.
39-
* **⚙️ Centralized Settings**: Manage API keys, environment variables, and configurations conveniently.
40-
* **🌐 Versatile REST API**: Integrate AiderDesk with external tools and workflows.
41-
* **📨 Structured Communication**: View prompts, AI responses, agent thoughts, and tool outputs in an organized format.
42-
* **📋 Easy Sharing**: Copy code snippets or entire conversations effortlessly.
25+
* **🖥️ Intuitive GUI**: A clean, visual interface replacing command-line interactions.
26+
* **📂 Multi-Project Management**: Seamlessly organize, switch between, and manage multiple codebases.
27+
* **🔌 Effortless IDE Integration**: Automatically sync context files with your active editor in:
28+
* IntelliJ IDEA ([Plugin](https://plugins.jetbrains.com/plugin/26313-aiderdesk-connector) | [GitHub](https://github.com/hotovo/aider-desk-connector-intellij-plugin))
29+
* VSCode ([Extension](https://marketplace.visualstudio.com/items?itemName=hotovo-sk.aider-desk-connector) | [GitHub](https://github.com/hotovo/aider-desk-connector-vscode-extension))
30+
* **🤖 Powerful Agent Mode**: Utilize an autonomous AI agent (powered by Vercel AI SDK) capable of complex task planning and execution using various tools.
31+
* **🧩 Extensible via MCP**: Connect to Model Context Protocol (MCP) servers to grant the Agent access to external tools like web search, documentation lookups, and more.
32+
* **✍️ Custom Commands**: Define and execute your own commands to automate tasks and extend AiderDesk's capabilities. [Learn more](https://aiderdesk.hotovo.com/docs/core-features/custom-commands)
33+
* **📄 Smart Context Management**: Automatically manage context via IDE plugins or manually control context using the integrated project file browser.
34+
* **💾 Robust Session Management**: Save and load entire work sessions (chat history, context files) to easily switch between tasks or resume later.
35+
* **🔄 Flexible Model Switching**: Change AI models on the fly while retaining your conversation and context.
36+
* **💬 Multiple Chat Modes**: Tailor the AI interaction for different needs (e.g., coding, asking questions).
37+
* **🔍 Integrated Diff Viewer**: Review AI-generated code changes with a clear side-by-side comparison.
38+
* **⏪ One-Click Reverts**: Easily undo specific AI modifications while keeping others.
39+
* **💰 Cost Tracking**: Monitor token usage and associated costs per project session for both Aider and the Agent.
40+
* **📊 Usage Dashboard**: Visualize token usage, costs, and model distribution with interactive charts and tables.
41+
* **⚙️ Centralized Settings**: Manage API keys, environment variables, and configurations conveniently.
42+
* **🌐 Versatile REST API**: Integrate AiderDesk with external tools and workflows.
43+
* **📨 Structured Communication**: View prompts, AI responses, agent thoughts, and tool outputs in an organized format.
44+
* **📋 Easy Sharing**: Copy code snippets or entire conversations effortlessly.
4345

4446
---
47+
4548
### 📄 Comprehensive Context File Management
4649

4750
Keep the AI focused on the relevant code with flexible context management options.
@@ -52,10 +55,11 @@ Keep the AI focused on the relevant code with flexible context management option
5255
</a>
5356
</div>
5457

55-
1. **Automatic IDE Sync**: Use the IntelliJ IDEA or VSCode plugins to automatically add/remove the currently active file(s) in your editor to/from the AiderDesk context.
56-
2. **Manual Control**: Utilize the "Context Files" sidebar in AiderDesk, which displays your project's file tree. Click files to manually add or remove them from the context, giving you precise control.
58+
1. **Automatic IDE Sync**: Use the IntelliJ IDEA or VSCode plugins to automatically add/remove the currently active file(s) in your editor to/from the AiderDesk context.
59+
2. **Manual Control**: Utilize the "Context Files" sidebar in AiderDesk, which displays your project's file tree. Click files to manually add or remove them from the context, giving you precise control.
5760

5861
---
62+
5963
### 💾 Session Management
6064

6165
Never lose your work. Save and load complete sessions, including chat history and context files, per project.
@@ -71,6 +75,7 @@ Never lose your work. Save and load complete sessions, including chat history an
7175
- **Manage Multiple Tasks**: Easily switch between different features, bug fixes, or experiments within the same project.
7276

7377
---
78+
7479
### 🤖 Agent Mode & MCP Support
7580

7681
Unlock advanced AI capabilities with AiderDesk's Agent mode. Built on the Vercel AI SDK, the agent can autonomously plan and execute complex tasks by leveraging a customizable set of tools.
@@ -82,6 +87,7 @@ Unlock advanced AI capabilities with AiderDesk's Agent mode. Built on the Vercel
8287
</div>
8388

8489
#### Agent Capabilities:
90+
8591
- **Tool-Driven**: Functionality is defined by connected tools (MCP servers + built-in Aider interaction).
8692
- **Autonomous Planning**: Breaks down complex requests into executable steps using available tools.
8793
- **Seamless Aider Integration**: Uses Aider for core coding tasks like generation and modification.
@@ -90,7 +96,7 @@ Unlock advanced AI capabilities with AiderDesk's Agent mode. Built on the Vercel
9096

9197
#### 🛠️ Extending Capabilities with MCP
9298

93-
Connect AiderDesk to [Model Context Protocol](https://github.com/model-context-protocol/mcp) (MCP) servers to significantly enhance the Agent's abilities. MCP allows AI models to interact with external tools (web browsers, documentation systems, custom utilities).
99+
Connect AiderDesk to [Model Context Protocol](https://modelcontextprotocol.io/docs/getting-started/intro) (MCP) servers to significantly enhance the Agent's abilities. MCP allows AI models to interact with external tools (web browsers, documentation systems, custom utilities).
94100

95101
- **Access External Tools**: Grant the agent capabilities beyond built-in functions.
96102
- **Gather Richer Context**: Enable the agent to fetch external information before instructing Aider.
@@ -99,6 +105,7 @@ Connect AiderDesk to [Model Context Protocol](https://github.com/model-context-p
99105
AiderDesk is compatible with any MCP server, allowing you to tailor the agent's toolset precisely to your needs.
100106

101107
---
108+
102109
### 🌐 REST API
103110

104111
AiderDesk provides a REST API for external tools to interact with the application. The API is running on the same port as the main application (default 24337, configurable by `AIDER_DESK_PORT` environment variable).
@@ -126,7 +133,9 @@ AiderDesk provides a REST API for external tools to interact with the applicatio
126133
}
127134
]
128135
```
136+
129137
Returns the list of context files in the project.
138+
130139
</details>
131140

132141
#### Drop Context File
@@ -146,7 +155,9 @@ AiderDesk provides a REST API for external tools to interact with the applicatio
146155
```json
147156
[]
148157
```
158+
149159
Returns the list of context files in the project.
160+
150161
</details>
151162

152163
#### Get Context Files
@@ -170,7 +181,9 @@ AiderDesk provides a REST API for external tools to interact with the applicatio
170181
}
171182
]
172183
```
184+
173185
Returns the list of context files in the project.
186+
174187
</details>
175188

176189
#### Get Addable Files
@@ -194,7 +207,9 @@ AiderDesk provides a REST API for external tools to interact with the applicatio
194207
}
195208
]
196209
```
210+
197211
Returns the list of files that can be added to the project.
212+
198213
</details>
199214

200215
#### Run Prompt
@@ -234,9 +249,11 @@ AiderDesk provides a REST API for external tools to interact with the applicatio
234249
}
235250
]
236251
```
252+
237253
</details>
238254

239255
---
256+
240257
### 🔌 AiderDesk as an MCP Server
241258

242259
AiderDesk includes a built-in MCP server, allowing other MCP-compatible clients (like Claude Desktop, Cursor, etc.) to interact with AiderDesk's core functionalities.
@@ -263,6 +280,7 @@ Add the following configuration to your MCP client settings, adjusting paths as
263280
```
264281

265282
**Note:** Replace `path-to-appdata` with the absolute path to your AppData directory. You can find this value by running `echo %APPDATA%` in your command prompt.
283+
266284
</details>
267285

268286
<details>
@@ -283,6 +301,7 @@ Add the following configuration to your MCP client settings, adjusting paths as
283301
```
284302

285303
**Note:** Replace `/path/to/home` with the absolute path to your home directory. You can find this value by running `echo $HOME` in your terminal.
304+
286305
</details>
287306

288307
<details>
@@ -303,15 +322,18 @@ Add the following configuration to your MCP client settings, adjusting paths as
303322
```
304323

305324
**Note:** Replace `/path/to/home` with the absolute path to your home directory. You can find this value by running `echo $HOME` in your terminal.
325+
306326
</details>
307327

308328
**Arguments & Environment:**
329+
309330
- **Command Argument 1:** Project directory path (required).
310331
- **`AIDER_DESK_API_BASE_URL`:** Base URL of the running AiderDesk API (default: `http://localhost:24337/api`).
311332

312333
#### Available Tools via MCP
313334

314335
The built-in server exposes these tools to MCP clients:
336+
315337
- `add_context_file`: Add a file to AiderDesk's context.
316338
- `drop_context_file`: Remove a file from AiderDesk's context.
317339
- `get_context_files`: List files currently in AiderDesk's context.
@@ -325,36 +347,44 @@ The built-in server exposes these tools to MCP clients:
325347
## 📥 Installation
326348

327349
### Quick Start
350+
328351
1. Download the latest release for your OS from [Releases](https://github.com/hotovo/aider-desk/releases).
329352
2. Run the executable.
330353

331354
### Troubleshooting
332355

333356
#### Disabling Auto Updates
357+
334358
To prevent automatic updates, set the `AIDER_DESK_NO_AUTO_UPDATE` environment variable:
359+
335360
- **macOS/Linux:** `export AIDER_DESK_NO_AUTO_UPDATE=true`
336361
- **Windows:** `$env:AIDER_DESK_NO_AUTO_UPDATE = "true"`
337362

338363
### Custom Aider Version
364+
339365
By default, AiderDesk installs the latest version of the `aider-chat` Python package. If you need to use a specific version of Aider, you can set the `AIDER_DESK_AIDER_VERSION` environment variable.
340366

341367
For example, to use Aider version 0.83.1:
368+
342369
```bash
343370
# macOS/Linux
344371
export AIDER_DESK_AIDER_VERSION=0.83.1
345372

346373
# Windows (PowerShell)
347374
$env:AIDER_DESK_AIDER_VERSION = "0.83.1"
348375
```
376+
349377
You can also specify a git URL for installing a development version of Aider:
378+
350379
```bash
351380
# macOS/Linux
352381
export AIDER_DESK_AIDER_VERSION=git+https://github.com/user/aider.git@branch-name
353382
```
354383

355-
This variable will be used during the initial setup and when AiderDesk checks for updates. For more detailed information, please refer to [docs/custom-aider-version.md](https://github.com/hotovo/aider-desk/blob/main/docs/custom-aider-version.md).
384+
This variable will be used during the initial setup and when AiderDesk checks for updates. For more detailed information, please refer to [our docs](https://aiderdesk.hotovo.com/docs/customization/custom-aider-version).
356385

357386
## 👨‍💻 Development Setup
387+
358388
If you want to run from source, you can follow these steps:
359389

360390
```bash
@@ -393,6 +423,7 @@ We welcome contributions from the community! Here's how you can help improve aid
393423
5. **Create a Pull Request** against the main branch of the original repository
394424

395425
Please follow these guidelines:
426+
396427
- Keep PRs focused on a single feature or bugfix
397428
- Update documentation when adding new features
398429
- Follow the existing code style and conventions

docs-site/.gitignore

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Dependencies
2+
node_modules
3+
4+
# Production
5+
build
6+
7+
# Generated files
8+
.docusaurus
9+
.cache-loader
10+
11+
# Misc
12+
.DS_Store
13+
.env.local
14+
.env.development.local
15+
.env.test.local
16+
.env.production.local
17+
18+
npm-debug.log*
19+
yarn-debug.log*
20+
yarn-error.log*

0 commit comments

Comments
 (0)