You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: update README with new features, CI/CD, and Linux support
Add resizable panels, file attachments, auto update check, graceful
shutdown to features. Update platform badge and download section for
Windows NSIS installer and Linux packages. Add CI/CD section with
tag-based auto-release workflow. Update project structure.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
-**💬 Conversational coding** -- Stream responses from Claude in real time with full Markdown rendering, syntax-highlighted code blocks, and tool-call visualization.
17
-
-**📂 Session management** -- Create, rename, archive, and resume chat sessions. Conversations are persisted locally in SQLite so nothing is lost between restarts.
18
-
-**🎯 Project-aware context** -- Pick a working directory per session. The right panel shows a live file tree and file previews so you always know what Claude is looking at.
19
-
-**🔒 Permission controls** -- Approve, deny, or auto-allow tool use on a per-action basis. Choose between permission modes to match your comfort level.
20
-
-**🎭 Multiple interaction modes** -- Switch between *Code*, *Plan*, and *Ask* modes to control how Claude behaves in each session.
21
-
-**🤖 Model selector** -- Switch between Claude models (Opus, Sonnet, Haiku) mid-conversation.
22
-
-**🔌 MCP server management** -- Add, configure, and remove Model Context Protocol servers directly from the Extensions page. Supports `stdio`, `sse`, and `http` transport types.
23
-
-**⚡ Custom skills** -- Define reusable prompt-based skills (global or per-project) that can be invoked as slash commands during chat.
24
-
-**⚙️ Settings editor** -- Visual and JSON editors for your `~/.claude/settings.json`, including permissions and environment variables.
25
-
-**📊 Token usage tracking** -- See input/output token counts and estimated cost after every assistant response.
26
-
-**🌗 Dark / Light theme** -- One-click theme toggle in the navigation rail.
27
-
-**⌨️ Slash commands** -- Built-in commands like `/help`, `/clear`, `/cost`, `/compact`, `/doctor`, `/review`, and more.
28
-
-**🖥️ Electron packaging** -- Ships as a native desktop app with a hidden title bar, bundled Next.js server, and automatic port allocation.
16
+
-**Conversational coding** -- Stream responses from Claude in real time with full Markdown rendering, syntax-highlighted code blocks, and tool-call visualization.
17
+
-**Session management** -- Create, rename, archive, and resume chat sessions. Conversations are persisted locally in SQLite so nothing is lost between restarts.
18
+
-**Project-aware context** -- Pick a working directory per session. The right panel shows a live file tree and file previews so you always know what Claude is looking at.
19
+
-**Resizable panels** -- Drag the edges of the chat list and right panel to adjust their width. Your preferred sizes are saved across sessions.
20
+
-**File & image attachments** -- Attach files and images directly in the chat input. Images are sent as multimodal vision content for Claude to analyze.
21
+
-**Permission controls** -- Approve, deny, or auto-allow tool use on a per-action basis. Choose between permission modes to match your comfort level.
22
+
-**Multiple interaction modes** -- Switch between *Code*, *Plan*, and *Ask* modes to control how Claude behaves in each session.
23
+
-**Model selector** -- Switch between Claude models (Opus, Sonnet, Haiku) mid-conversation.
24
+
-**MCP server management** -- Add, configure, and remove Model Context Protocol servers directly from the Extensions page. Supports `stdio`, `sse`, and `http` transport types.
25
+
-**Custom skills** -- Define reusable prompt-based skills (global or per-project) that can be invoked as slash commands during chat.
26
+
-**Settings editor** -- Visual and JSON editors for your `~/.claude/settings.json`, including permissions and environment variables.
27
+
-**Token usage tracking** -- See input/output token counts and estimated cost after every assistant response.
28
+
-**Auto update check** -- The app periodically checks for new releases and notifies you when an update is available.
29
+
-**Dark / Light theme** -- One-click theme toggle in the navigation rail.
30
+
-**Slash commands** -- Built-in commands like `/help`, `/clear`, `/cost`, `/compact`, `/doctor`, `/review`, and more.
31
+
-**Electron packaging** -- Ships as a native desktop app with a hidden title bar, bundled Next.js server, graceful shutdown, and automatic port allocation.
29
32
30
33
---
31
34
@@ -49,13 +52,13 @@
49
52
50
53
## Download
51
54
52
-
Pre-built releases are available on the [**Releases**](https://github.com/op7418/CodePilot/releases) page.
55
+
Pre-built releases are available on the [**Releases**](https://github.com/op7418/CodePilot/releases) page. Releases are built automatically via GitHub Actions for all platforms.
53
56
54
57
### Supported Platforms
55
58
56
-
-**macOS**: Universal binary (arm64 + x64) distributed as `.dmg`
57
-
-**Windows**: x64 distributed as `.zip`
58
-
-**Linux**: x64 and arm64 distributed as `.AppImage`, `.deb`, and `.rpm`
59
+
-**macOS** -- arm64 (Apple Silicon) and x64 (Intel) distributed as `.dmg`
npm run electron:pack:mac # macOS DMG (arm64 + x64)
212
+
npm run electron:pack:win # Windows NSIS installer
213
+
npm run electron:pack:linux # Linux AppImage, deb, rpm
207
214
```
208
215
216
+
### CI/CD
217
+
218
+
The project uses GitHub Actions for automated builds. Pushing a `v*` tag triggers a full multi-platform build and automatically creates a GitHub Release with all artifacts:
219
+
220
+
```bash
221
+
git tag v0.8.1
222
+
git push origin v0.8.1
223
+
# CI builds Windows + macOS + Linux, then publishes the release
224
+
```
225
+
226
+
You can also manually trigger builds for individual platforms from the Actions tab.
227
+
209
228
### Notes
210
229
211
230
- The Electron main process (`electron/main.ts`) forks the Next.js standalone server and connects to it over `127.0.0.1` with a random free port.
0 commit comments