idk. but added AGENTS.md
This commit is contained in:
125
AGENTS.md
Normal file
125
AGENTS.md
Normal file
@@ -0,0 +1,125 @@
|
||||
# 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 logic
|
||||
- `config/`: Configuration management
|
||||
- `error/`: Error handling
|
||||
- `id/`: Unique identifier system
|
||||
- `instance/`: Mize runtime instances
|
||||
- `item/`: Filesystem item abstractions
|
||||
- `memstore/`: In-memory storage
|
||||
- `proto/`: Protocol definitions
|
||||
- `types/`: Core type definitions
|
||||
|
||||
- `platform/`: Platform-specific implementations
|
||||
- `os/`: Native OS integration
|
||||
- `wasm/`: WebAssembly support
|
||||
- `bare/`: Bare metal targets
|
||||
- `jvm/`: 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
|
||||
|
||||
1. **Feature flags**: Extensive use of Cargo features for platform targeting
|
||||
2. **Cross-platform abstraction**: Core logic separated from platform implementations
|
||||
3. **Module system**: Dynamic loading of functionality
|
||||
4. **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:
|
||||
|
||||
1. **Platform completion**: Finish OS, WASM, and other platform implementations
|
||||
2. **Module ecosystem**: Develop more built-in modules
|
||||
3. **Performance optimization**: Memory management and serialization
|
||||
4. **Testing**: Comprehensive test coverage across platforms
|
||||
5. **Documentation**: User-facing documentation and examples
|
||||
6. **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 builds
|
||||
- `target-wasm`: WebAssembly builds
|
||||
- Other platform-specific targets as needed
|
||||
|
||||
## Key Files for Understanding
|
||||
|
||||
- `packages/mize/Cargo.toml`: Core dependencies and features
|
||||
- `packages/mize/src/lib.rs`: Main library entry point
|
||||
- `packages/mize/src/core/`: Core platform-independent logic
|
||||
- `packages/mize/src/platform/`: Platform-specific implementations
|
||||
Reference in New Issue
Block a user