Getting Started
Before contributing, make sure you’re familiar with the project:Set up your development environment
Follow the Building from Source guide to get the project running locally.
Check existing issues
Browse open issues to see if someone is already working on what you have in mind.
Code of Conduct
Be respectful and constructive in all interactions. We’re building this together as a community.Project Structure
Understanding the codebase will help you make effective contributions:Frontend (Svelte)
Frontend (Svelte)
Located in the The frontend is built with:
src/ directory:- Svelte 4 - Reactive UI framework
- Vite - Fast build tool and dev server
- Tauri APIs - Bridge to Rust backend
Backend (Rust)
Backend (Rust)
Located in the Key backend components:
src-tauri/ directory:- Tauri 2.x - Desktop app framework
- Tokio - Async runtime
- Reqwest - HTTP client for API calls
- OAuth2 - Authentication handling
- azalea-auth - Minecraft authentication
Configuration Files
Configuration Files
package.json- Node.js dependencies and scriptsCargo.toml- Rust dependencies and metadatarust-toolchain.toml- Rust toolchain version (nightly-2026-01-14)vite.config.js- Vite bundler configurationtauri.conf.json- Tauri app configuration
How to Contribute
Reporting Issues
Found a bug? Open an issue with:Suggesting Features
Have an idea for improvement? We’d love to hear it!Before suggesting a feature, search existing issues to avoid duplicates. If found, add your thoughts to the existing discussion.
- Explain the problem it solves
- Describe your proposed solution
- Consider implementation complexity
- Think about backward compatibility
Submitting Code
Fork the repository
Create your own fork of the LiquidLauncher repository.
Create a feature branch
Create a branch for your changes:Use descriptive branch names:
feature/add-dark-themefix/login-crashrefactor/auth-module
Make your changes
Write clean, well-documented code following the project’s style:
- Rust: Follow Rust API Guidelines
- JavaScript/Svelte: Use consistent formatting (project uses standard conventions)
- Add comments for complex logic
- Keep functions focused and modular
Commit your changes
Write clear, concise commit messages:Use conventional commit prefixes:
feat:- New featurefix:- Bug fixrefactor:- Code refactoringdocs:- Documentation changesstyle:- Code style changes (formatting)test:- Test additions or changeschore:- Maintenance tasks
Open a Pull Request
Go to the LiquidLauncher repository and open a pull request.In your PR description:
- Summarize your changes
- Reference related issues (e.g., “Closes #123”)
- Explain your approach if complex
- Include screenshots for UI changes
- List any breaking changes
Pull Request Guidelines
Keep it focused
One PR should address one issue or feature. Split large changes into multiple PRs.
Update documentation
If your changes affect user-facing features, update the relevant documentation.
Maintain compatibility
Avoid breaking changes unless absolutely necessary. Discuss major changes first.
Be responsive
Respond to review comments and be open to feedback and suggestions.
Code Style
Rust
JavaScript/Svelte
Licensing
LiquidLauncher is licensed under the GNU General Public License v3.0 (GPL-3.0).What This Means for Contributors
You are free to:- Use the code
- Share the code
- Modify the code
- You must share your source code if you distribute modified versions
- Your modifications must also be GPL-3.0 licensed
- You cannot incorporate this code into proprietary software
Development Resources
Tauri Documentation
Learn about the Tauri framework
Svelte Documentation
Svelte framework reference
Rust Book
Official Rust programming guide
GitHub Repository
View source code and issues
Community
Connect with other developers:- Forum: forums.ccbluex.net
- Guilded: guilded.gg/CCBlueX
- GitHub Issues: For bug reports and feature requests
Getting Help
I'm new to Rust/Svelte
I'm new to Rust/Svelte
That’s okay! Start with small contributions like:
- Fixing typos in documentation
- Adding comments to unclear code
- Improving error messages
- Testing and reporting bugs
I don't know where to start
I don't know where to start
Look for issues labeled:
good first issue- Perfect for newcomershelp wanted- Maintainers need assistancedocumentation- Improve docs
My PR was rejected
My PR was rejected
Don’t be discouraged! Common reasons include:
- Changes don’t align with project goals
- Code quality or style issues
- Missing tests or documentation
- Breaking changes without discussion
How long until my PR is reviewed?
How long until my PR is reviewed?
Maintainers review PRs as time permits. You can:
- Ensure your PR is complete and well-documented
- Be patient and responsive to feedback
- Avoid bumping the PR unnecessarily
Thank You!
Your contributions help make LiquidLauncher better for everyone. We appreciate the time and effort you put into improving the project.Ready to contribute?
Check out open issues or start by building from source.