Developer Guide

Contribution Rules

Help us build the most powerful local-first utility engine on the web. Here is how you can contribute code, fix bugs, and propose features.

Privacy First

All features must run client-side. No server dependencies allowed.

Clean Code

Strict TypeScript. Functional components. Tailwind CSS.

Be Kind

We are a community. Respect others in issues and PR discussions.

1. The Golden Rule: Local-First

Mojodocs is defined by its architecture: Zero Data Uploads.

Strictly Prohibited
  • Using external APIs to process user data (e.g., CloudConvert API).
  • Adding analytics trackers that capture personal information.
  • Storing user input in a database (LocalStorage/IndexDB is allowed).

If you are adding a tool that requires heavy processing (e.g., video transcoding), you must use WebAssembly (WASM) or JavaScript Workers.

2. Tech Stack & Standards

Language
TypeScript
Framework
React 18+
Styling
Tailwind
Icons
Lucide

We use framer-motion for animations. Please use the existing design system components located in components/ui/design-system.tsx whenever possible.

3. Pull Request Workflow

1
ForkCreate your own copy of the repo on GitHub.
2
BranchUse a descriptive name like feat/pdf-splitter or fix/json-parser.
3
CommitKeep commits atomic and messages clear.
4
PROpen a Pull Request to the main branch.

Tips for faster merge

Include screenshots for UI changes. Add unit tests for new logic. Run linting before pushing.

Ready to ship code?

WebAssembly
Client-Side Engine
Zero Latency
Processing Speed
0.00 KB
Data Retention
AES-256
Security Standard