Project Status
This project is in maintenance mode and is considered feature complete. It will continue to receive updates with bugfixes and support for new versions of the game.
Getting Started
Before contributing, make sure you:- Join the Discord server - All project communication happens on Discord
- Read the wiki - Check the project wiki for context
- Set up your development environment - Follow the building guide
- Understand the architecture - Review the architecture documentation
Development Workflow
Setting Up Your Development Environment
Install dependencies
Install all required development dependencies as described in the building guide.
Making Changes
Make your changes
- Write clean, readable code
- Follow existing code style and patterns
- Test your changes thoroughly
- Update documentation if needed
Code Style Guidelines
Rust Code Style
The project uses standard Rust formatting. Arustfmt.toml is provided:
Code Organization
- Modularity: Keep components self-contained and focused
- Use existing patterns: Follow the Relm4 component architecture used throughout
- Error handling: Use
anyhow::Resultfor error propagation - Logging: Use
tracingmacros for logging:
File Organization
Follow the existing structure:- UI components in
src/ui/ - Group related functionality in modules
- Use
mod.rsfor module coordination - Keep business logic separate from UI code
Localization
The launcher supports multiple languages using Fluent:Adding New Translations
Submitting Contributions
Pull Request Process
Create pull request
- Go to the main repository
- Click “Pull requests” → “New pull request”
- Click “compare across forks”
- Select your fork and branch
- Fill in the PR template with:
- Description: What changes you made and why
- Testing: How you tested the changes
- Related issues: Link any related issues
Pull Request Guidelines
PR Title Format
PR Title Format
Use conventional commit format:
feat:- New featurefix:- Bug fixdocs:- Documentation changesstyle:- Code style changes (formatting, etc.)refactor:- Code refactoringperf:- Performance improvementstest:- Adding or updating testschore:- Maintenance tasks
feat: add support for game version 5.0fix: prevent crash when config is corrupteddocs: update installation instructions
What to Include
What to Include
Good PRs include:
- Clear description of changes
- Explanation of why the change is needed
- Screenshots for UI changes
- Testing steps you performed
- Reference to related issues
- Mixing unrelated changes
- Large refactors without discussion
- Changes to code formatting across the entire codebase
- Adding dependencies without justification
Bug Reports and Issues
Reporting Bugs
When reporting issues:- Check existing issues - Your issue may already be reported
- Use Discord first - Most questions can be answered quickly there
- Provide details:
- Launcher version (
anime-game-launcher --version) - Distribution and version
- Desktop environment (GNOME, KDE, etc.)
- Steps to reproduce
- Debug logs from
~/.local/share/anime-game-launcher/debug.log
- Launcher version (
Running in Debug Mode
Always include debug logs with bug reports:Working with anime-launcher-sdk
Many features are implemented in the SDK. If your contribution requires SDK changes:Check if SDK changes are needed
The SDK handles:
- Game version checking and updates
- Wine/Proton management
- DXVK installation
- Game configuration and state
- Patch application
Coordinate changes
- Discuss on Discord first
- Submit SDK PR if needed
- Wait for SDK changes to be released
- Update launcher to use new SDK version
Documentation Contributions
Documentation is as important as code:Wiki Updates
The project wiki contains installation guides and FAQ. Help keep it up to date!
Code Comments
Well-commented code helps future contributors understand your changes.
README Updates
Keep README.md accurate, especially installation instructions.
CHANGELOG
Significant changes should be noted in CHANGELOG.md
Community Guidelines
Communication
- Be respectful - Treat all community members with respect
- Be patient - Maintainers and contributors are volunteers
- Be constructive - Provide helpful feedback and suggestions
- Use Discord - Most real-time discussion happens there
What to Contribute
Given the maintenance mode status, focus on:Welcomed contributions:
- Bug fixes for crashes or critical issues
- Compatibility updates for new game versions
- Translation updates and new languages
- Documentation improvements
- Build system fixes
- Performance optimizations
Package Maintainers
If you maintain a distribution package:- Join Discord - Stay updated on releases
- Test pre-releases - Help catch issues before stable release
- Report downstream issues - Share problems specific to your distribution
- Keep wiki updated - Update installation instructions for your distro
Getting Help
Discord Server
Join for real-time help and discussion
Wiki
FAQ and detailed guides
Repository
Source code and issues
Changelog
See what’s changed over time
License
By contributing to An Anime Game Launcher, you agree that your contributions will be licensed under the GPL-3.0 License.Thank you for contributing to An Anime Game Launcher! Your efforts help keep the project alive and serve the community.