We welcome contributions to the Invoice Generator! Whether it's fixing bugs, adding new features, improving documentation, or helping with design, every bit of help is appreciated. This document outlines the guidelines for contributing to the project.
- First, create a fork of the project by clicking the "Fork" button on the top-right of the GitHub page.
- Clone the forked repository to your local machine:
git clone https://github.com/your-username/invoice-generator.git
cd invoice-generator
Ensure that you have Bun installed to manage the project. Run the following command to install the dependencies:
bun install
Create a new branch for your changes:
git checkout -b feature/your-feature-name
Use a descriptive name for your branch to reflect the feature or fix you're working on.
- Use shadcn components and Zustand for state management where necessary.
- Follow the project’s coding conventions and ensure your code is clean and readable.
- Add or update tests where applicable.
Make sure your changes work as expected by running the project locally:
bun run dev
Commit your changes using clear and concise commit messages. Follow the Conventional Commits specification for consistency:
git commit -m "feat: add new invoice template"
Push your branch to your forked repository:
git push origin feature/your-feature-name
- Go to the original repository: Invoice Generator.
- Click the "New Pull Request" button.
- Select your branch and compare it to the
preview
branch of the original repository. - Fill out the pull request template with details of the change you made.
- Wait for your PR to be reviewed and address any requested changes.
- Use Tailwind CSS for styling to maintain consistency across the app.
- Keep your code clean and modular. Separate components logically.
- Use Zustand for managing the global state.
- Use shadcn for UI components to ensure consistency.
If you encounter any issues while working on the project:
- First, check the issue tracker to see if the issue already exists.
- If not, create a new issue and describe the problem in detail.
- Be respectful and considerate of others.
- Follow the project's Code of Conduct.
Thank you for your contribution!