Skip to content

Commit ae2a7ce

Browse files
committed
Initial release: Helix AI Code Editor v1.0.0
Full-featured AI-powered desktop code editor built with Electron, React, Monaco Editor, and xterm.js. Supports Gemini, Groq, and OpenRouter. Includes inline completions, AI chat, diff view, file explorer, integrated terminal, git integration, and extensions panel.
0 parents  commit ae2a7ce

51 files changed

Lines changed: 18714 additions & 0 deletions

Some content is hidden

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

.env.example

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Copy this to .env and add your keys
2+
# Gemini: https://aistudio.google.com/apikey
3+
# Groq: https://console.groq.com/keys
4+
# OpenRouter: https://openrouter.ai/keys
5+
6+
VITE_GEMINI_API_KEY=your_gemini_api_key_here
7+
VITE_GROQ_API_KEY=your_groq_api_key_here
8+
VITE_OPENROUTER_API_KEY=your_openrouter_api_key_here
9+
VITE_APP_VERSION=1.0.0

.github/workflows/build.yml

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
name: Build and Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: write
11+
12+
jobs:
13+
build:
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
os: [windows-latest, macos-latest, ubuntu-latest]
18+
include:
19+
- os: windows-latest
20+
artifact_name: windows
21+
- os: macos-latest
22+
artifact_name: macos
23+
- os: ubuntu-latest
24+
artifact_name: linux
25+
26+
runs-on: ${{ matrix.os }}
27+
28+
steps:
29+
- name: Checkout
30+
uses: actions/checkout@v4
31+
32+
- name: Setup Node.js
33+
uses: actions/setup-node@v4
34+
with:
35+
node-version: '20'
36+
cache: 'npm'
37+
38+
- name: Install dependencies
39+
run: npm ci
40+
41+
- name: Install Python (for node-gyp)
42+
uses: actions/setup-python@v5
43+
with:
44+
python-version: '3.11'
45+
46+
- name: Rebuild native modules (node-pty)
47+
run: npm run rebuild
48+
49+
- name: Build Vite renderer
50+
run: npm run build
51+
52+
- name: Package — Windows
53+
if: matrix.os == 'windows-latest'
54+
run: npx electron-builder --win --x64
55+
env:
56+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
57+
58+
- name: Package — macOS
59+
if: matrix.os == 'macos-latest'
60+
run: npx electron-builder --mac --x64 --arm64
61+
env:
62+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
63+
CSC_IDENTITY_AUTO_DISCOVERY: false
64+
65+
- name: Package — Linux
66+
if: matrix.os == 'ubuntu-latest'
67+
run: npx electron-builder --linux --x64
68+
env:
69+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
70+
71+
- name: Upload artifacts
72+
uses: actions/upload-artifact@v4
73+
with:
74+
name: helix-${{ matrix.artifact_name }}
75+
path: |
76+
release/*.exe
77+
release/*.dmg
78+
release/*.AppImage
79+
release/*.deb
80+
release/*.zip
81+
if-no-files-found: warn
82+
retention-days: 7
83+
84+
release:
85+
needs: build
86+
runs-on: ubuntu-latest
87+
if: startsWith(github.ref, 'refs/tags/')
88+
89+
steps:
90+
- name: Checkout
91+
uses: actions/checkout@v4
92+
93+
- name: Download all artifacts
94+
uses: actions/download-artifact@v4
95+
with:
96+
path: artifacts
97+
98+
- name: List artifacts
99+
run: find artifacts -type f | sort
100+
101+
- name: Create GitHub Release
102+
uses: softprops/action-gh-release@v2
103+
with:
104+
name: Helix ${{ github.ref_name }}
105+
draft: false
106+
prerelease: false
107+
generate_release_notes: true
108+
body: |
109+
## Helix ${{ github.ref_name }} — AI Code Editor
110+
111+
> A Cursor-inspired AI-powered code editor built with Electron + Monaco + Gemini 2.0 Flash.
112+
113+
### Download
114+
115+
| Platform | File |
116+
|----------|------|
117+
| **Windows** | `Helix-Setup-*.exe` (NSIS installer) |
118+
| **macOS** | `Helix-*.dmg` (universal: Intel + Apple Silicon) |
119+
| **Linux** | `Helix-*.AppImage` (portable) |
120+
121+
### First Launch
122+
123+
You'll be prompted to enter a **Gemini API key** — get one free at [aistudio.google.com/apikey](https://aistudio.google.com/apikey).
124+
125+
### What's New
126+
127+
See the full changelog in the commits above.
128+
files: |
129+
artifacts/**/*.exe
130+
artifacts/**/*.dmg
131+
artifacts/**/*.AppImage
132+
artifacts/**/*.deb
133+
artifacts/**/*.zip
134+
env:
135+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Dependencies
2+
node_modules/
3+
4+
# Build outputs
5+
dist/
6+
release/
7+
build/
8+
out/
9+
10+
# Environment — NEVER commit real API keys
11+
.env
12+
.env.local
13+
.env.*.local
14+
15+
# OS
16+
.DS_Store
17+
Thumbs.db
18+
desktop.ini
19+
20+
# Logs
21+
*.log
22+
npm-debug.log*
23+
24+
# Cache
25+
.npm/
26+
.eslintcache
27+
.local/
28+
.pytest_cache/
29+
30+
# Electron builder
31+
electron-builder-cache/
32+
assets/icon_*.png
33+
34+
# Native modules
35+
*.node

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 pun33th45
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
# Helix — AI Code Editor
2+
3+
<p align="center">
4+
<img src="assets/icon.svg" width="96" height="96" alt="Helix logo" />
5+
</p>
6+
7+
<p align="center">
8+
A Cursor-inspired, AI-powered code editor built with Electron, Monaco Editor, and Google Gemini 2.0 Flash.
9+
</p>
10+
11+
<p align="center">
12+
<a href="https://github.com/pun33th45/helix/releases/latest">
13+
<img src="https://img.shields.io/github/v/release/pun33th45/helix?style=flat-square&color=7B5EFF" alt="Latest Release" />
14+
</a>
15+
<img src="https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-blue?style=flat-square" alt="Platforms" />
16+
<img src="https://img.shields.io/badge/AI-Gemini%202.0%20Flash-orange?style=flat-square" alt="Gemini 2.0 Flash" />
17+
<img src="https://img.shields.io/badge/editor-Monaco-blue?style=flat-square" alt="Monaco Editor" />
18+
</p>
19+
20+
---
21+
22+
## Download
23+
24+
| Platform | Installer |
25+
|----------|-----------|
26+
| **Windows** | [Helix-Setup-x.x.x.exe](https://github.com/pun33th45/helix/releases/latest) |
27+
| **macOS** | [Helix-x.x.x.dmg](https://github.com/pun33th45/helix/releases/latest) (Intel + Apple Silicon) |
28+
| **Linux** | [Helix-x.x.x.AppImage](https://github.com/pun33th45/helix/releases/latest) |
29+
30+
> **First launch:** You'll be asked for a Gemini API key. Get one free at [aistudio.google.com/apikey](https://aistudio.google.com/apikey).
31+
32+
---
33+
34+
## Features
35+
36+
- **Monaco Editor** — Full VS Code editor engine with syntax highlighting for 50+ languages
37+
- **AI Chat Panel** — Conversational AI powered by Gemini 2.0 Flash with streaming responses
38+
- **Inline AI Completions** — Ghost-text completions as you type (like Copilot)
39+
- **File Explorer** — Browse, open, create, rename, and delete files and folders
40+
- **Integrated Terminal** — Real PTY terminal via node-pty with multiple tabs
41+
- **Git Integration** — View diffs, stage files, commit, and see branch status
42+
- **Diff Editor** — Side-by-side diff view when AI suggests code changes
43+
- **Command Palette** — Fuzzy search for all commands and files (`Ctrl+Shift+P` / `Ctrl+P`)
44+
- **Resizable Panels** — Drag to resize sidebar, AI panel, and terminal
45+
- **Persistent Settings** — Font, theme, tab size, word wrap saved across sessions
46+
- **Multi-platform** — Windows, macOS (Intel + Apple Silicon), Linux
47+
48+
---
49+
50+
## Keyboard Shortcuts
51+
52+
| Shortcut | Action |
53+
|----------|--------|
54+
| `Ctrl+S` | Save file |
55+
| `Ctrl+P` | Quick open file |
56+
| `Ctrl+Shift+P` | Command palette |
57+
| `Ctrl+`` ` `` | Toggle terminal |
58+
| `Ctrl+B` | Toggle sidebar |
59+
| `Ctrl+L` | Toggle AI panel |
60+
| `Ctrl+W` | Close tab |
61+
| `Ctrl+Tab` | Next tab |
62+
| `Ctrl+Shift+Tab` | Previous tab |
63+
| `Ctrl+Shift+G` | Source control |
64+
| `Ctrl+Shift+E` | Explorer |
65+
| `Ctrl+H` | Find & Replace |
66+
| `Shift+Alt+F` | Format document |
67+
| `Alt+Z` | Toggle word wrap |
68+
| `Ctrl+,` | Open settings |
69+
70+
---
71+
72+
## Tech Stack
73+
74+
| Layer | Technology |
75+
|-------|-----------|
76+
| Shell | Electron 28 |
77+
| Renderer | React 18 + Vite 5 |
78+
| Editor | Monaco Editor (VS Code engine) |
79+
| State | Zustand 4 |
80+
| AI | Google Gemini 2.0 Flash (`@google/generative-ai`) |
81+
| Terminal | xterm.js v5 + node-pty |
82+
| Git | simple-git |
83+
| Persistence | electron-store |
84+
| Packaging | electron-builder (NSIS / DMG / AppImage) |
85+
86+
---
87+
88+
## Building from Source
89+
90+
### Prerequisites
91+
92+
- Node.js 20+
93+
- Python 3.11+ (for node-pty native build)
94+
- Windows: Visual Studio Build Tools with "Desktop development with C++"
95+
- macOS: Xcode Command Line Tools (`xcode-select --install`)
96+
- Linux: `build-essential`, `libx11-dev`
97+
98+
### Steps
99+
100+
```bash
101+
# Clone the repo
102+
git clone https://github.com/pun33th45/helix.git
103+
cd helix
104+
105+
# Install dependencies and rebuild native modules
106+
npm install
107+
npm run rebuild # rebuilds node-pty for your Electron version
108+
109+
# Generate app icons (requires sharp)
110+
npm run icons
111+
112+
# Development mode
113+
npm run dev # starts Vite + Electron in watch mode
114+
115+
# Production build
116+
npm run dist # packages for your current platform
117+
```
118+
119+
### Environment
120+
121+
Create a `.env` file for development (never commit this):
122+
123+
```
124+
VITE_GEMINI_API_KEY=your_key_here
125+
```
126+
127+
---
128+
129+
## Project Structure
130+
131+
```
132+
helix/
133+
├── electron/
134+
│ ├── main.js # Electron main process
135+
│ └── preload.js # Context bridge (IPC API surface)
136+
├── src/
137+
│ ├── components/
138+
│ │ ├── ActivityBar/
139+
│ │ ├── AIPanel/ # AI chat, streaming, model picker
140+
│ │ ├── CommandPalette/
141+
│ │ ├── Editor/ # Monaco + diff editor + inline completions
142+
│ │ ├── Onboarding/ # First-launch API key modal
143+
│ │ ├── Settings/
144+
│ │ ├── Sidebar/ # File tree + Git panel
145+
│ │ ├── StatusBar/
146+
│ │ └── Terminal/ # xterm.js multi-tab terminal
147+
│ ├── hooks/
148+
│ │ └── useKeyBindings.js
149+
│ └── store/
150+
│ ├── aiStore.js
151+
│ ├── editorStore.js
152+
│ └── uiStore.js
153+
├── scripts/
154+
│ ├── generate-icons.js
155+
│ └── create-ico.js
156+
├── assets/
157+
│ ├── icon.svg
158+
│ ├── icon.ico # generated
159+
│ └── icon_*.png # generated
160+
├── electron-builder.json
161+
└── vite.config.js
162+
```
163+
164+
---
165+
166+
## Author
167+
168+
Built by [@pun33th45](https://github.com/pun33th45)
169+
170+
---
171+
172+
## License
173+
174+
MIT — see [LICENSE](LICENSE) for details.

assets/icon.ico

19.3 KB
Binary file not shown.

assets/icon.png

15.6 KB
Loading

0 commit comments

Comments
 (0)