Contributing to Wavelog
Thank you for considering a contribution to Wavelog. The project is developed by radio amateurs for radio amateurs, and every contribution — whether a bug report, a pull request or improved documentation — makes a difference.
Ways to Contribute
Report a Bug
If you found a bug in Wavelog, please open an issue on GitHub:
- Application bugs → wavelog/wavelog Issues
- Documentation errors → wavelog/wavelog-docs Issues
Before opening a new issue, search existing ones to avoid duplicates. Include as much detail as possible: Wavelog version, PHP version, browser and steps to reproduce.
Suggest a Feature
Feature requests are welcome. Open an discussion on GitHub and describe the use case. The more concrete and focused the request, the easier it is to evaluate.
Improve the Documentation
Documentation lives in a separate repository and is always a good entry point for first-time contributors. Fix typos, clarify instructions, or add missing examples. See Local Documentation Preview below.
Submit a Pull Request
- Fork the repository on GitHub.
- Create a feature branch from
dev:
- Make your changes and commit with a descriptive message.
- Push your branch and open a pull request against
dev. - Describe what you changed and why in the PR description.
A maintainer will review your PR. Please be patient — all contributors work on Wavelog in their spare time.
Code Guidelines
- Wavelog is built on CodeIgniter 3, Bootstrap and jQuery.
- Follow existing code style — consistency matters more than personal preference.
- Keep changes focused. One PR per logical change.
- Do not include unrelated formatting or whitespace changes.
- Test your changes locally before submitting.
- Have a deep look into the code before adding new (sub-)functions to avoid redundancies. Re-use is highly appreciated.
- When adding code, keep in mind: it has to be safe, scaleable and must run on minimal-ressources as well as in huge environments
- External Tools are highly appreciated, but please discuss/ask for new API-Endpoints before adding them for your tool. This saves effort on both sides
- When using AI/CodePilot which supports you during development, please be able to understand what you and your AI contributes. Be prepared for questions.
- This is a project created by humans. We want to keep it that way. Commits made by my AI are not allowed. If possible, make sure your commits are signed/verified.
- Pure AI Pull-Requests will be rejected.
See the Style Guide for frontend conventions.
Documentation Guidelines
- Write in clear, plain English. Avoid jargon where possible.
- Use admonition blocks (
!!! note,!!! tip,!!! warning) for important callouts. See examples here in the Zensical Docs - Screenshots are welcome but must be kept up to date — prefer text instructions where practical.
- If referencing on external ressource, please use anker tags with
target="_blank" rel="noopener noreferrer"and avoid using<a>tags for relative links. Use Markdown syntax for relative links instead. Examples:
<!-- Relative links never as <a> tag, use Markdown for relative links-->
[Local Documentation Preview](../project/contributing.md#local-documentation-preview)
<!-- External links with anker tags -->
<a href="https://example.com" target="_blank" rel="noopener noreferrer">External Link</a>
Local Documentation Preview
The documentation uses Zensical. To preview changes locally:
# Install dependencies in a venv (Python 3.x required)
pip install -r requirements.txt
# Start the live-reloading development server
zensical serve
The documentation will be available at http://127.0.0.1:8000.
Translations
How to help translating is described here in the Translations Guide.
Questions?
Open a GitHub Discussion.
73 de the Wavelog Team