Skip to content

Conversation

@EspenAlbert
Copy link
Owner

@EspenAlbert EspenAlbert commented Feb 12, 2026

Summary

  • Add path_groups on SrcConfig and include_groups on Destination so files can be scoped to a subset of destinations without duplicating skip_file_patterns
  • A destination's effective paths = config.paths + paths from its include_groups
  • Pydantic model_validator rejects unknown and duplicate group references at parse time

Config example

path_groups:
  regions:
    - src_path: .github/dev/.gitignore
    - src_path: .github/dev/extract_regions.py

destinations:
  - name: azure
    include_groups: [regions]
  - name: aws
    # receives only config.paths

Changes

  • models.py: add path_groups field to SrcConfig, include_groups field to Destination, resolve_paths() method, model validator (unknown + duplicate group rejection)
  • cmd_copy.py: replace config.paths with config.resolve_paths(dest) in _sync_paths
  • models_test.py: unit tests for resolve_paths (no groups, single group, multiple groups) and validation (unknown group, duplicate group)

@EspenAlbert EspenAlbert changed the title feat: Path groups for destination-scoped paths feat(copy): add path_groups for destination-scoped path sets Feb 12, 2026
@EspenAlbert EspenAlbert marked this pull request as ready for review February 12, 2026 19:21
@EspenAlbert EspenAlbert merged commit d4b41cf into main Feb 12, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant