.. _github-workflows: GitHub Workflows and Best Practices ==================================== Comprehensive guide to GitHub workflows, CI/CD, and collaboration best practices for Buildly projects. .. contents:: Table of Contents :local: :depth: 2 Overview -------- Buildly projects follow standardized GitHub workflows for collaboration, code review, and continuous integration. This guide covers branch strategies, pull requests, and automation. Getting Started --------------- Repository Setup ~~~~~~~~~~~~~~~~ **Repository Structure:** .. code-block:: text my-buildly-app/ ├── .github/ │ ├── workflows/ # GitHub Actions │ ├── ISSUE_TEMPLATE/ # Issue templates │ ├── PULL_REQUEST_TEMPLATE.md │ └── CODEOWNERS ├── src/ ├── tests/ ├── docs/ ├── .gitignore ├── README.md ├── CONTRIBUTING.md └── LICENSE **Initial Setup:** .. code-block:: bash # Clone repository git clone https://github.com/buildlyio/your-repo.git cd your-repo # Set up remote git remote -v # Create development branch git checkout -b develop Branch Strategy --------------- Git Flow ~~~~~~~~ **Main Branches:** - `main` - Production-ready code - `develop` - Integration branch for features - `feature/*` - Feature development - `bugfix/*` - Bug fixes - `hotfix/*` - Emergency fixes - `release/*` - Release preparation **Branch Naming:** .. code-block:: bash # Feature branches feature/user-authentication feature/api-integration # Bug fix branches bugfix/login-error bugfix/memory-leak # Hotfix branches hotfix/security-patch # Release branches release/v1.2.0 Workflow Example ~~~~~~~~~~~~~~~~ .. code-block:: bash # Start new feature git checkout develop git pull origin develop git checkout -b feature/new-feature # Work on feature git add . git commit -m "Add new feature implementation" # Keep branch updated git checkout develop git pull origin develop git checkout feature/new-feature git rebase develop # Push feature branch git push origin feature/new-feature # Create pull request on GitHub Commit Guidelines ----------------- Conventional Commits ~~~~~~~~~~~~~~~~~~~~ **Format:** .. code-block:: text ():