Skip to content
@getlumos

LUMOS

Write once. Deploy everywhere.
██╗     ██╗   ██╗███╗   ███╗ ██████╗ ███████╗
██║     ██║   ██║████╗ ████║██╔═══██╗██╔════╝
██║     ██║   ██║██╔████╔██║██║   ██║███████╗
██║     ██║   ██║██║╚██╔╝██║██║   ██║╚════██║
███████╗╚██████╔╝██║ ╚═╝ ██║╚██████╔╝███████║
╚══════╝ ╚═════╝ ╚═╝     ╚═╝ ╚═════╝ ╚══════╝

Write Once. Deploy Everywhere.

Website Crates.io npm GitHub Action

Type-safe schema language for Solana development • TypeScript ↔ Rust synchronization • Zero type drift


🎯 What is LUMOS?

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

🌟 Ecosystem

The LUMOS ecosystem provides everything you need for type-safe Solana development.

🦀 lumos

Core Compiler & CLI

The heart of LUMOS - Rust-based compiler and command-line tool for schema generation and validation.

  • Published: crates.io
  • 🛠️ Stack: Rust, syn, Borsh
  • 📦 Packages: lumos-core, lumos-cli, lumos-lsp
  • Features: Context-aware generation, LSP server

📖 Documentation🚀 Get Started

WASM CLI for JavaScript/TypeScript

Use LUMOS in JavaScript/TypeScript projects without installing Rust - WASM-powered CLI for seamless integration.

  • Published: npm (@getlumos/cli)
  • 🛠️ Stack: Rust + WASM, Node.js
  • 🎯 Use Case: JS/TS devs, no Rust required
  • Speed: Native performance via WASM

📦 View on npm

Visual Studio Code Extension

Full IDE support for .lumos files with syntax highlighting, IntelliSense, diagnostics, and quick fixes.

  • Published: VS Marketplace (v0.5.0)
  • Features: LSP integration, snippets, format-on-save
  • 🛠️ Stack: TypeScript, VSCode API
  • 🎨 Grammar: 26 syntax rules

🔌 Install Extension

IntelliJ IDEA / Rust Rover Plugin

Native LUMOS support for JetBrains IDEs with LSP integration and smart features.

  • 🚧 Status: v0.1.0 development
  • 🛠️ Stack: Kotlin, IntelliJ Platform SDK
  • 🎯 Target: IntelliJ IDEA, Rust Rover, CLion
  • Features: LSP client, syntax highlighting

📦 View Repository

Neovim Plugin

First-class Neovim support with Tree-sitter syntax highlighting and LSP integration.

  • Status: v0.1.0 ready
  • 🛠️ Stack: Lua, Tree-sitter, nvim-lspconfig
  • 🎯 Features: Auto-detection, keybindings, LSP
  • Grammar: tree-sitter-lumos

📦 View Repository

Emacs Major Mode

Complete Emacs integration with syntax highlighting, indentation, and LSP support.

  • Status: v0.1.0 ready
  • 🛠️ Stack: Emacs Lisp, lsp-mode
  • Features: Smart indent, LSP integration
  • Tests: 14 tests passing

📦 View Repository

Sublime Text Package

Professional LUMOS support for Sublime Text with syntax definition and LSP client.

  • Status: v0.1.0 (Package Control PR pending)
  • 🛠️ Stack: YAML syntax, LSP integration
  • Features: 6 snippets, auto-indent, LSP
  • 📦 PR: Package Control #9251

📦 View Repository

Tree-sitter Grammar

Official Tree-sitter grammar for LUMOS syntax - powers syntax highlighting across multiple editors.

  • Status: v0.1.0 ready
  • 🛠️ Stack: JavaScript, Tree-sitter
  • Tests: 6/6 passing
  • 🎯 Coverage: Structs, enums, all types

📦 View Repository

Production-Ready Examples

5 complete Solana applications showcasing LUMOS in real-world scenarios.

  • 📦 Examples: NFT Marketplace, DeFi Staking, DAO Governance, Gaming, Token Vesting
  • 🛠️ Stack: Anchor, TypeScript, Solana web3.js
  • 📊 Scale: 53 types, 42 instructions, 4000+ LOC
  • Status: All examples complete

📖 Explore Examples

Official Documentation

Comprehensive guides, references, and examples - deployed to lumos-lang.org.

  • 🌐 Live: lumos-lang.org
  • 🛠️ Stack: VitePress, Markdown, Vue
  • 🚀 Deploy: Cloudflare Pages (auto)
  • 📖 Content: Guide, Reference, Examples, API

🌐 Visit Docs

GitHub Action

Automated schema validation and code generation for CI/CD pipelines.

  • Published: GitHub Marketplace (v1.0.0)
  • 🛠️ Type: Composite Action (Bash)
  • Features: Auto-install, validate, generate, drift detection
  • 🎯 Use Case: CI/CD automation

🔌 View on Marketplace


🚀 Quick Start

Installation

Option 1: Rust CLI (Recommended)

cargo install lumos-cli
lumos --version

Option 2: npm Package (JavaScript/TypeScript projects)

npm install --save-dev @getlumos/cli
npx lumos --version

Option 3: GitHub Action (CI/CD)

- uses: getlumos/lumos-action@v1
  with:
    schema: 'schemas/**/*.lumos'

Your First Schema

1. Create a schema file (schema.lumos):

#[solana]
#[account]
struct Counter {
    authority: PublicKey,
    count: u64,
}

2. Generate code:

lumos generate schema.lumos

3. 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!


🛠️ Editor Support

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!


📊 Stats

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

💡 Why LUMOS?

The Problem

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

The Solution

Write once in LUMOS → Generate everything automatically:

  • Single source of truth - .lumos schema 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

Real-World Impact

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

🌍 Community

Learn & Contribute

How to Contribute

  1. Star repositories you find useful
  2. 🐛 Report issues to help us improve
  3. 💡 Suggest features in GitHub Discussions
  4. 🔧 Submit PRs with improvements
  5. 📖 Share examples of your LUMOS projects
  6. 📣 Spread the word in Solana communities

🗺️ Roadmap

✅ Completed

  • 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

🚧 In Progress

  • Cargo subcommand: cargo lumos integration
  • Pre-commit hooks: Automated validation

🔮 Future

  • Phase 7: Advanced features (generics, traits, macros)
  • Phase 8: Cross-chain support (beyond Solana)
  • Phase 9: Visual schema designer (GUI)

📋 Full Roadmap


📬 Get Involved

For Developers

  • 🚀 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

For Contributors

  • 📖 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

For Organizations

  • 💼 Adopt LUMOS for type-safe Solana development
  • 🤝 Sponsor development via GitHub Sponsors
  • 🏆 Showcase projects using LUMOS
  • 📣 Spread awareness in blockchain communities

Production-Ready Type Safety for Solana

Write once. Deploy everywhere. Zero type drift.


LUMOS | Illuminate Your Solana Development | 2025

GitHub Website Discord

Made with ❤️ for the Solana ecosystem

Popular repositories Loading

  1. nvim-lumos nvim-lumos Public

    Neovim plugin for LUMOS with LSP and Tree-sitter support

    Lua 3

  2. lumos lumos Public

    Write once. Deploy Everywhere. | Type-safe schema language bridging Rust ↔ TypeScript for Solana

    Rust 1

  3. vscode-lumos vscode-lumos Public

    Write once. Deploy Everywhere. | Official VSCode extension for LUMOS schema language

    TypeScript 1

  4. awesome-lumos awesome-lumos Public

    Write once. Deploy Everywhere. | Production-ready LUMOS examples and community projects

    1

  5. docs-lumos docs-lumos Public

    Write once. Deploy Everywhere. | Official LUMOS documentation at lumos-lang.org

    JavaScript 1

  6. lumos-action lumos-action Public

    GitHub Action for LUMOS schema generation and validation

    1

Repositories

Showing 10 of 12 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…