Development Guidelines

Development Guidelines

Development Process

Branch Protection

  • main and dev branches are protected
  • All merges require code review from at least one CAPE team member other than the author, except for special operations approved by the CAPE team

Issue and Pull Request Guidelines

  1. Issue Management
  • All feature changes must start with an Issue
  • Issues should clearly describe the purpose, expected behavior, and scope of changes
  1. Pull Request Requirements
  • One Issue corresponds to one Pull Request
  • Each Pull Request should contain only one commit
  • PR titles must follow Angular commit conventions (reference)
  • Feature branches should be deleted after PR completion
  1. Feature Development Process
  • Development should be conducted in task-specific feature branches
  • Ideally, new feature development should be split into three separate PRs:
    1. Feature implementation (feat)
    2. Documentation update (doc)
    3. Test implementation (test)
  • All components may be included in a single feature PR if necessary, but must be clearly documented in the commit message

Key Package Version Tracking

The following lists the version information of key packages, manually verified periodically. Actual versions in use should refer to pyproject.toml.

Package NameMinimum VersionCurrent VersionMinimum Version ReleaseCurrent Version ReleaseReference
SDV1.17.41.17.42025/01/202025/01/20GitHub
SDMetrics0.18.00.18.02024/12/142024/12/14GitHub
anonymeter1.0.01.0.02024/02/022024/02/02GitHub

Development Environment Setup

Package Management Notes

uv venv --python 3.10
uv sync
uv --project petsard add "urllib3>=2.2.2"
uv --project petsard add --group dev "tornado>=6.4.2"
uv export --format requirements-txt --no-group dev --no-editable > requirements.txt
uv export --format requirements-txt --all-groups --no-editable > requirements-dev.txt

Version Control Notes

semantic-release generate-config -f toml --pyproject >> pyproject.toml

Following Angular commit conventions:

  • feat: New features
  • fix: Bug fixes
  • docs: Documentation changes
  • style: Code style changes
  • refactor: Code refactoring
  • test: Test-related changes
  • chore: Build or tooling updates