Skip to content
Mog is in active development. The GitHub repo, SDK packages, and community channels are not yet available. Follow for launch updates

Community

Mog is built in the open. Join the community, report issues, and contribute.

Connect

GitHub

Star the repo, file issues, and submit pull requests.

Coming soon

Discord

Chat with maintainers and other developers.

Coming soon

Twitter

Follow for announcements and updates.

Follow @sheetmog →

Contributing

We welcome contributions of all kinds — from bug fixes and documentation improvements to new features and performance optimizations. Whether you are new to open source or a seasoned contributor, there is a place for you in the Mog project. Read our CONTRIBUTING.md for the full guide.

Add Excel functions

Implement missing Excel-compatible functions in the Rust compute engine. Each function has a clear interface and test pattern.

Rustbeginner

Improve documentation

Add guides, tutorials, and examples. Fix typos, clarify explanations, add code samples.

WritingTypeScriptbeginner

Canvas rendering

Improve the canvas rendering pipeline — text measurement, drawing operations, performance optimizations.

TypeScriptCanvas APIintermediate

File format support

Improve XLSX compatibility, add CSV/TSV support, or help with the PDF export pipeline.

RustOOXMLintermediate

CRDT collaboration

Work on the Yrs-based collaboration layer — conflict resolution, presence, undo/redo across peers.

RustCRDTsDistributed Systemsadvanced

Compute engine optimization

Profile and optimize the Rust compute engine — formula evaluation, dependency graph, recalculation.

RustPerformanceadvanced

Development Setup

Once the repository is public, you'll be able to clone it and get a local development environment running in minutes. Mog uses pnpm workspaces for TypeScript (53 packages) and a Cargo workspace for Rust (56 crates).

The repository is not yet public. This section previews the setup process.

Prerequisites

  • Node.js 22+
  • Rust (latest stable) + wasm-pack
  • pnpm 9+

Build from source

bash
git clone https://github.com/mog-project/mog
cd mog
pnpm install
pnpm build
# Build the Rust compute core
cargo build -p compute-core --release
# Build WASM bindings
wasm-pack build crates/wasm --target web

Running tests

bash
# TypeScript tests
pnpm test
# Type checking
pnpm typecheck
# Rust tests
cargo test -p compute-core
# Test a specific crate
cargo test -p compute-table

Your first contribution

The easiest way to get started is adding a new Excel function to the Rust compute engine. Each function follows a clear pattern with built-in test scaffolding.

  1. Find the function category in crates/functions/src/
  2. Add the function implementation following the existing pattern
  3. Add tests alongside the implementation
  4. Run cargo test -p compute-functions
  5. Submit a PR

Project structure

The repository is organized as a monorepo with 53 TypeScript packages and 56 Rust crates. TypeScript handles the UI, SDK, and tooling; Rust handles the compute engine, formula parser, file formats, and WASM bindings. See /docs/architecture for the full breakdown.

Governance

Mog is maintained by a dedicated team of contributors who guide the project's direction, review pull requests, and ensure code quality.

Guangyu Yang

Creator & Lead Maintainer

@gyyang

Security

We take security seriously. If you discover a vulnerability, please practice responsible disclosure. Do not open a public issue for security vulnerabilities.

Report vulnerabilities to security@sheetmog.ai. We will acknowledge your report within 48 hours and work with you to address the issue.

Code of Conduct

The Mog community is dedicated to providing a welcoming, inclusive, and harassment-free experience for everyone, regardless of experience level, gender identity, sexual orientation, disability, appearance, race, ethnicity, age, religion, or nationality.

Expected behavior

  • Be respectful, empathetic, and constructive in all interactions
  • Give and accept feedback gracefully
  • Focus on what is best for the community and the project
  • Respect differing viewpoints and experiences

Unacceptable behavior

  • Harassment, intimidation, or discrimination in any form
  • Trolling, insulting or derogatory comments, personal or political attacks
  • Publishing others' private information without permission
  • Other conduct that is inappropriate in a professional setting

Enforcement

Instances of abusive, harassing, or unacceptable behavior may be reported to security@sheetmog.ai. All reports will be reviewed and investigated promptly and fairly. Maintainers have the right to remove, edit, or reject comments, commits, code, issues, and other contributions that do not align with this Code of Conduct.

License

Mog is released under the Modified MIT license. This is the standard MIT license with one additional condition for large-scale commercial use. If your product or service exceeds 100 million monthly active users or $20 million in monthly revenue, you must display “Built with Mog” in a reasonably visible place in your UI.

Below those thresholds, the license is identical to MIT. Use Mog freely, modify it, embed it in commercial products, sell products built on it — no attribution required. The additional clause exists solely so that if a very large company builds a core product on Mog, the project gets credit.

Copyright © Fundamental Research Lab, Inc. See the full license text for the complete legal terms.