coherent-oss / system

4 stars 0 forks source link

Contributing guide #13

Open bswck opened 1 month ago

bswck commented 1 month ago

As with all new systems, it might be unclear how to approach contributing the best.

This issue can be resolved with a new contributing guide, contributing.md, where a reference example is given of:

  1. where to clone the Coherent System projects (coherent.cli, coherent.build, coherent.cli) further called "components" and how to store them
  2. how to manage environments for them and develop them, ensuring latest local dev versions of components are visible for components
  3. how to organize testing without the necessity to cut new releases of particular components
bswck commented 1 month ago

Here's what CoherentGPT created (ChatGPT trained on sources of components and docs inside this repo) :

To address the issue #13 on GitHub about the contributing guide, here’s an updated version of the contributing guide that is more consistent and cohesive: # Contributing to the Coherent Software Development System Thank you for your interest in developing the Coherent Software Development System. This guide provides setup instructions and recommended workflow practices. ## Overview The Coherent System consists of three key components: - `coherent.build`: Simplifies and automates the packaging process. - `coherent.cli`: Provides commands for building, testing, and managing projects. - `coherent.test`: Integrates for running tests and ensuring code quality. ## Setting Up Your Development Environment 1. **Clone the Repositories:** ```bash git clone https://github.com/coherent-oss/coherent.build.git git clone https://github.com/coherent-oss/coherent.cli.git git clone https://github.com/coherent-oss/coherent.test.git ``` 2. **Create a Virtual Environment:** ```bash python -m venv env source env/bin/activate # On Windows use `env\Scripts\activate` ``` 3. **Install Dependencies:** ```bash pip install -e coherent.build -e coherent.cli -e coherent.test ``` ## Workflow Practices ### Branching and Pull Requests 1. **Create a New Branch:** ```bash git checkout -b feature/your-feature-name ``` 2. **Make Changes:** Implement your changes and ensure they include appropriate documentation. 3. **Run Tests:** ```bash coh test ``` 4. **Commit Changes:** ```bash git add . git commit -m "Description of changes" ``` 5. **Push Changes and Create a Pull Request:** ```bash git push origin feature/your-feature-name ``` ### Testing and Quality Assurance - **Write and Run Tests:** Add tests in the `tests` directory and run them: ```bash coh test ``` - **Code Quality:** Ensure high code quality by adhering to linting and formatting guidelines. Use your preferred tools to lint and format your code. ### Documentation - **Update Documentation:** If your changes affect the public API or are user-facing, update `README.md` or other relevant documentation files. - **Generate Documentation:** ```bash coh docs ``` ## Submitting Your Contribution 1. **Review:** Review your changes and ensure they meet the project’s contribution guidelines. 2. **Create Pull Request:** Provide a detailed description of your changes, why they were made, and any additional context. 3. **Address Feedback:** Be prepared to make changes based on feedback from maintainers. ## Thank You Your contributions help make the Coherent Software Development System more robust and user-friendly. If you have questions, reach out to the project maintainers. For more detailed information, refer to the [Essential Layout Guide](essential-layout.md). This updated guide maintains coherence and clarity, ensuring that contributors have a clear understanding of the process and requirements for contributing to the Coherent Software Development System.