Prerequisites
Before you begin developing for Modrinth, ensure you have the following tools installed:Required Tools
Node.js
pnpm
Version: 9.15.0Install globally:Verify installation:
Rust
Docker
Optional Tools
Tauri Prerequisites (for Desktop App)
Tauri Prerequisites (for Desktop App)
If you plan to work on the desktop app, follow the Tauri prerequisites guide for your platform:macOS: Xcode Command Line ToolsLinux: Additional system dependenciesWindows: Microsoft Visual Studio C++ Build Tools
Development Tools
Development Tools
Recommended IDE extensions:
- VS Code: Rust Analyzer, Vue Language Features (Volar), ESLint, Prettier
- IntelliJ IDEA: Rust plugin, Vue.js plugin
- Rust Tools: rustfmt, clippy (installed with Rust)
Cloning the Repository
Installing Dependencies
Install JavaScript Dependencies
Install all frontend dependencies using pnpm:This will install dependencies for all packages in the monorepo workspace.
Running Development Servers
Web Interface (Frontend)
Copy Environment File
Navigate to the frontend directory and copy the environment template:The
.env.local file contains default development settings.Desktop App
The first build of the desktop app may take several minutes as Cargo compiles all dependencies.
Backend API (Labrinth)
See the Local Setup guide for detailed instructions on running Labrinth with all required services.UI Component Library (Storybook)
http://localhost:6006 for developing and testing UI components.
Verify Your Setup
Run these commands to verify everything is working:Making Your First Contribution
Now that your environment is set up:Find an Issue
Browse the issue tracker for issues labeled
good first issue or help wanted.Make Changes
Edit the code, following our Code Style guidelines.
Development Commands Reference
Next Steps
Code Style
Learn about formatting, naming conventions, and commit messages
Architecture
Understand the monorepo structure and technology stack
Local Setup
Set up Labrinth backend with Docker services
Contributing
Read the full contribution guidelines
Getting Help
If you run into issues:- Check the README files in specific app/package directories
- Join the Discord server and ask in
#development - Open an issue on GitHub
- Review the CLAUDE.md files for project-specific instructions
