Thanks for showing interest in contributing to HonoHub 💖, you rock!
When it comes to open source, you can contribute in different ways, all of which are valuable. Here are a few guidelines that should help you prepare your contribution.
The following steps will get you up and running to contribute to HonoHub:
-
Fork the repo (click the
Fork
button at the top right of this page) -
Clone your fork locally
git clone https://github.com/<your_github_username>/honohub.git cd honohub
-
Set up all the dependencies and packages by running
pnpm install
. This command will install dependencies.
If you run into any issues during this step, kindly reach out to the Rhinobase team here: https://discord.gg/YtzxUfCk8c
To improve our development process, we’ve set up tooling and systems, and HonoHub uses a mono repo structure by nx
.
- PNPM to manage packages and dependencies
- NX to manage the monorepo
- SWC to bundle packages
- Changeset for changes documentation, changelog generation, and release management.
pnpm install
: bootstraps the entire project, symlinks all dependencies for cross-component development, and builds all components.
pnpm nx build [package name]
: run build for a particular package.
pnpm nx run-many -t build
: run build for all the packages.
Please follow the issue template and provide a clear path to reproduction with a code example. The best way to show a bug is by sending a CodeSandbox link.
Please provide thoughtful comments and some sample API code. Proposals that don't line up with our roadmap or don't have a thoughtful explanation will be closed.
Pull requests need only the 👍 of two or more collaborators to be merged; when the PR author is a collaborator, that counts as one.
Before creating a Pull Request, ensure that your commits comply with the commit conventions used in this repository.
When you create a commit we kindly ask you to follow the convention category(scope or module): message
in your commit message while using one of the following categories:
feat/feature
: all changes that introduce completely new code or new featuresfix
: changes that fix a bug (ideally you will additionally reference an issue if present)refactor
: any code-related change that is not a fix nor a featuredocs
: changing existing or creating new documentation (i.e. README, docs for the usage of a lib or CLI usage)build
: all changes regarding the build of the software changes to dependencies, or the addition of new dependenciestest
: all changes regarding tests (adding new tests or changing existing ones)ci
: all changes regarding the configuration of continuous integration (i.e. GitHub actions, ci system)chore
: all changes to the repository that do not fit into any of the above categories
You can use pnpm commit
command to help you with your commits
If you are interested in the detailed specification you can visit https://www.conventionalcommits.org/ or check out the Angular Commit Message Guidelines.
-
Fork the
honohub
repository and clone your fork -
Create a new branch out of the
main
branch. We follow the convention[type/scope]
. For examplefix/memcache
ordocs/core
.type
can be eitherdocs
,fix
,feat
,build
, or any other conventional commit type.scope
is just a short id that describes the scope of work. -
Make and commit your changes following the commit convention. As you develop, you can run
pnpm nx build [package name]
to make sure everything works as expected.
All commits that fix bugs or add features need a test.
Dear Rhinobase team: Please do not merge code without tests
That would be amazing! Reach out to the core team here: https://discord.gg/YtzxUfCk8c. We would love to support you in any way we can.
By contributing your code to the honohub
GitHub repository, you agree to license your contribution under the MIT license.