diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 80276dc..4e034db 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,9 +2,9 @@ name: CI on: push: - branches: [ main, develop ] + branches: [ main, dev, master, claude/* ] pull_request: - branches: [ main, develop ] + branches: [ main, dev, master ] jobs: lint: diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 070dc2c..688b43d 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -2,7 +2,7 @@ name: Pre-commit Checks on: pull_request: - branches: [ main, develop ] + branches: [ main, develop, master, claude/* ] jobs: pre-commit: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 0177ce3..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,232 +0,0 @@ -# Contributing to CABiNet - -Thank you for your interest in contributing to CABiNet! This document provides guidelines and best practices for contributing to the project. - -## Development Setup - -### Prerequisites -- Python 3.8 or higher -- CUDA-capable GPU (recommended for training) -- Git - -### Installation - -1. Clone the repository: -```bash -git clone https://github.com/dronefreak/CABiNet.git -cd CABiNet -``` - -2. Create a virtual environment: -```bash -python -m venv venv -source venv/bin/activate # On Windows: venv\Scripts\activate -``` - -3. Install dependencies: -```bash -pip install -r requirements.txt -pip install -e . -``` - -4. Install development tools: -```bash -pip install pytest black isort flake8 mypy -``` - -## Code Quality - -### Style Guidelines - -We follow PEP 8 with some modifications: -- Maximum line length: 100 characters -- Use Black for code formatting -- Use isort for import sorting -- Type hints are encouraged but not required - -### Pre-commit Checks - -Before submitting a PR, run these checks: - -```bash -# Format code -black src/ -isort src/ - -# Lint code -flake8 src/ - -# Type check -mypy src/ - -# Run tests -pytest tests/ -``` - -### Code Organization - -- **Models**: `src/models/` - Neural network architectures - - Shared layers in `src/models/layers/` - - Constants in `src/models/constants.py` -- **Datasets**: `src/datasets/` - Data loading and augmentation -- **Utils**: `src/utils/` - Helper functions and utilities -- **Scripts**: `src/scripts/` - Training, evaluation, visualization scripts - -### Naming Conventions - -- **Classes**: PascalCase (e.g., `CABiNet`, `HardSwish`) -- **Functions/Methods**: snake_case (e.g., `forward`, `get_params`) -- **Constants**: UPPER_SNAKE_CASE (e.g., `OHEM_DIVISOR`, `DEFAULT_SCORE_THRESHOLD`) -- **Private methods**: Prefix with underscore (e.g., `_initialize_weights`) - -## Pull Request Process - -1. **Fork and Branch** - - Fork the repository - - Create a feature branch: `git checkout -b feature/your-feature-name` - -2. **Make Changes** - - Write clear, concise commit messages - - Add tests for new functionality - - Update documentation as needed - -3. **Test Your Changes** - - Ensure all tests pass - - Add new tests for new features - - Check code style compliance - -4. **Submit PR** - - Push to your fork - - Open a Pull Request against `main` branch - - Fill out the PR template completely - - Link any related issues - -5. **Code Review** - - Address reviewer feedback - - Keep PR focused and reasonably sized - - Be responsive to questions - -## Commit Message Format - -Follow the Conventional Commits format: - -``` -(): - - - -