Skip to content

Dotmini/microcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

110 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MicroCode

MicroCode

The Native AI-Powered IDE for macOS
Built from scratch. No Electron. No compromises.

⬇️ Download Latest Release Β· Features Β· Architecture Β· Getting Started


Why MicroCode?

Every modern IDE is built on Electron β€” a web browser pretending to be a native app. MicroCode is different.

We built a fully native macOS IDE from scratch using SwiftUI, Rust, and Metal. The result is an editor that launches in under a second, uses a fraction of the memory, and feels like it belongs on your Mac.

MicroCode Electron IDEs
Startup time < 1s 3-8s
Memory (idle) ~80 MB 400-800 MB
GPU rendering Metal (native) WebGL (emulated)
AI integration 7 providers, native Plugin-dependent
File indexing Tree-sitter + Rust JS-based

Features

🧠 AI Agent β€” Production Grade

Multi-provider AI agent with tool-use capabilities, not just autocomplete.

  • 7 providers β€” Gemini, OpenAI, Claude, DeepSeek, Grok, Qwen, GLM
  • Agentic tools β€” Read, write, edit, search code, run commands, git operations
  • Streaming responses β€” Real-time token streaming with diff preview
  • Workspace-aware β€” Full project context via RAG semantic search (Candle ML)
  • Sandboxed execution β€” Timeout, output limits, path-restricted operations

⚑ Editor β€” Zero-Latency

  • 30+ languages β€” Tree-sitter powered syntax highlighting
  • Debounced highlighting β€” Only processes visible range, not the entire file
  • Hex color preview β€” Inline color swatches in CSS/Swift/Rust
  • Native text engine β€” NSTextView + custom layout, not a web canvas

πŸ–₯️ Integrated Terminal

  • Full PTY terminal with ANSI color support
  • Multiple sessions with tab management
  • Direct workspace integration

πŸ”§ Developer Workflow

  • Git integration β€” Status, diff, commit, branch switching
  • Project scaffolding β€” Create Rust, Swift, Node.js, Python, Web projects
  • WASM extensions β€” Sandboxed extension system (Wasmtime)
  • Build system β€” Integrated build & run for multiple languages

🎨 Design Language

  • Dark-first UI β€” Precision-crafted dark theme with glassmorphism
  • Metal-powered effects β€” GPU-rendered backgrounds and animations
  • Native macOS β€” Respects system appearance, keyboard shortcuts, trackpad gestures

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    MicroCode.app                             β”‚
β”‚                                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚   SwiftUI + AppKit β”‚  β”‚   Objective-C++ Core              β”‚ β”‚
β”‚  β”‚                    β”‚  β”‚   β€’ Syntax Engine                 β”‚ β”‚
β”‚  β”‚   β€’ Editor View    β”‚  β”‚   β€’ Text Pipeline                 β”‚ β”‚
β”‚  β”‚   β€’ AI Agent Panel β”‚  β”‚   β€’ Performance Primitives        β”‚ β”‚
β”‚  β”‚   β€’ File Browser   β”‚  β”‚                                   β”‚ β”‚
β”‚  β”‚   β€’ Terminal       β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚  β”‚   β€’ Settings       β”‚                                      β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                      β”‚
β”‚           β”‚ HTTP + SSE                                        β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚              Rust Backend (Axum + Tokio)                β”‚  β”‚
β”‚  β”‚                                                         β”‚  β”‚
β”‚  β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚  β”‚
β”‚  β”‚   β”‚ AI      β”‚ β”‚ Agent    β”‚ β”‚ Git      β”‚ β”‚ Extension β”‚ β”‚  β”‚
β”‚  β”‚   β”‚ Engine  β”‚ β”‚ Runtime  β”‚ β”‚ Manager  β”‚ β”‚ Host      β”‚ β”‚  β”‚
β”‚  β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚  β”‚
β”‚  β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚  β”‚
β”‚  β”‚   β”‚ RAG     β”‚ β”‚ Terminal β”‚ β”‚ Indexer  β”‚ β”‚ Kernel    β”‚ β”‚  β”‚
β”‚  β”‚   β”‚ Search  β”‚ β”‚ Manager  β”‚ β”‚ (T-S)   β”‚ β”‚ Safety    β”‚ β”‚  β”‚
β”‚  β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Tech Stack

Layer Technology Purpose
Frontend SwiftUI + AppKit Native macOS UI
Rendering Metal GPU-accelerated effects
Core Objective-C++ Performance-critical text ops
Backend Rust (Axum/Tokio) Async services, AI, Git
Parsing Tree-sitter Multi-language syntax
ML Candle On-device embeddings for RAG
Extensions Wasmtime Sandboxed WASM plugins

Getting Started

Requirements

Requirement Version
macOS 13.0 (Ventura) or later
Xcode 15.0+
Rust 1.75+
Node.js 18+ (optional, for extension development)

Install from Release

Download the latest .dmg or .pkg from Releases.

Build from Source

# Clone
git clone https://github.com/Dotmini/microcode.git
cd microcode

# Quick dev build (current arch, debug)
./build_distribution.sh --dev

# Full release build (universal binary + DMG + PKG)
./build_distribution.sh

Build Options

./build_distribution.sh --dev          # Fast debug build, current arch only
./build_distribution.sh --version 1.1  # Set version
./build_distribution.sh --sign         # Sign & notarize after build

Project Structure

microcode/
β”œβ”€β”€ CodeTunner/              # Swift sources (SwiftUI + AppKit)
β”‚   β”œβ”€β”€ Views/               # UI components
β”‚   β”œβ”€β”€ Services/            # AI client, agent service
β”‚   β”œβ”€β”€ SyntaxEngine/        # Highlighting engine
β”‚   └── Models/              # Data models, app state
β”œβ”€β”€ CodeTunnerSupport/       # Objective-C++ core modules
β”œβ”€β”€ backend/                 # Rust backend server
β”‚   └── src/
β”‚       β”œβ”€β”€ ai.rs            # Multi-provider AI engine
β”‚       β”œβ”€β”€ agent.rs         # AI agent with tool-use
β”‚       β”œβ”€β”€ indexer.rs       # Tree-sitter file indexer
β”‚       └── main.rs          # Axum HTTP server
β”œβ”€β”€ microcode_core/          # Rust shared core library
β”œβ”€β”€ extension-host/          # WASM extension runtime
β”œβ”€β”€ vscode-compat-host/      # VS Code extension compatibility
└── .github/workflows/       # CI/CD (build, sign, release)

Note: The CodeTunner folder name is historical. The product name is MicroCode.


Security

MicroCode takes security seriously:

  • Source integrity β€” SHA256 checksums verified on every push via CI
  • Sandboxed commands β€” AI agent commands run with 30s timeout, 1MB output limit, restricted PATH
  • Path traversal protection β€” All file operations validated against workspace boundary
  • No telemetry β€” Zero data collection, fully offline capable

AI Provider Setup

MicroCode supports 7 AI providers out of the box. Configure via Settings β†’ AI Providers:

Provider Models API Key Env
Gemini 3.1 Pro, 2.5 Pro, 2.5 Flash GEMINI_API_KEY
OpenAI GPT-5, GPT-4o, o3, o4-mini OPENAI_API_KEY
Claude 4.7 Opus, Sonnet 4, 3.5 Haiku ANTHROPIC_API_KEY
DeepSeek V4, Chat, Coder DEEPSEEK_API_KEY
Grok grok-3, grok-3-mini GROK_API_KEY
Qwen qwen-max, qwen-turbo QWEN_API_KEY
GLM glm-4-plus GLM_API_KEY

Contributing

We welcome contributions! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing)
  3. Run checksums before committing (./generate_checksums.sh)
  4. Submit a pull request

Credits

Tirawat Nantamas
Founder & Lead Architect
Dotmini Software

Academic Partnership: SPU AI Club β€” Sripatum University (ΰΈ‘ΰΈ«ΰΈ²ΰΈ§ΰΈ΄ΰΈ—ΰΈ’ΰΈ²ΰΈ₯ΰΈ±ΰΈ’ΰΈ¨ΰΈ£ΰΈ΅ΰΈ›ΰΈ—ΰΈΈΰΈ‘)


License

MicroCode Public License (MPL) v1.0 β€” See LICENSE for full terms.

This is a source-available license designed to protect the creator's rights while fostering open-source collaboration:

Use Case Allowed? Cost
🏠 Personal / Hobby βœ… Free $0
πŸŽ“ Education / Research βœ… Free $0
🀝 Open Source Contributions βœ… Free $0
πŸ” Evaluation (≀ 90 days) βœ… Free $0
🏒 Commercial (Small Biz ≀ ΰΈΏ10M) ⚠️ Requires CLA 10% Revenue Share
🏬 Commercial (Medium ≀ ΰΈΏ100M) ⚠️ Requires CLA 15% Revenue Share
πŸ›οΈ Commercial (Enterprise > ΰΈΏ100M) ⚠️ Requires CLA 20% Revenue Share

Commercial License Agreement (CLA)

If you intend to use MicroCode or any derivative work for commercial purposes (SaaS, product integration, consulting, etc.), you must sign a Commercial License Agreement with the Licensor before deployment:

  1. Contact β†’ Dotmini Software via GitHub
  2. Negotiate β†’ Revenue tier + specific terms
  3. Sign CLA β†’ Bilateral agreement with quarterly reporting
  4. Deploy β†’ Use commercially with full legal protection

⚠️ Using MicroCode commercially without a CLA is a violation of copyright law under the Copyright Act B.E. 2537 (Thailand) and applicable international treaties.

Jurisdiction

This license is governed by Thai law (ΰΈΰΈŽΰΈ«ΰΈ‘ΰΈ²ΰΈ’ΰΉ„ΰΈ—ΰΈ’), including:

  • Copyright Act B.E. 2537 (พ.ΰΈ£.บ. ΰΈ₯ΰΈ΄ΰΈ‚ΰΈͺΰΈ΄ΰΈ—ΰΈ˜ΰΈ΄ΰΉŒ)
  • Civil and Commercial Code (ΰΈ›ΰΈ£ΰΈ°ΰΈ‘ΰΈ§ΰΈ₯ΰΈΰΈŽΰΈ«ΰΈ‘ΰΈ²ΰΈ’ΰΉΰΈžΰΉˆΰΈ‡ΰΉΰΈ₯ΰΈ°ΰΈžΰΈ²ΰΈ“ΰΈ΄ΰΈŠΰΈ’ΰΉŒ)
  • Trade Secrets Act B.E. 2545 (พ.ΰΈ£.บ. ΰΈ„ΰΈ§ΰΈ²ΰΈ‘ΰΈ₯ΰΈ±ΰΈšΰΈ—ΰΈ²ΰΈ‡ΰΈΰΈ²ΰΈ£ΰΈ„ΰΉ‰ΰΈ²)

Disputes are resolved in the courts of Bangkok, Thailand.


Credits

Tirawat Nantamas (ΰΈ–ΰΈ΄ΰΈ£ΰΈ§ΰΈ±ΰΈ’ΰΈ™ΰΉŒ ΰΈ™ΰΈ±ΰΈ™ΰΈ•ΰΈ‘ΰΈ²ΰΈ¨)
Founder & Lead Architect
Dotmini Software

Academic Partnership: SPU AI Club β€” Sripatum University (ΰΈ‘ΰΈ«ΰΈ²ΰΈ§ΰΈ΄ΰΈ—ΰΈ’ΰΈ²ΰΈ₯ΰΈ±ΰΈ’ΰΈ¨ΰΈ£ΰΈ΅ΰΈ›ΰΈ—ΰΈΈΰΈ‘)


Built with ❀️ in Thailand πŸ‡ΉπŸ‡­
Copyright Β© 2024-2026 Tirawat Nantamas β€” Dotmini Software

About

Official MicroCode IDE Development

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors