Skip to content

Latest commit

 

History

History
145 lines (88 loc) · 4.48 KB

CONTRIBUTING.md

File metadata and controls

145 lines (88 loc) · 4.48 KB

Contributing to MichaelAngel.io

Thank you for considering contributing to the MichaelAngel.io Framework! We appreciate your time and effort in helping us make this project better.

Getting Started

How Can You Contribute?

There are several ways you can contribute to MichaelAngel.io:

  • Bug Reports: If you find bugs, inconsistencies, or any issues, please report them.
  • Feature Requests: Suggest new features that could be beneficial to the project.
  • Documentation: Help us improve the documentation or add missing details.
  • Code Contributions: Fix bugs, improve existing code, or add new features.
  • Testing: Test new features and fixes, provide valuable feedback.

Development Environment Setup

  1. Fork the Repository

    Start by forking the repository to your personal GitHub account.

    git clone https://github.com/your-username/MichaelAngel.io.git
  2. Create a Branch

    Create a new branch for your changes to ensure that they are isolated and easy to review.

    git checkout -b feature/your-feature-name
  3. Install Dependencies

    Make sure to have Python 3.8+ installed and then install the required dependencies.

    pip install -r requirements.txt
  4. Make Your Changes

    Implement your feature, fix a bug, or improve documentation.

  5. Run Tests

    Before submitting your changes, run the tests to verify your changes do not break anything.

    pytest
  6. Commit Changes

    Use meaningful commit messages to describe your changes.

    git commit -m "Add feature: your feature description"
  7. Push to GitHub

    Push your branch to your fork.

    git push origin feature/your-feature-name
  8. Create a Pull Request

    Navigate to the main repository and create a pull request (PR). Provide a clear description of the changes you made and their purpose.

Guidelines

Code Style

  • Follow PEP 8 guidelines for Python code.
  • Write descriptive variable and function names.
  • Include meaningful comments when necessary.

Commit Messages

  • Keep your commit messages short and informative.
  • Use imperative mood (e.g., "Add feature" instead of "Added feature").
  • Provide a more detailed explanation if necessary in the extended commit body.

Pull Requests

  • Ensure your code passes all tests before submitting a PR.
  • Keep pull requests focused on a single change (feature, fix, or improvement).
  • Reference related issues in the PR description if applicable.

Tests

  • Please add tests for new features.
  • Fixing a bug? Please add a test that reproduces the bug.

Code of Conduct

This project adheres to a Code of Conduct. By participating, you are expected to uphold this code.

Issue Reporting

If you encounter issues with the project, please use GitHub Issues to report them. When reporting, please be as detailed as possible:

  • Provide the steps to reproduce the issue.
  • Include your system information and environment setup.
  • If applicable, add screenshots or error messages.

Attribution Template

For proper attribution, include the following details in a new or existing ATTRIBUTION.md file:

[Modified Project Title]

**Original Work:** Based on "MichaelAngel.io" by M1ck4, licensed under the [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/).

**Modifications:** Modified by [Modifier's Name] on [Date]. Changes include...

**License:** This derivative work is licensed under the [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/).

**Material Link:** [Link to the modified project material]

**Availability:** Available under the same license conditions as the original.
```## Suggestions and Ideas

We are always open to new ideas! Feel free to open an issue for suggestions or discuss them in your pull request.

## Thank You!

View MichaelAngel.io on GitHub

Ethical AI


Creative Commons License