Firstly, thank you for considering contributing to CommandKit! Whether you're looking to fix bugs, add new features, or just ask questions, your input is valuable to us. Before actually opening a pull request, we recommend that you first open an issue (or check existing ones) to discuss the feature/bug you intend to add/fix.
- Ensure you have
Node.js
andpnpm
installed.- Node.js: Download here
- pnpm: Install via
npm install -g pnpm
if you haven't.
- Fork the repository to your own GitHub account.
- Clone your fork to your local machine:
git clone https://github.com/underctrl-io/commandkit.git
Since we use pnpm
workspaces, it's essential to use pnpm
for installing dependencies.
cd commandkit
pnpm install # Make sure to run this from the root directory
- Create a new branch for your work:
git checkout -b your-feature-or-bugfix
-
Make your changes. Please make sure to use the Prettier extension for consistent formatting and comments wherever necessary.
-
Ensure that your changes don't break any existing functionality. You can test the functionality of your code depending on where you've made changes:
- If you've made changes to the CommandKit package, you can use the "apps/test-bot" project to test your own bot. Just make sure to create a new
.env
file with the template from the.env.example
file provided. This also requires you to build the commandkit package locally (after you make your changes) because it's symlinked with pnpm workspaces. - If you've made changes to the docs, you can run
pnpm dev
inside "apps/docs" to spin up a local development server.
- If you've made changes to the CommandKit package, you can use the "apps/test-bot" project to test your own bot. Just make sure to create a new
-
Run
pnpm lint
from the root directory to ensure all lint scripts and formatting is valid. -
Commit your changes:
git commit -m "Describe your change here"
- Push your changes to your fork:
git push origin your-feature-or-bugfix
- Open a pull request in the main project repository (main branch). Describe your changes and any relevant information.
When submitting a new issue, please provide a detailed description of the problem, steps to reproduce it, and any relevant screenshots or error messages.
Thank you for making CommandKit better! We appreciate your effort and look forward to collaborating with you.