🎉 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.
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 🙏