Thank you for your interest in contributing to Timoni-Hub! Your contributions are highly valuable in helping to improve the project. Please take a moment to read and follow this guide to make your contributions as smooth as possible.
Before you begin contributing to Timoni-Hub, ensure that your system is prepared for building and testing. We offer two setup options, both of which are non-invasive. You are free to choose the one that suits you best.
For the local setup, you only need to install proto
, a unified toolchain.
The containerized setup requires you to have a container runtime and a compatible command-line interface.
Currently, we support Podman, Nerdctl, and Docker.
Additionally, you will need make
, although it's likely already available on your system.
To execute the commands described later, you must first run:
make dev-shell
This command will launch a container with proto
available. Your container will be stopped but preserved after you exit. If you wish to start fresh, simply run:
make clean
This command will remove the container.
Timoni-Hub follows a code of conduct outlined in this document. Please ensure all interactions and contributions adhere to these guidelines.
We welcome contributions from the community! Here are some guidelines for contributing to the project.
- Fork the Timoni-Hub repository on GitHub.
- Clone your forked repository to your local development environment.
- Create a new branch for your work:
where
git checkout -b <prefix>/<name>
<prefix>
reflects the type of your proposal (fix, feat, build, etc...) and<name>
is a short name describing your proposal. - Make your changes, commit your work (c.f. Commit Messages), and push the changes to your forked repository.
- Verify your changes are passing tests (c.f. Running Checks).
- Create a pull request (PR) from your branch to the
main
branch of the original Timoni-Hub repository. - Ensure your PR has a clear and descriptive title.
- Describe your changes in the PR description, providing context and reasoning for the changes.
- Once submitted, your PR will be reviewed by the maintainers. Make sure to respond to any feedback or requested changes in a timely manner.
Prior to running any command, you'll have to configure your toolchain.
You only need to run that command once, any tool update will automatically be handled by proto
at runtime.
proto use
We follow the Conventional Commits standard for commit messages. Please adhere to the guidelines outlined in Conventional Commits when writing your commit messages.
This is important for our release workflow.
Every commit landing on main
will be automatically released.
Conventional Commits Next Version is used to automatically determine if a module release is mandatory, and if so which version should be released.
It's based on commit history and modified files (module dependencies included).
You can run checks on the codebase by using moon
. To run all checks, use the following command:
moon check --all
To check a specific module, use:
moon check <module_name>
.
├── .moon <-- moon tasks and configuration
├── libs <-- CUE libraries
├── modules <-- Timoni modules
├── templates <-- Templates to generate module and libraries
└── tools <-- Additionnal tools and scripts for buildsystem and dev environment
To generate boilerplate for a new module or library, you can use moon code generation:
moon generate [module|lib]
We appreciate your contributions to Timoni-Hub and look forward to your involvement in the project! If you have any questions or need assistance, feel free to reach out to the maintainers. Happy contributing!