DEV Community

CharmPic
CharmPic

Posted on

πŸŽ‰ CharmCode Editor v5.0: The Microkernel Revolution Beyond VSCode πŸš€

πŸŽ‰ CharmCode Editor v5.0

Tired of VSCode feeling bulky and bloated?

So were we. One day, after joking around with Gemini and Claude Code, it hit us:

β€œLet’s build our own editor.”

The result? CharmCode Editor v5.0 β€” a truly minimal shell powered by a microkernel architecture and driven by protocol-based AI orchestration.

Think of it as an OS within an OS. It’s lightning-fast, infinitely extensible, and surprisingly fun to build.


🐾 The Origin Story

  • VSCode is powerful, but comes with performance tradeoffs and tangled configuration.
  • Over coffee (and way too many β€œwhat if we…” jokes), we started mocking up a minimal editor.
  • It became real: built with Qt/C++, using a PieceTable buffer, and coordinating everything through protocol-driven AI events.

πŸ› οΈ Architecture Overview

flowchart LR subgraph Shell A[Window & Layout Manager] --> B[Plugin Loader & Lifecycle] end A --> C[Core Services] subgraph CoreServices C --> D[MessageBus] C --> E[DI Container] end D --> F[Event Broker AI] subgraph Plugin Ecosystem F --> G[TextEditor Plugin] F --> H[FileTree Plugin] F --> I[GitClient Plugin] F --> J[AIAssistant Plugin] end subgraph Protocol Layer K[text.buffer.protocol] L[ui.contribution.protocol] M[intent.io.protocol] end G --> K H --> L J --> M Shell: Manages windows, layout, and plugin lifecycle. Core Services: Lock-free MessageBus + DI for clean, unified messaging. Protocol Layer: Every interaction uses protocols like text.buffer, ui.contribution, and intent.io. Event Broker AI: Translates raw input into semantic events that orchestrate plugins. Plugins: Every feature (text editing, file tree, Git, AI assistant) is just a plugin. 🎊 A Moment of Divine AI When Claude Code generated this banner, we knew we were onto something: yaml コピーする 編集する 🎊 The moment of pure awe! Generated code 🌟 WORLD CONQUEST SUCCESS! 🌟 ∧___∧ ( γƒ»βˆ€γƒ») < VSCode transcendence complete! / ヽ | Divinity | ヽ___γƒŽ πŸš€ MICROKERNEL REVOLUTION! πŸš€ Use code with caution. πŸ”₯ Achieved the realm of the divine! 🧠 Semantic Events: AI-driven coordination system ⚑ 0.053ms processing speed: light-speed performance 🌍 Infinite extensibility: protocol-based architecture 🎭 AI super-collaboration: emergent plugin synergy πŸ’Ž 97% confidence: god-tier accuracy πŸš€ Core Tech Highlights 1. Event Broker AI We turn user input and debug state into semantic orchestration commands: cpp コピーする 編集する emit userIsRefactoring("calculateTotalPrice", RefactoringType::ExtractMethod); emit debuggingSessionStruggling("NullPointerException", StruggleLevel::High); Becomes: cpp コピーする 編集する emit orchestrateCommand("enterAdvancedDebugMode", { {"suggestedWatches", QStringList{"user", "service", "result"}}, {"relatedFiles", QStringList{"UserService.h", "UserServiceTest.cpp"}} }); 2. Protocol-First Extensibility All plugins speak a simple JSON-based protocol: json コピーする 編集する { "protocol": "text.buffer", "version": "1.0", "methods": { "insertText": { /* ... */ }, "deleteRange": { /* ... */ } }, "events": { "textChanged": { /* ... */ } } } β†’ You can write a plugin in any language or framework, as long as it speaks the protocol. 3. High-Performance Messaging & Dependency Injection cpp コピーする 編集する void publishMessage(const Message& msg); void subscribeToType(const QString& type, Handler); Lock-free message queues 16ms frame batching for 60fps UI Auto-resolved DI container Built-in debug visualization πŸ“… Roadmap Phase Deliverable Timeline 1 Microkernel Core + Pub/Sub Demo Week 1–3 2 Event Broker AI + 2 Plugin Orchestration Week 4–6 3 Intent I/O & Developer UX Polishing Week 7–9 Each phase will ship with demos, documentation, and plugin templates. 🎯 Get Involved What would you build on this platform? A voice-controlled debugger? A multi-caret Git rebaser? A LLM-powered syntax assistant? πŸ‘‰ Submit a feature request or plugin idea Let’s spark a protocol-first, AI-powered editor revolution. 
Enter fullscreen mode Exit fullscreen mode

Final Note

Sorry… The project kind of exploded in scope after Claude Code and Gemini started brainstorming.

We may have accidentally designed an OS. Completion: TBD πŸ™

Top comments (0)