# Contributing to Panurus

We welcome contributions to Panurus!

Note that we follow the [LFDT Charter](https://www.lfdecentralizedtrust.org/about/charter). 
All new inbound code contributions to the project shall be made under the Apache License, Version 2.0. 
All outbound code will be made available under the Apache License, Version 2.0.

## Code of Conduct

Please note that we have a [Code of Conduct](CODE_OF_CONDUCT.md). Please follow it in all your interactions with the project.

## How to Contribute

1.  **Fork the repository** on GitHub.
2.  **Clone your fork** locally.
3.  **Create a new branch** for your feature or bugfix.
4.  **Make your changes**.
5.  **Run tests** (see [Testing Guide](docs/development/testing.md)) to ensure your changes don't break anything.
6.  **Commit your changes** using the sign-off flag (`-s`).
7.  **Push your branch** to your fork.
8.  **Submit a Pull Request** (PR) to the `main` branch of the upstream repository.

## Good first issues

We maintain a set of issues labeled "good first issue" to help new contributors find approachable tasks and get started quickly. 
If you're contributing for the first time, please consider picking one of these issues:

- Browse the current list here: https://github.com/LFDT-Panurus/panurus/issues?q=is%3Aissue+state%3Aopen+label%3A%22good+first+issue%22
- Leave a comment on the issue saying you'd like to work on it and ask to be assigned.
- If you need clarification or guidance, ask on our Discord channel (`#panurus`) or comment on the issue — maintainers and community members are happy to help.
- Keep your first PR small and focused. Follow the project guidelines: run tests, sign your commits (`-s`), and rebase to keep a linear history.

## Detailed Development Guidelines

Please refer to the [Development Guidelines](docs/development/development.md) for detailed information on:

*   **Commit Sign-off**: All commits must be signed off (`git commit -s`).
*   **Linear History**: We use rebase workflow, not merge commits.
*   **Coding Standards**: See [docs/development/general.md](docs/development/general.md) and [docs/development/idiomatic.md](docs/development/idiomatic.md) for Go coding standards.

## Reporting Issues

If you find a bug or have a feature request, please search the [Issues](https://github.com/LFDT-Panurus/panurus/issues) to see if it has already been reported. If not, please open a new issue.

## Community

Join us on [Discord](https://discord.gg/hyperledger) in the `#panurus` channel.
