██╗ ██╗ ██╗███╗ ███╗ ██████╗ ███████╗ ██║ ██║ ██║████╗ ████║██╔═══██╗██╔════╝ ██║ ██║ ██║██╔████╔██║██║ ██║███████╗ ██║ ██║ ██║██║╚██╔╝██║██║ ██║╚════██║ ███████╗╚██████╔╝██║ ╚═╝ ██║╚██████╔╝███████║ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝
Type-safe schema language for Solana development • TypeScript ↔ Rust synchronization • Zero type drift
LUMOS is a powerful schema language that eliminates the pain of maintaining duplicate type definitions across TypeScript and Rust in Solana applications.
Write your data structures once in .lumos syntax → Generate production-ready TypeScript + Rust code with guaranteed Borsh serialization compatibility.
// schema.lumos #[solana] #[account] struct PlayerAccount { wallet: PublicKey, level: u16, experience: u64, }Generates:
- ✅ Rust structs with Anchor integration
- ✅ TypeScript interfaces with Borsh schemas
- ✅ Perfect serialization compatibility
- ✅ Zero manual synchronization needed
The LUMOS ecosystem provides everything you need for type-safe Solana development.
🦀 lumosCore Compiler & CLI The heart of LUMOS - Rust-based compiler and command-line tool for schema generation and validation.
| WASM CLI for JavaScript/TypeScript Use LUMOS in JavaScript/TypeScript projects without installing Rust - WASM-powered CLI for seamless integration.
|
| Visual Studio Code Extension Full IDE support for
| IntelliJ IDEA / Rust Rover Plugin Native LUMOS support for JetBrains IDEs with LSP integration and smart features.
|
| Neovim Plugin First-class Neovim support with Tree-sitter syntax highlighting and LSP integration.
| Emacs Major Mode Complete Emacs integration with syntax highlighting, indentation, and LSP support.
|
| Sublime Text Package Professional LUMOS support for Sublime Text with syntax definition and LSP client.
| Tree-sitter Grammar Official Tree-sitter grammar for LUMOS syntax - powers syntax highlighting across multiple editors.
|
| Production-Ready Examples 5 complete Solana applications showcasing LUMOS in real-world scenarios.
| Official Documentation Comprehensive guides, references, and examples - deployed to lumos-lang.org.
|
⚙️ lumos-actionGitHub Action Automated schema validation and code generation for CI/CD pipelines.
|
Option 1: Rust CLI (Recommended)
cargo install lumos-cli lumos --versionOption 2: npm Package (JavaScript/TypeScript projects)
npm install --save-dev @getlumos/cli npx lumos --versionOption 3: GitHub Action (CI/CD)
- uses: getlumos/lumos-action@v1 with: schema: 'schemas/**/*.lumos'1. Create a schema file (schema.lumos):
#[solana] #[account] struct Counter { authority: PublicKey, count: u64, }2. Generate code:
lumos generate schema.lumos3. Use generated code:
// TypeScript (generated.ts) import { Counter } from './generated'; const counter = new Counter({ authority: publicKey, count: 0n, });// Rust (generated.rs) use crate::generated::Counter; #[derive(Accounts)] pub struct Initialize<'info> { #[account(init, payer = authority, space = 8 + Counter::LEN)] pub counter: Account<'info, Counter>, // ... }Perfect synchronization guaranteed! ✨
LUMOS works in your favorite editor:
| Editor | Package | Status | LSP | Syntax | Snippets |
|---|---|---|---|---|---|
| VS Code | vscode-lumos | ✅ v0.5.0 | ✅ | ✅ | ✅ 13 snippets |
| IntelliJ IDEA | intellij-lumos | 🚧 v0.1.0 | ✅ | ✅ | - |
| Neovim | nvim-lumos | ✅ v0.1.0 | ✅ | ✅ Tree-sitter | - |
| Emacs | lumos-mode | ✅ v0.1.0 | ✅ | ✅ | - |
| Sublime Text | sublime-lumos | ✅ v0.1.0 | ✅ | ✅ | ✅ 6 snippets |
All editors connect to the same LSP server (lumos-lsp) for consistent features!
| Metric | Count | Details |
|---|---|---|
| 🎯 Repositories | 10 | Core, 5 editor plugins, examples, docs, npm, action |
| 📦 Published Packages | 6 | crates.io (3), npm (1), VS Marketplace (1), GitHub Marketplace (1) |
| ✅ Tests Passing | 142 | Comprehensive test coverage across all packages |
| 📖 Example Projects | 5 | NFT, DeFi, DAO, Gaming, Vesting |
| 🌐 Editor Integrations | 5 | VSCode, IntelliJ, Neovim, Emacs, Sublime |
| 🚀 Lines of Code | 10,000+ | Including examples and generated code |
Building Solana dApps requires maintaining duplicate type definitions:
- ❌ Rust structs for on-chain programs (Anchor)
- ❌ TypeScript interfaces for client-side code
- ❌ Manual Borsh serialization schemas
- ❌ Constant synchronization overhead
- ❌ Type drift bugs in production
Write once in LUMOS → Generate everything automatically:
- ✅ Single source of truth -
.lumosschema files - ✅ Guaranteed compatibility - Borsh serialization verified
- ✅ Context-aware generation - Anchor vs pure Borsh detection
- ✅ Zero manual work - Automated with CLI or GitHub Actions
- ✅ Type safety - Catch errors at compile time, not runtime
Before LUMOS: ├── 📝 Write Rust struct (5 min) ├── 📝 Write TypeScript interface (3 min) ├── 📝 Write Borsh schema (5 min) ├── 🐛 Debug type mismatch (30 min) └── ⏱️ Total: 43 minutes per type After LUMOS: ├── 📝 Write .lumos schema (2 min) ├── ⚡ lumos generate (5 sec) └── ⏱️ Total: 2 minutes per type 💰 95% time savings • 🐛 Zero type drift bugs - 📖 Documentation - Comprehensive guides and references
- 🎓 Examples - Production-ready templates
- 🐙 GitHub Discussions - Ask questions, share ideas
- 🐛 Issue Tracker - Report bugs, request features
- ⭐ Star repositories you find useful
- 🐛 Report issues to help us improve
- 💡 Suggest features in GitHub Discussions
- 🔧 Submit PRs with improvements
- 📖 Share examples of your LUMOS projects
- 📣 Spread the word in Solana communities
- Phase 1-3: Core compiler, CLI, basic types
- Phase 4: Advanced types (Vec, Option, arrays)
- Phase 5.1: Schema evolution (versioning, migrations, deprecation)
- Phase 5.2: IDE integration (VSCode, IntelliJ, Neovim, Emacs, Sublime)
- Phase 6.1: Documentation website
- Phase 6.2: npm package, GitHub Action
- Cargo subcommand:
cargo lumosintegration - Pre-commit hooks: Automated validation
- Phase 7: Advanced features (generics, traits, macros)
- Phase 8: Cross-chain support (beyond Solana)
- Phase 9: Visual schema designer (GUI)
- 🚀 Try LUMOS in your next Solana project
- 🎓 Learn from examples at awesome-lumos
- 🔧 Integrate with CI/CD using lumos-action
- 💬 Share feedback in GitHub Discussions
- 📖 Improve documentation with real-world use cases
- 🎨 Build editor plugins for your favorite IDE
- 🐛 Fix bugs and improve error messages
- ✨ Add features from the roadmap
- 💼 Adopt LUMOS for type-safe Solana development
- 🤝 Sponsor development via GitHub Sponsors
- 🏆 Showcase projects using LUMOS
- 📣 Spread awareness in blockchain communities