Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@
# Repo settings — admins only
/.github/settings.yml @open-component-model/admins

# Per-project entries are added here by the TSC after each project merges.
# OWNERS.md within each project remains TSC-controlled.
# Per-project entries are added by submitters as part of their project proposal PR.
# The TSC reviews and approves these entries before merge.
#
# Example (added post-merge for each approved project):
# /my-plugin/ @alice @bob
# /my-plugin/OWNERS.md @open-component-model/tsc
# Example:
# /my-plugin/ @alice @bob
22 changes: 13 additions & 9 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,30 +13,34 @@ Projects live directly at the root of this repository:
```
<your-project-name>/
├── README.md # Required: describe what the project does and why
├── OWNERS.md # Required: list at least one maintainer (GitHub handle)
└── ...
```

### 2. Open a Pull Request
### 2. Add a CODEOWNERS entry

Your submission PR **must** include a CODEOWNERS change that assigns at least one
maintainer to your project directory:

```
# In .github/CODEOWNERS — add at the end:
/<your-project-name>/ @your-github-handle @optional-co-maintainer
```

### 3. Open a Pull Request

- Title format: `feat: add <project-name>` ([Conventional Commits](https://www.conventionalcommits.org/))
- The workflow will automatically post a review checklist comment tagging `@open-component-model/tsc`

### 3. TSC Review
### 4. TSC Review

A TSC member reviews the submission against the checklist:

- Project scope is compatible with OCM
- `OWNERS.md` lists at least one maintainer willing to maintain the project
- CODEOWNERS entry lists at least one maintainer willing to maintain the project
- No security or licensing concerns

TSC approval is enforced natively via CODEOWNERS — at least one TSC member must approve the PR before it can merge.

### 4. Post-Merge

The TSC will add a CODEOWNERS entry for your project, granting you and any listed
co-maintainers review authority over `/<your-project-name>/`.

## Contributing to an Existing Project

Standard PR process — the TSC approval gate only activates when a new
Expand Down
9 changes: 5 additions & 4 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,11 @@ The TSC conducts periodic health checks on active projects. Projects inactive fo

## Code Ownership

Project-specific CODEOWNERS entries are added by the TSC after a project merges.
Project owners have full autonomy over their top-level project directory but cannot
modify repository-wide CI workflows. The `OWNERS.md` file within each project remains
TSC-controlled to prevent unilateral privilege escalation.
Project submissions must include a CODEOWNERS entry assigning maintainers to the
project directory. The TSC reviews and approves these entries as part of the
submission PR. Project owners have full autonomy over their top-level project
directory but cannot modify repository-wide CI workflows. Changes to CODEOWNERS
remain TSC-controlled to prevent unilateral privilege escalation.

## Governance Evolution

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ All projects here have been reviewed and approved by the **TSC** before merge.
## Projects

Community projects live directly at the root of this repository. Each project is an
independent directory with its own `README.md` and `OWNERS.md`.
independent directory with its own `README.md`.

## Contributing a New Project

Expand Down