4.2 KiB
4.2 KiB
Mize Codebase Architecture Guide for AI Agents
Overview
Mize is a strongly typed "filesystem" for the age of connectivity, elevating the Unix file philosophy into modern distributed computing.
Codebase Structure
packages/
├── mize/ # Core Mize framework (Rust)
├── marts/ # Mize parts collection (Rust/TypeScript)
├── mme/ # Mize Module Environment (Rust)
├── ppc/ # Platform-specific components
├── vic/ # Victor CLI tool
└── ac_mize_macros/# Mize macros
Key Components
1. Core Mize Framework (packages/mize/)
- Language: Rust
- Target platforms: OS (native), WASM (web), bare metal, JVM
- Key features:
- Strongly typed filesystem abstraction
- Module system with dynamic loading
- Memory store implementation
- Protocol versioning and serialization
- Cross-platform support
Architecture layers:
-
core/: Platform-independent logicconfig/: Configuration managementerror/: Error handlingid/: Unique identifier systeminstance/: Mize runtime instancesitem/: Filesystem item abstractionsmemstore/: In-memory storageproto/: Protocol definitionstypes/: Core type definitions
-
platform/: Platform-specific implementationsos/: Native OS integrationwasm/: WebAssembly supportbare/: Bare metal targetsjvm/: Java Virtual Machine integration
2. Marts (packages/marts/)
- Language: Rust + TypeScript
- Purpose: Collection of Mize framework parts and utilities
- Key features:
- CLI tools
- JavaScript/TypeScript integration
- Habitica integration
- Deno-based scripting support
3. MME - Mize Module Environment (packages/mme/)
- Language: Rust
- Purpose: Module execution environment
- Key features:
- Cross-platform module loading
- Qt and Slint UI support
- Web view integration (tao/wry)
- Command system (comandr)
4. PPC - Platform Components (packages/ppc/)
- Language: Rust + TypeScript
- Purpose: Platform-specific implementations
- Targets: Obsidian plugin, OS integration
5. Vic - Victor CLI (packages/vic/)
- Language: Rust
- Purpose: Command-line interface tool
- Features: Build, run, test, and manage Mize applications
Build System
- Rust: Cargo workspace with feature flags for different targets
- TypeScript: Deno-based build system
- Cross-compilation: Support for WASM and multiple OS targets
Key Technologies
- Rust crates: tokio, serde, wasm-bindgen, tracing, clap
- WASM: wasm-pack, web-sys
- UI: tao, wry, slint, Qt
- Scripting: Deno, rustyscript
- Serialization: ciborium (CBOR), serde_json, toml
Development Patterns
- Feature flags: Extensive use of Cargo features for platform targeting
- Cross-platform abstraction: Core logic separated from platform implementations
- Module system: Dynamic loading of functionality
- Strong typing: Rust's type system used for filesystem safety
Next Steps Discussion
The codebase appears to be in active development with these key areas for future work:
- Platform completion: Finish OS, WASM, and other platform implementations
- Module ecosystem: Develop more built-in modules
- Performance optimization: Memory management and serialization
- Testing: Comprehensive test coverage across platforms
- Documentation: User-facing documentation and examples
- Integration: Better integration with existing tools and systems
Working with the Codebase
For AI Agents:
- Focus on the
core/directory for platform-independent logic - Use feature flags appropriately when building/testing
- Understand the module system for extending functionality
- Pay attention to cross-platform considerations
Build targets:
target-os: Native operating system buildstarget-wasm: WebAssembly builds- Other platform-specific targets as needed
Key Files for Understanding
packages/mize/Cargo.toml: Core dependencies and featurespackages/mize/src/lib.rs: Main library entry pointpackages/mize/src/core/: Core platform-independent logicpackages/mize/src/platform/: Platform-specific implementations