██╗ ██╗ ██╗███╗ ███╗ ██████╗ ███████╗ ██║ ██║ ██║████╗ ████║██╔═══██╗██╔════╝ ██║ ██║ ██║██╔████╔██║██║ ██║███████╗ ██║ ██║ ██║██║╚██╔╝██║██║ ██║╚════██║ ███████╗╚██████╔╝██║ ╚═╝ ██║╚██████╔╝███████║ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝
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