🚀 Release v0.7.0 - Bun Migration & OpenTUI
🚀 Major Transformations:
Complete Bun Runtime Migration: Revolutionary shift from Node.js/pnpm to Bun runtime with massive performance improvements
- 98% faster builds (114ms vs several seconds)
- 60% faster startup time (~200ms vs ~500ms)
- 50% less memory usage (~40MB vs ~80MB)
- 78% faster test execution (3s vs 14s)
- Unified runtime for development, testing, and production
Modern OpenTUI Interface: Complete terminal UI overhaul using OpenTUI/SolidJS
- Beautiful, responsive TUI with custom CodeMachine theme
- Toast notifications and dialog system
- Dual-binary architecture to prevent JSX runtime conflicts
- Fade-in animations and terminal background detection
- Improved authentication flow with TUI restart and feedback
SQLite Database Migration: Replaced JSON-based agent registry with SQLite
- Native concurrency handling (no more file locks)
- Better performance and ACID compliance
- 487 lines removed, 377 added (net simplification)
- New export command for JSON compatibility
🎉 New Features:
- Auggie CLI Engine Support: Added Auggie as a new engine provider
- Full integration with 726 lines of new code
- Auth, execution, and telemetry support
- Embedded Resources System: Standalone binaries with compressed embedded resources and smart caching
- Cross-Platform Binary Distribution: Automated GitHub Actions builds for Linux, macOS, and Windows
- MkDocs Documentation: Professional documentation site with CI/CD
- Abort Signal Support: Workflows can now be gracefully interrupted during execution
- Cache Token Telemetry: Better visibility into prompt caching usage
🐛 Critical Bug Fixes:
- Windows Authentication: Fixed all 5 engine providers failing on Windows by using Bun.which() to resolve .cmd files
- OpenCode Multi-Provider Auth: Fixed authentication for non-OpenCode providers (Anthropic, OpenAI, etc.) in OpenCode engine
- Stdin Data Loss: Pre-encode stdin input to prevent data loss in Bun
- Process Resolution: Proper Bun executable path resolution in child processes
- Empty Stdout Storage: Skip memory storage when stdout is empty
- Version Flag: Fixed --version flag in compiled binaries
- Windows Path Normalization: Proper path handling on Windows in dev mode
- Windows Binary Path: Fixed binary not found error due to npm hoisting optional dependencies
- Windows Package Installation: Fixed os field (windows -> win32) so npm installs the package on Windows
🔧 Improvements:
- Removed execa, cross-spawn, tsx, tsup, vitest, and node dependencies
- Native Bun.spawn() for all process operations
- Removed legacy presentation layer (simplified architecture)
- Better Ctrl+C handling with proper state management
- Improved terminal dimension handling with safety checks
- Enhanced debug logging throughout the system
- Binary auto-installation and global linking
- Update notifier system
- Dependency fixes and improvements
Thanks to all contributors who helped make this release possible: @AlexFigures, @LegendEvent, @hadywalied, and @TheMightyDman
📦 Installation:
npm install -g codemachine@0.7.0
or using Bun:
bun install -g codemachine@0.7.0