From 3de26a886bbf7f35ffb86c666a1fa1021f1f898c Mon Sep 17 00:00:00 2001 From: Filip Christiansen <22807962+filipchristiansen@users.noreply.github.com> Date: Tue, 14 Jan 2025 17:41:47 +0100 Subject: [PATCH] docs: add CONTRIBUTING.md and reference it in README.md --- CONTRIBUTING.md | 87 +++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 80 +++++++-------------------------------------- 2 files changed, 99 insertions(+), 68 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..a393d1d9 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,87 @@ +# Contributing to Gitingest + +Thanks for your interest in contributing to Gitingest! 🚀 Gitingest aims to be friendly for first time contributors, with a simple python and html codebase. We would love your help to make it even better. If you need any help while working with the code, please reach out to us on [Discord](https://discord.com/invite/zerRaGK9EC). + +## How to Contribute (non-technical) + +- **Create an Issue**: If you find a bug or have an idea for a new feature, please [create an issue](https://github.com/cyclotruc/gitingest/issues/new) on GitHub. This will help us track and prioritize your request. +- **Spread the Word**: If you like Gitingest, please share it with your friends, colleagues, and on social media. This will help us grow the community and make Gitingest even better. +- **Use Gitingest**: The best feedback comes from real-world usage! If you encounter any issues or have ideas for improvement, please let us know by [creating an issue](https://github.com/cyclotruc/gitingest/issues/new) on GitHub or by reaching out to us on [Discord](https://discord.com/invite/zerRaGK9EC). + +## How to submit a Pull Request + +1. Fork the repository. + +2. Clone the forked repository: + + ```bash + git clone https://github.com/cyclotruc/gitingest.git + cd gitingest + ``` + +3. Set up the development environment and install dependencies: + + ```bash + python -m venv .venv + source .venv/bin/activate + pip install -r requirements-dev.txt + pre-commit install + ``` + +4. Create a new branch for your changes: + + ```bash + git checkout -b your-branch + ``` + +5. Make your changes. Make sure to add corresponding tests for your changes. + +6. Stage your changes: + + ```bash + git add . + ``` + +7. Run the tests: + + ```bash + pytest + ``` + +8. Run the app locally using Docker to test your changes (optional): + + 1. Build the Docker image + + ``` bash + docker build -t gitingest . + ``` + + 2. Run the Docker container: + + ``` bash + docker run -d --name gitingest -p 8000:8000 gitingest + ``` + + 3. Open your browser and navigate to `http://localhost:8000` to see the app running. + +9. Confirm that everything is working as expected. If you encounter any issues, fix them and repeat steps 6 to 8. + +10. Commit your changes: + + ```bash + git commit -m "Your commit message" + ``` + + If `pre-commit` raises any issues, fix them and repeat steps 6 to 9. + +11. Push your changes: + + ```bash + git push origin your-branch + ``` + +12. Open a pull request on GitHub. Make sure to include a detailed description of your changes. + +13. Wait for the maintainers to review your pull request. If there are any issues, fix them and repeat steps 6 to 12. + + *(Optional) Invite project maintainer to your branch for easier collaboration.* diff --git a/README.md b/README.md index ce6c518f..74b2c971 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,18 @@ If you are hosting it on a domain, you can specify the allowed hostnames via env ALLOWED_HOSTS="example.com, localhost, 127.0.0.1" ``` +## ✔️ Contributing to Gitingest + +### Non-technical ways to contribute + +- **Create an Issue**: If you find a bug or have an idea for a new feature, please [create an issue](https://github.com/cyclotruc/gitingest/issues/new) on GitHub. This will help us track and prioritize your request. +- **Spread the Word**: If you like Gitingest, please share it with your friends, colleagues, and on social media. This will help us grow the community and make Gitingest even better. +- **Use Gitingest**: The best feedback comes from real-world usage! If you encounter any issues or have ideas for improvement, please let us know by [creating an issue](https://github.com/cyclotruc/gitingest/issues/new) on GitHub or by reaching out to us on [Discord](https://discord.com/invite/zerRaGK9EC). + +### Technical ways to contribute + +Gitingest aims to be friendly for first time contributors, with a simple python and html codebase. If you need any help while working with the code, reach out to us on [Discord](https://discord.com/invite/zerRaGK9EC). For detailed instructions on how to make a pull request, see [CONTRIBUTING.md](./CONTRIBUTING.md). + ## 🛠️ Stack - [Tailwind CSS](https://tailwindcss.com) - Frontend @@ -109,74 +121,6 @@ If you are hosting it on a domain, you can specify the allowed hostnames via env Check out the NPM alternative 📦 Repomix: -## ✔️ Contributing to Gitingest - -Gitingest aims to be friendly for first time contributors, with a simple python and html codebase. If you need any help while working with the code, reach out to us on [Discord](https://discord.com/invite/zerRaGK9EC). - -### Ways to help (non-technical) - -- Provide your feedback and ideas on Discord -- Open an issue on GitHub to report a bug / submit a feature request -- Talk about Gitingest on social media - -### How to submit a PR - -1. Fork the repository & clone it locally -2. Setup the dev environment (see Development section bellow) -3. Run unit tests with `pytest` -4. Commit your changes and run `pre-commit` -5. Open a pull request on GitHub for review and feedback -6. (Optionnal) Invite project maintainer to your branch for easier collaboration - -## 🔧 Development - -### Run web UI locally - -1. Clone the repository: - - ```bash - git clone https://github.com/cyclotruc/gitingest.git - cd gitingest - ``` - -2. Install dependencies: - - ```bash - pip install -r requirements-dev.txt - python -m venv .venv - source .venv/bin/activate - pre-commit install - ``` - -3. Run the application: - - ```bash - cd src - uvicorn main:app --reload - ``` - -4. Run unit tests: - - ```bash - pytest - ``` - -The application should be available at `http://localhost:8000`. - -### Working on the CLI - -1. Install the package in dev mode: - - ```bash - pip install -e . - ``` - -2. Run the CLI: - - ```bash - gitingest --help - ``` - ## Project Growth [![Star History Chart](https://api.star-history.com/svg?repos=cyclotruc/gitingest&type=Date)](https://star-history.com/#cyclotruc/gitingest&Date)