2024-04-15 11:12:24 +03:00
---
title: Contributing Guide
description: Set up Documenso using Docker for local development.
---
2024-04-26 15:35:53 +03:00
import { Callout } from 'nextra/components';
2024-04-15 11:12:24 +03:00
# Contributing to Documenso
2024-04-22 12:03:45 +03:00
If you plan to contribute to Documenso, please take a moment to feel awesome ✨. People like you are what open source is about ♥. Any contributions, no matter how big or small, are highly appreciated 🙏. This guide will help you get started with contributing to Documenso 💻.
2024-04-15 11:12:24 +03:00
## Before getting started
2024-04-22 12:03:45 +03:00
- Search the existing [issues](https://github.com/documenso/documenso/issues) to see if someone else reported the same issue. Or, check the [existing PRs](https://github.com/documenso/documenso/pulls) to see if someone else is already working on the same thing.
- If there is no issue or PR for the problem you are facing, feel free to create a new issue. Make sure to provide as much detail as possible, including the steps to reproduce the issue.
- If you pick an existing issue, take into consideration the discussion on the issue.
2024-04-15 11:12:24 +03:00
- Accept the [Contributor License Agreement](https://documen.so/cla) to ensure we can accept your contributions.
## Taking issues
Before taking an issue, ensure that:
2024-04-22 12:03:45 +03:00
- The issue has been assigned the public label.
- The issue is clearly defined and understood.
- No one has been assigned to the issue.
- No one has expressed the intention to work on it.
2024-04-15 11:12:24 +03:00
2024-04-22 12:03:45 +03:00
After that:
2024-04-15 11:12:24 +03:00
2024-04-22 12:03:45 +03:00
1. Comment on the issue with your intention to work on it.
2. Start working on the issue.
2024-04-15 11:12:24 +03:00
2024-04-22 12:03:45 +03:00
Feel free to ask for help, clarification or guidance if needed. We are here to help you.
2024-04-15 11:12:24 +03:00
## Developing
2024-04-22 12:03:45 +03:00
The development branch is <code>main</code>, and all pull requests should be made against this branch. Here's how you can get started with developing:
2024-04-15 11:12:24 +03:00
2024-04-22 12:03:45 +03:00
1. Fork the repository to your GitHub account and then
clone it to your local device.
2024-04-15 11:12:24 +03:00
2024-04-22 12:03:45 +03:00
2. Check out the [local development](/local-development) guide to set up your local environment.
2024-04-15 11:12:24 +03:00
2024-04-22 12:03:45 +03:00
3. Find an issue to work on or create a new one.
2024-04-15 11:12:24 +03:00
2024-04-22 12:03:45 +03:00
4. Create a new branch for your feature or bug fix.
When creating a branch, make sure that the branch name:
- starts with the correct prefix: `feat/` for new features, `fix/` for bug fixes, etc.
- includes the issue id you are working on (if applicable).
- is descriptive.
```sh
git checkout -b feat/issue-id-your-branch-name
## Example
git checkout -b feat/1234-add-share-button-to-articles
```
In the pull request description, include `references #yyyy` or `fixes #yyyy` to link it to the issue you are working on.
4. Implement your changes.
2024-04-26 15:35:53 +03:00
<Callout type="info">
If you need help getting started, [join us on Discord](https://documen.so/discord).
</Callout>
2024-04-15 11:12:24 +03:00
## Building
2024-04-22 12:03:45 +03:00
Before pushing code or creating pull requests, please ensure you can successfully create a successful production build.
2024-04-15 11:12:24 +03:00
2024-04-22 12:03:45 +03:00
You can build the project by running the following command in your terminal:
2024-04-15 11:12:24 +03:00
```bash
npm run build
```
2024-04-22 12:03:45 +03:00
Once the project builds successfully, you can push your code changes or create a pull request.
2024-04-26 15:35:53 +03:00
<Callout emoji="💡">
Remember to run tests and perform any necessary checks before finalizing your changes. As a
result, we can collaborate more effectively and maintain a high standard of code quality in our
project.
</Callout>