Skip to content

v0.7.0 - Bun Migration & OpenTUI

Latest

Choose a tag to compare

@moazbuilds moazbuilds released this 22 Nov 21:59
· 8 commits to main since this release

🚀 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