Thank you for taking the time to make a contribution to this project!
This project adheres to a Code of Conduct. By participating, you are expected to uphold this code.
The following document provides guidelines and instructions to help you contribute effectively.
There are many ways to contribute:
- Report bugs - File detailed bug reports with reproduction steps
- Suggest features - Propose new features or improvements
- Write code - Submit bug fixes or new features
- Improve documentation - Fix typos, clarify content, add examples
- Review pull requests - Provide feedback on proposed changes
- Answer questions - Help other users in issues or discussions
- Write tests - Improve test coverage
- Automation:
- Use provided Makefile targets or scripts in the
scripts/directory for common tasks.
- Use provided Makefile targets or scripts in the
- Secrets & Credentials:
- Never commit secrets, credentials, or sensitive data to the repository.
- Use environment variables or secret management tools as described in the documentation.
-
Fork the repository on GitHub
-
Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/dokaseca-control-plane.git cd dokaseca-control-plane -
Add upstream remote:
git remote add upstream https://github.com/thatmlopsguy/dokaseca-control-plane.git
-
Install dependencies: Install
miseto manage project-specific tools and tasks, then runmise installin the repository root to download the tool versions declared in.tool-versionsand make them available in your shell.mise run tools
-
Create a branch for your changes:
git checkout -b feature/your-feature-name
-
Make your changes - Write code, add tests, update docs
-
Test your changes - Run
make pre-commit-run -
Commit your changes:
git commit -m "Description of your changes"Use
git commit -sto sign off your commits (required) -
Push to your fork:
git push origin feature/your-feature-name
- Ensure your code follows the project's coding standards
- Add or update tests for your changes
- Run pre-commit checks:
make pre-commit-run - Update documentation as needed
- Keep pull requests focused on a single concern
Include in your pull request description:
- What - Summary of changes
- Why - Motivation and context
- How - Implementation approach
- Testing - How you tested the changes
- Related Issues - Link any related issues (e.g., "Fixes #123")
- Automated checks will run on your PR
- Maintainers will review your changes
- Address any feedback or requested changes
- Once approved, a maintainer will merge your PR
Follow the project's coding style enforced by make pre-commit-run.
We strongly recommend that all maintainers sign their commits.
Signed commits verify your identity and help ensure that changes to the repository are authentic and have not been tampered with.
- Verify the author's identity
- Prevent commit forgery or alteration
- Improve trust and security in the project's history
- Ensure compliance with the Developer Certificate of Origin (DCO)
- Generate a GPG key pair on your local machine.
- Upload your public GPG key in your profile settings under SSH / GPG keys.
- Configure Git to use your GPG key for signing.
Add the -s flag when committing:
git commit -s -m "Your commit message"This adds a "Signed-off-by" line:
Signed-off-by: Your Name <your.email@example.com>
Push your changes as usual - Git will show a "Verified" badge next to signed commits.
For a detailed step-by-step guide, see the Codeberg GPG key documentation.
Learn more at https://developercertificate.org/
- Issues - Report bugs and request features via GitHub Issues
- Discussions - Ask questions in GitHub Discussions
- Pull Requests - Submit code changes via GitHub Pull Requests
If you have questions, open an issue or start a discussion. We're happy to help!
Thank you for helping make this project better!