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 soonDiscord
Chat with maintainers and other developers.
Coming soonContributing
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.
Improve documentation
Add guides, tutorials, and examples. Fix typos, clarify explanations, add code samples.
Canvas rendering
Improve the canvas rendering pipeline — text measurement, drawing operations, performance optimizations.
File format support
Improve XLSX compatibility, add CSV/TSV support, or help with the PDF export pipeline.
CRDT collaboration
Work on the Yrs-based collaboration layer — conflict resolution, presence, undo/redo across peers.
Compute engine optimization
Profile and optimize the Rust compute engine — formula evaluation, dependency graph, recalculation.
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
git clone https://github.com/mog-project/mogcd mogpnpm installpnpm build
# Build the Rust compute corecargo build -p compute-core --release
# Build WASM bindingswasm-pack build crates/wasm --target webRunning tests
# TypeScript testspnpm test
# Type checkingpnpm typecheck
# Rust testscargo test -p compute-core
# Test a specific cratecargo test -p compute-tableYour 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.
- Find the function category in
crates/functions/src/ - Add the function implementation following the existing pattern
- Add tests alongside the implementation
- Run
cargo test -p compute-functions - 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.
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 [email protected]. 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 [email protected]. 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.