ใใในใฆใฎๅญๅจใฏใใกใใปใผใธใง็ใพใใใกใใปใผใธใง็ตใใใ
ใปใชใณใฎๅคงๆน้ฉๅฎไบ - ๅบๅบใฏใฉใน็ถๆฟๅฎๅ จๆ้ค๏ผ
Latest: v14.0 - Pure Message System ๐
VoidCore is a pure message-based system that enables beautiful plugin communication without inheritance. Think of it as a "postal service" for your application:
- ๐๏ธ VoidCore = Postal office that routes messages
- ๐ค Plugins = Customers who send and receive mail
- ๐ฎ Messages = Letters with specific types (Notice, Request, Response, Proposal)
- ๐ Subscribe = Write on bulletin board "I want this type of mail"
New to VoidCore? Start with our interactive demo:
๐ฏ ๐ฎ Simple VoidCore Demo!
Watch plugins talk to each other in real-time! See exactly which functions are called and how messages flow through the system.
git clone https://github.com/moe-charm/voidcore.js
cd voidcore-js
# Open examples/index.html in your browser - no build required!import { voidCore, Message, createPlugin } from './src/index.js'
// Create a plugin (no inheritance!)
const myPlugin = createPlugin({
pluginId: 'my-awesome-plugin',
autoHealth: true
}, {
async run() {
await this.initialize();
// Listen for messages
this.on('Notice', 'user.login', (msg) => {
console.log('User logged in:', msg.payload.userId);
});
// Send messages
await this.notice('plugin.ready', {
timestamp: Date.now()
});
}
});
// Start the plugin
await myPlugin.run();- โ Base Class Inheritance โ โ Pure Composition
- โ Forced Lifecycle โ โ Optional Methods
- โ Type Constraints โ โ Message-based Cooperation
- โ Complex Code โ โ "Pleasant from the Start" Code
Before (Inheritance Hell):
class MyPlugin extends AutonomousPlugin {
constructor() {
super('my-plugin'); // Required base class
}
async _prepare() { /* Forced implementation */ }
async _work() { /* Forced lifecycle */ }
}After (Pure Beauty):
const myPlugin = createPlugin({
pluginId: 'my-plugin'
}, {
// Complete freedom - implement what you need
async run() {
await this.initialize(); // Optional
// Your logic here
}
});VoidCore uses four clear message types for all communication:
await plugin.notice('user.login', {
userId: 123,
timestamp: Date.now()
});const request = Message.intentRequest('file_manager', 'file.open', {
path: '/documents/readme.txt'
});
await voidCore.publish(request);const response = Message.intentResponse('file.open', {
status: 'success',
content: 'File content here...'
});await plugin.propose('backup_manager', 'system.backup', {
action: 'Create daily backup',
estimatedTime: 30000
});Experience VoidCore in action:
- ๐ฎ Simple VoidCore Demo - Interactive postal service visualization
- ๐ Galaxy Viewer - Beautiful space physics
- ๐ง VoidIDE Genesis v2.0 - NEW! Complete IDE with analytics & visualization
- ๐ VoidIDE Genesis MVP - Self-creating IDE that runs on VoidCore
- ๐ Message City - Pure v14.0 system with traffic simulation
- ๐ Heart Transplant Demo - Transport swapping live
- ๐ All Examples - Complete demo collection
VoidCore v14.0 uses optional protocols instead of forced inheritance:
// Plugins can optionally respond to health checks
registerHealthCheck('my-plugin', {
customStatus: 'All systems operational'
});
// Send health check request
await voidCore.publish(Message.intentRequest('*', 'core.health.ping', {}));// Plugins can declare their process info
declareProcess('my-plugin', {
name: 'My Awesome Plugin',
version: '1.0.0'
});DefaultTransport - Local memory (automatic)
// No setup needed - works out of the boxWebSocketTransport - Real-time networking
import { WebSocketTransport } from './src/transport.js'
await voidCore.setTransport(new WebSocketTransport('ws://server.com'))BroadcastChannelTransport - Inter-tab communication
import { BroadcastChannelTransport } from './src/transport.js'
await voidCore.setTransport(new BroadcastChannelTransport('my-app'))export class MyTransport extends ITransport {
async initialize() { /* Setup */ }
async send(message, channel) { /* Send logic */ }
subscribe(handler, channel) { /* Subscribe logic */ }
getStats() { /* Statistics */ }
async destroy() { /* Cleanup */ }
}| Version | Feature | Philosophy |
|---|---|---|
| v14.0 | ๐ Pure Message System | "All existence is born from messages and ends with messages" |
| v13.0 | ๐ Transport Adapters | Heart-swappable communication layers |
| v12.0 | ๐ Multi-Channel | Performance boost with message separation |
| v11.0 | ๐ค Autonomous Core | Plugin lifecycle and message routing |
voidcore-js/
โโโ src/ # Core library (v14.0)
โ โโโ index.js # New entry point
โ โโโ pure_plugin_system.js # Serin's Great Reform
โ โโโ voidcore.js # "The Vessel of Silence"
โ โโโ message.js # Message types
โ โโโ transport.js # Transport adapters
โ โโโ channel-manager.js # Channel management
โ โโโ legacy/ # v13.0 compatibility
โโโ examples/ # v14.0 demos
โ โโโ voidcore-demo-visual.html # Beginner-friendly
โ โโโ message-city-modern.html # Pure system demo
โ โโโ legacy/ # Previous examples
โโโ challenge/ # Interactive demos
โโโ docs/ # Documentation
โโโ VOIDCORE_V14_CPP_SPEC.md # C++ implementation spec
Get started in 3 simple steps:
- Clone:
git clone https://github.com/moe-charm/voidcore.js - Open: Load examples in your browser
- Build: Tell Claude Code to read the docs and "build [your app] with VoidCore"
- C++ Implementation Spec - Complete specification for C++ port
- Pure Plugin Guide - Interactive learning
- v13.0 Transport Architecture - Heart transplant guide
- v12.0 Multi-Channel - Performance improvements
- Plugin Lifecycle - Autonomous plugin development
VoidCore embodies the principle of "้ๅฏใฎๅจ" (The Vessel of Silence):
- ๐ค Silent Routing - Core knows nothing about message content, only types
- ๐๏ธ Non-Invasive - No forced inheritance, pure composition
- ๐ค Gentleman's Agreement - Optional protocols, maximum freedom
- ๐ซ Pure Beauty - "Pleasant from the start" code
// โ Don't fight the system
class MyPlugin extends BaseClass {
// Complex inheritance hierarchy
}
// โ
Flow with the messages
const myPlugin = createPlugin(config, {
// Pure, beautiful, simple
});- ๐ง VoidIDE Genesis v2.0 - Complete IDE with real-time analytics & visualization (v14.0 Phase 2)
- ๐ Message Flow Visualization - Real-time message flow with animated particle effects
- ๐ Plugin Monitor Dashboard - Advanced plugin status monitoring & health checks
- โก Performance Metrics System - Comprehensive performance analysis & optimization
- ๐ VoidIDE Genesis - Self-creating IDE that runs on VoidCore itself (v14.0)
- ๐ Pure Message System - No inheritance, pure composition (v14.0)
- ๐งฉ CoreFusion v1.2 - Merge multiple VoidCore instances seamlessly (v14.0)
- โก SimpleMessagePool - 16-20x faster batch processing (v14.0)
- ๐ Heart Transplant - Swap transport layers at runtime (v13.0)
- ๐ Multi-Channel Performance - 40% faster with dedicated channels (v12.0)
- ๐ Perfect Backward Compatibility - All versions work together
- ๐ Browser-Native - Pure JavaScript, no build tools
- ๐ฆ Zero Dependencies - Lightweight and self-contained
- ๐ค Gentleman's Agreement - Optional protocols, maximum freedom
VoidCore thrives on community contributions:
- Fork the repository
- Try the ๐ฎ Simple VoidCore Demo first
- Create your feature branch
- Add tests and documentation
- Submit a pull request
- ๐ข JavaScript - Current (v14.0 - Production Ready)
- ๐ง C++ - In Development (Specification ready)
MIT License - see LICENSE file for details.
"ๅฒๅญฆ็ใซ่ใใใใใใใใพใใใใๅฎ็จๆงใๅพนๅบ่ฟฝๆฑใใ็ตๆใงใ๏ผ"
Beautiful simplicity, infinite scalability, autonomous dignity.
- v11.0: Birth of autonomous plugins
- v12.0: Performance breakthrough
- v13.0: Heart transplant revolution
- v14.0: Serin's Great Reform - Pure perfection achieved
JavaScript Version: Stable and production-ready C++ Version: Next frontier for ultimate performance
โญ Star this repo if VoidCore sparked joy in your development workflow!
Ready to experience the beauty of pure message-based architecture?
๐ Start with the Simple Demo