Skip to content

Commit

Permalink
Merge pull request #134 from slaarti/contrib_include
Browse files Browse the repository at this point in the history
Replace Contributing in docs w/include to file in repo root.
  • Loading branch information
igorbenav authored Jul 23, 2024
2 parents 69465e6 + 6462230 commit 9582c1c
Showing 1 changed file with 1 addition and 94 deletions.
95 changes: 1 addition & 94 deletions docs/community/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,94 +1 @@
# Contributing to FastAPI-boilerplate

Thank you for your interest in contributing to FastAPI-boilerplate! This guide is meant to make it easy for you to get started.
Contributions are appreciated, even if just reporting bugs, documenting stuff or answering questions. To contribute with a feature:

## Setting Up Your Development Environment

### Cloning the Repository
Start by forking and cloning the FastAPI-boilerplate repository:

1. **Fork the Repository**: Begin by forking the project repository. You can do this by visiting https://github.com/igormagalhaesr/FastAPI-boilerplate and clicking the "Fork" button.
1. **Create a Feature Branch**: Once you've forked the repo, create a branch for your feature by running `git checkout -b feature/fooBar`.
1. **Testing Changes**: Ensure that your changes do not break existing functionality by running tests. In the root folder, execute poetry run `python -m pytest` to run the tests.

### Using Poetry for Dependency Management
FastAPI-boilerplate uses Poetry for managing dependencies. If you don't have Poetry installed, follow the instructions on the [official Poetry website](https://python-poetry.org/docs/).

Once Poetry is installed, navigate to the cloned repository and install the dependencies:
```sh
cd FastAPI-boilerplate
poetry install
```

### Activating the Virtual Environment
Poetry creates a virtual environment for your project. Activate it using:

```sh
poetry shell
```

## Making Contributions

### Coding Standards
- Follow PEP 8 guidelines.
- Write meaningful tests for new features or bug fixes.

### Testing with Pytest
FastAPI-boilerplate uses pytest for testing. Run tests using:
```sh
poetry run pytest
```

### Linting
Use mypy for type checking:
```sh
mypy src
```

Use ruff for style:
```sh
ruff check --fix
ruff format
```

Ensure your code passes linting before submitting.

### Using pre-commit for Better Code Quality

It helps in identifying simple issues before submission to code review. By running automated checks, pre-commit can ensure code quality and consistency.

1. **Install Pre-commit**:
- **Installation**: Install pre-commit in your development environment. Use the command `pip install pre-commit`.
- **Setting Up Hooks**: After installing pre-commit, set up the hooks with `pre-commit install`. This command will install hooks into your .git/ directory which will automatically check your commits for issues.
1. **Committing Your Changes**:
After making your changes, use `git commit -am 'Add some fooBar'` to commit them. Pre-commit will run automatically on your files when you commit, ensuring that they meet the required standards.
Note: If pre-commit identifies issues, it may block your commit. Fix these issues and commit again. This ensures that all contributions are of high quality.
1. **Pushing Changes and Creating Pull Request**:
Push your changes to the branch using `git push origin feature/fooBar`.
Visit your fork on GitHub and create a new Pull Request to the main repository.

### Additional Notes

**Stay Updated**: Keep your fork updated with the main repository to avoid merge conflicts. Regularly fetch and merge changes from the upstream repository.
**Adhere to Project Conventions**: Follow the coding style, conventions, and commit message guidelines of the project.
**Open Communication**: Feel free to ask questions or discuss your ideas by opening an issue or in discussions.

## Submitting Your Contributions

### Creating a Pull Request
After making your changes:

- Push your changes to your fork.
- Open a pull request with a clear description of your changes.
- Update the README.md if necessary.


### Code Reviews
- Address any feedback from code reviews.
- Once approved, your contributions will be merged into the main branch.

## Code of Conduct
Please adhere to our [Code of Conduct](CODE_OF_CONDUCT.md) to maintain a welcoming and inclusive environment.

Thank you for contributing to FastAPI-boilerplate🚀
--8<-- "CONTRIBUTING.md"

0 comments on commit 9582c1c

Please sign in to comment.