A native Qt6 Arduino-compatible IDE for Linux. Rewritto-ide is a lightweight, Electron-free environment built with native Qt6 widgets for performance and system integration.
- Sketch Management: Create, open, save, rename sketches with multi-file support
- Code Editor: Syntax highlighting (C/C++), code folding, bracket matching, multi-cursor editing
- Build & Upload: Compile/Verify via arduino-cli, upload to boards, export compiled binary
- Boards Manager: Install/remove platforms and manage board configurations
- Library Manager: Search, install, and manage Arduino libraries
- Serial Monitor: Monitor serial port with configurable baud rate and line endings
- Serial Plotter: Graph serial data in real-time with multiple series support
- LSP Integration: Code completion, hover information, go-to-definition with clangd
- Debugger Support: GDB/MI2 integration with breakpoints, watches, and call stack
- Quick Open: Fuzzy file search across sketch and sketchbook
- Find in Files: Search across all files with context previews
- Session Restore: Automatically reopen last sketch with cursor positions
- Recent Sketches: Pin/unpin sketches with persistent history
- MCP Toolbar: Configure/start/stop an MCP stdio server from the context toolbar
- Themes: Dark/Light theme support with system integration
- Interface Scaling: Configurable UI scaling for HiDPI displays
- CMake >= 3.21
- GCC/G++ >= 11.0 (C++20 support)
- Qt6 >= 6.2.0 (qt6-base-dev, qt6-tools-dev)
- pkg-config
- Qt6 Runtime (Core, Widgets, Network)
- arduino-cli (auto-downloaded in AppImage)
- arduino-language-server (auto-downloaded in AppImage)
- clangd-18 (auto-downloaded in AppImage)
sudo apt update
sudo apt install -y cmake build-essential qt6-base-dev qt6-tools-dev pkg-configsudo pacman -S qt6-base qt6-tools cmake gcc makesudo dnf install qt6-qtbase qt6-qttools cmake gcc-c++ make# Clone the repository
git clone https://github.com/lolren/rewritto-ide.git
cd rewritto-ide/rewritto-core/qt-native-app
# Configure with CMake
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
# Build
cmake --build build -j$(nproc)
# Run
./build/rewritto-idecd rewritto-core/qt-native-app
# Build native executable first
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
# Build AppImage (downloads and bundles arduino-cli, language server, clangd)
chmod +x packaging/appimage/build-appimage.sh
./packaging/appimage/build-appimage.shThe AppImage will be created in dist/Rewritto-ide-x86_64.AppImage.
Three artifacts are published per release:
- Linux native tarball:
rewritto-ide-linux-x86_64-native.tar.gz - Linux AppImage:
Rewritto-ide-x86_64.AppImage - Windows native zip:
rewritto-ide-windows-x86_64.zip
Local release output folder:
rewritto-core/qt-native-app/dist
GitHub release workflow:
.github/workflows/release.yml
.\build-windows.ps1- Select your sketchbook location (default:
~/Rewritto-ide) - Install board packages via Tools > Board > Boards Manager
- Select your board from Tools > Board
- Select your port from Tools > Port
- Open a sketch or create a new one
- Ctrl+N: New Sketch
- Ctrl+O: Open Sketch
- Ctrl+S: Save
- Ctrl+Shift+S: Save As...
- Ctrl+P: Upload
- Ctrl+R: Verify/Compile
- Ctrl+Shift+F: Find in Files
- Ctrl+P: Quick Open
- BUILDING.md - Detailed build instructions
- FEATURE_PARITY_TODO.md - Feature parity roadmap
- docs/ - Additional documentation
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
This project is licensed under AGPL-3.0-or-later. See LICENSE.txt for details.
- Inspired by established Arduino-compatible desktop IDE workflows
- Uses Arduino CLI for build operations
- Uses arduino-language-server for code intelligence
- Built with Qt6
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Rewritto-ide - A native Qt6 Arduino-compatible IDE for Linux