Summary
Add support for mandatory files that are automatically synced to all organization repos, regardless of their Type or SubscribeTo property values.
Problem
The current model is entirely opt-in: repos must set SubscribeTo values to receive files. Some files should be enforced organization-wide (e.g., security policies, code of conduct, contribution guidelines) without requiring each repo to subscribe.
Proposed solution
Introduce a Repos/_Mandatory/ (or similar) folder whose contents are pushed to every repo in the organization:
Repos/
├── _Mandatory/
│ └── .github/
│ └── SECURITY.md
├── _Global/
│ └── ...
├── Module/
│ └── ...
└── ...
Behavior
- Files in
_Mandatory/ are included in every repo's sync, unconditionally.
- No subscription is needed — if a repo has a
Type set (or even if it doesn't), it receives mandatory files.
- Mandatory files are layered under subscribed files in precedence, so a repo's subscribed file set can still override a mandatory file if needed (or mandatory files always win — this is a design decision to make).
Scope consideration
Decide whether mandatory files apply to:
- All repos with a
Type property set (i.e., repos that have opted into the Distributor system)
- All repos in the organization, period
The former is safer as a starting point to avoid touching repos not yet onboarded.
Acceptance criteria
Summary
Add support for mandatory files that are automatically synced to all organization repos, regardless of their
TypeorSubscribeToproperty values.Problem
The current model is entirely opt-in: repos must set
SubscribeTovalues to receive files. Some files should be enforced organization-wide (e.g., security policies, code of conduct, contribution guidelines) without requiring each repo to subscribe.Proposed solution
Introduce a
Repos/_Mandatory/(or similar) folder whose contents are pushed to every repo in the organization:Behavior
_Mandatory/are included in every repo's sync, unconditionally.Typeset (or even if it doesn't), it receives mandatory files.Scope consideration
Decide whether mandatory files apply to:
Typeproperty set (i.e., repos that have opted into the Distributor system)The former is safer as a starting point to avoid touching repos not yet onboarded.
Acceptance criteria
_Mandatory/(or agreed-upon name) folder underRepos/is recognized by the workflow_Mandatory/are synced to all applicable repos without requiringSubscribeToTypeset