Thank you for your interest in contributing to Astrum!
- Bug reports — open an issue describing the problem and steps to reproduce
- Feature requests — open an issue with a description of the desired functionality
- Code — submit a pull request with bug fixes or new features
- Translations — contribute via Weblate
- Documentation — improve the README or other docs
- Vala (>= 0.56)
- Meson (>= 0.62)
- GLib (>= 2.76)
- GTK4 (>= 4.12)
- LibAdwaita (>= 1.4)
sudo pacman -S vala meson libadwaitameson setup build
meson compile -C buildGSETTINGS_SCHEMA_DIR=./data ./build/src/astrum- File names:
kebab-case.vala - Classes and methods:
CamelCase/snake_caseper Vala conventions - Each source file should have an SPDX license header
- Keep code organized in the
Astrumnamespace
Translations are managed via Weblate. To add or update a translation, contribute there rather than editing .po files manually.
Translation guidelines:
- Use a polite, formal tone
- Preserve all code placeholders and variables unchanged
- AI tools (DeepL, ChatGPT, etc.) are allowed for drafting, but raw machine translations without human review are not accepted
If you need to update the translation template locally:
ninja -C build astrum-pot
ninja -C build astrum-update-po- Fork the repository and create a branch from
main - Make your changes
- Test that the project builds and runs correctly
- Submit a pull request with a clear description of what was changed and why
By contributing, you agree that your contributions will be licensed under GPL-3.0-or-later.