v0.5.0: NomadArch - Binary-Free Mode Release
Some checks failed
Release Binaries / release (push) Has been cancelled

Features:
- Binary-Free Mode: No OpenCode binary required
- NomadArch Native mode with free Zen models
- Native session management
- Provider routing (Zen, Qwen, Z.AI)
- Fixed MCP connection with explicit connectAll()
- Updated installers and launchers for all platforms
- UI binary selector with Native option

Free Models Available:
- GPT-5 Nano (400K context)
- Grok Code Fast 1 (256K context)
- GLM-4.7 (205K context)
- Doubao Seed Code (256K context)
- Big Pickle (200K context)
This commit is contained in:
Gemini AI
2025-12-26 11:27:03 +04:00
Unverified
commit 1d427f4cf5
407 changed files with 100777 additions and 0 deletions

263
BUILD.md Normal file
View File

@@ -0,0 +1,263 @@
# Building CodeNomad Binaries
This guide explains how to build distributable binaries for CodeNomad.
## Prerequisites
- **Bun** - Package manager and runtime
- **Node.js** - For electron-builder
- **Electron Builder** - Installed via devDependencies
## Quick Start
All commands now run inside the workspace packages. From the repo root you can target the Electron app package directly:
```bash
npm run build --workspace @neuralnomads/codenomad-electron-app
```
### Build for Current Platform (macOS default)
```bash
bun run build:binaries
```
This builds for macOS (Universal - Intel + Apple Silicon) by default.
## Platform-Specific Builds
### macOS
```bash
# Universal (Intel + Apple Silicon) - Recommended
bun run build:mac
# Intel only (x64)
bun run build:mac-x64
# Apple Silicon only (ARM64)
bun run build:mac-arm64
```
**Output formats:** `.dmg`, `.zip`
### Windows
```bash
# x64 (64-bit Intel/AMD)
bun run build:win
# ARM64 (Windows on ARM)
bun run build:win-arm64
```
**Output formats:** `.exe` (NSIS installer), `.zip`
### Linux
```bash
# x64 (64-bit)
bun run build:linux
# ARM64
bun run build:linux-arm64
```
**Output formats:** `.AppImage`, `.deb`, `.tar.gz`
### Build All Platforms
```bash
bun run build:all
```
⚠️ **Note:** Cross-platform builds may have limitations. Build on the target platform for best results.
## Build Process
The build script performs these steps:
1. **Build @neuralnomads/codenomad** → Produces the CLI `dist/` bundle (also rebuilds the UI assets it serves)
2. **Compile TypeScript + bundle with Vite** → Electron main, preload, and renderer output in `dist/`
3. **Package with electron-builder** → Platform-specific binaries
## Output
Binaries are generated in the `release/` directory:
```
release/
├── CodeNomad-0.1.0-mac-universal.dmg
├── CodeNomad-0.1.0-mac-universal.zip
├── CodeNomad-0.1.0-win-x64.exe
├── CodeNomad-0.1.0-linux-x64.AppImage
└── ...
```
## File Naming Convention
```
CodeNomad-{version}-{os}-{arch}.{ext}
```
- **version**: From package.json (e.g., `0.1.0`)
- **os**: `mac`, `win`, `linux`
- **arch**: `x64`, `arm64`, `universal`
- **ext**: `dmg`, `zip`, `exe`, `AppImage`, `deb`, `tar.gz`
## Platform Requirements
### macOS
- **Build on:** macOS 10.13+
- **Run on:** macOS 10.13+
- **Code signing:** Optional (recommended for distribution)
### Windows
- **Build on:** Windows 10+, macOS, or Linux
- **Run on:** Windows 10+
- **Code signing:** Optional (recommended for distribution)
### Linux
- **Build on:** Any platform
- **Run on:** Ubuntu 18.04+, Debian 10+, Fedora 32+, Arch
- **Dependencies:** Varies by distro
## Troubleshooting
### Build fails on macOS
```bash
# Install Xcode Command Line Tools
xcode-select --install
```
### Build fails on Linux
```bash
# Install dependencies (Debian/Ubuntu)
sudo apt-get install -y rpm
# Install dependencies (Fedora)
sudo dnf install -y rpm-build
```
### "electron-builder not found"
```bash
# Install dependencies
bun install
```
### Build is slow
- Use platform-specific builds instead of `build:all`
- Close other applications to free up resources
- Use SSD for faster I/O
## Development vs Production
**Development:**
```bash
bun run dev # Hot reload, no packaging
```
**Production:**
```bash
bun run build:binaries # Full build + packaging
```
## CI/CD Integration
Example GitHub Actions workflow:
```yaml
name: Build Binaries
on:
push:
tags:
- "v*"
jobs:
build-mac:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: oven-sh/setup-bun@v1
- run: bun install
- run: bun run build:mac
build-win:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: oven-sh/setup-bun@v1
- run: bun install
- run: bun run build:win
build-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: oven-sh/setup-bun@v1
- run: bun install
- run: bun run build:linux
```
## Advanced Configuration
Edit `package.json``build` section to customize:
- App icon
- Code signing
- Installer options
- File associations
- Auto-update settings
See [electron-builder docs](https://www.electron.build/) for details.
## Brand Assets
- `images/CodeNomad-Icon.png` — primary asset for in-app logo placements and the 1024×1024 master icon used to generate packaged app icons
To update the binaries:
1. Run `node scripts/generate-icons.js images/CodeNomad-Icon.png electron/resources` to round the corners and emit fresh `icon.icns`, `icon.ico`, and `icon.png` files.
2. (Optional) Pass `--radius` to tweak the corner curvature or `--name` to change the filename prefix.
3. If you prefer manual control, export `images/CodeNomad-Icon.png` with your tool of choice and place the generated files in `electron/resources/`.
## Clean Build
Remove previous builds:
```bash
rm -rf release/ dist/
bun run build:binaries
```
## FAQ
**Q: Can I build for Windows on macOS?**
A: Yes, but native binaries (e.g., DMG) require the target OS.
**Q: How large are the binaries?**
A: Approximately 100-150 MB (includes Electron runtime).
**Q: Do I need code signing?**
A: Not required, but recommended for public distribution to avoid security warnings.
**Q: How do I update the version?**
A: Update `version` in `package.json`, then rebuild.
## Support
For issues or questions:
- Check [electron-builder documentation](https://www.electron.build/)
- Open an issue in the repository
- Review existing build logs in `release/`