> For the complete documentation index, see [llms.txt](https://almaze.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://almaze.gitbook.io/docs/contribution-guidelines.md).

# Contribution Guidelines

We welcome contributions! Help us expand the ALMAZE ecosystem.

#### [Development Setup](/docs/contribution-guidelines.md)

```java
# Backend development
cd almaze-api
pip install -r requirements-dev.txt

# Frontend development
cd almaze-app
```

#### [Contribution Guidelines](/docs/contribution-guidelines.md)

**Contribution Guidelines for ALMAZE**

To ensure a smooth and collaborative development process, we ask that all contributors follow these guidelines:

* **Follow Our Code of Conduct**
  * We are committed to maintaining a welcoming, inclusive, and respectful environment for all contributors.
  * Be respectful, patient, and considerate in all communication and interactions within the community.
  * Any form of harassment, discrimination, or unprofessional behavior will not be tolerated.
  * Familiarize yourself with our full **Code of Conduct** to ensure a positive, collaborative atmosphere for everyone involved.
* **Submit Detailed Pull Requests**
  * When submitting pull requests (PRs), please ensure they are **detailed and clear**.
  * Provide a thorough description of the changes made, including the reasoning behind them and any relevant context.
  * Reference any related issues or features, and explain how the PR addresses them.
  * Include a summary of testing that has been done to verify the changes, and note if further testing is required.
* **Maintain Clean, Documented Code**
  * Ensure that your code is **clean, readable, and maintainable**. Follow consistent coding standards and practices across the project.
  * **Document** your code where necessary to explain complex logic, functions, or non-obvious implementation decisions.
  * Use clear, meaningful variable and function names that describe their purpose.
  * Properly format and organize your code to enhance readability and ease of understanding for other developers.
* **Pass All Automated Tests**
  * Ensure that your contributions pass all **automated tests** before submitting a pull request.
  * Run the existing test suite locally to ensure that your changes don’t break any existing functionality.
  * Write additional unit or integration tests for any new features or bug fixes if applicable, ensuring that they cover a wide range of edge cases.
  * Automated tests should pass successfully on the CI/CD pipeline before your changes are merged.

By adhering to these guidelines, you help ensure the continued quality, stability, and success of the ALMAZE project. Thank you for contributing!
