Files
MultiChatOverlay/CONTRIBUTING.md

3.2 KiB

Contribution & Workflow Guide

Welcome to the MultiChatOverlay project! To ensure we can collaborate effectively and avoid errors, we follow a strict and professional development workflow.

📜 The Golden Rules

  1. Gitea is the Source of Truth. The main branch on our Gitea server is the only source of truth.
  2. NEVER Commit to main. All work must be done in a separate "feature branch" and submitted as a Pull Request.
  3. NEVER Work on the Server. The staging server (192.168.10.33) is for testing the main branch. It is NOT a development environment. All development must be done on your local machine.

🛠️ Your Local Setup (One Time)

You only need to do this once.

  1. Install Tools:
  2. Clone the Repo: Clone the project from our Gitea server to your local computer:
    git clone [https://gitea.ramforth.net/ramforth/MultiChatOverlay.git](https://gitea.ramforth.net/ramforth/MultiChatOverlay.git)
    cd MultiChatOverlay
    
  3. Install VS Code Extensions:
    • Open the MultiChatOverlay folder in VS Code.
    • Go to the Extensions tab and install:
      • Python (Microsoft)
      • Gemini (Google)
  4. Create Your Virtual Environment:
    # From the terminal in VS Code
    python -m venv venv
    
    • VS Code should auto-detect this and ask to use it. Click "Yes."
  5. Install Dependencies:
    # Make sure your 'venv' is activated
    pip install -r requirements.txt
    

You are now ready to develop!


💡 Your Daily Workflow (The "Loop")

This is the process you will follow every time you want to add a new feature or fix a bug.

  1. Get Latest Code: Make sure your local main branch is up-to-date.
    git checkout main
    git pull
    
  2. Create a New Branch: Create a new branch for your task. Name it clearly (e.g., feature/twitch-auth, bugfix/css-error).
    git checkout -b feature/my-new-feature
    
  3. Write Code!
    • This is where you do your work.
    • Use the Gemini plugin in VS Code to help you.
    • Pro-tip: Open the Gemini chat and give it context by pasting in files like DEVELOPMENT_PLAN.md or the TASKS.md file so it understands the goal.
  4. Test Locally: Run the FastAPI server on your local machine to make sure your feature works and doesn't break anything.
    uvicorn main:app --reload
    
  5. Commit Your Work: Once it's working, save your changes.
    git add .
    git commit -m "Add new feature: brief description here"
    
  6. Push Your Branch: Push your new branch (not main) to Gitea.
    git push -u origin feature/my-new-feature
    
  7. Open a Pull Request:
    • Go to the Gitea website.
    • You will see a prompt to "Open a Pull Request" for your new branch.
    • Fill it out, describe your changes, and submit it for review.

A project lead will then review your code, and once approved, it will be merged into the main branch and deployed to the staging server for final testing.