Skip to content

Definition and automation of the ScottyLabs GitHub organization's governance model

License

Notifications You must be signed in to change notification settings

ScottyLabs/governance

Repository files navigation

ScottyLabs Governance

This repository defines the organizational structure, team membership, and project ownership for ScottyLabs. It serves as the source of truth for our GitHub organization's governance model, formalizing permission as code. The specific permissions granted to contributors and each team are detailed in synchronizer/README.md.

Repository Structure

.
├── __meta
│   ├── schemas      # JSON schemas for validation
│   ├── synchronizer # Python-based permission synchronizer
│   ├── validators   # Rust-based validation tools
│   └── visualizer   # Force graph for visualizing relationships
├── contributors     # Individual contributor definitions
├── docs             # Specific instructions for all file types
├── scripts          # Utility scripts for environment secret management
└── teams            # Team definitions with members and repos

Adding a New Contributor

For each team you want to join (and you must join at least one):

  1. Fork the repository and clone it to your local machine.

  2. Follow the instructions in docs/contributors.md to add your information as a new contributor.

  3. Update the file of the team you want to join under the teams/ directory:

    • If the team file has an applicants field, add yourself there.
    • Otherwise, add yourself to the contributors field.
  4. Review each project's repo's CONTRIBUTING.md file to understand any team-specific contribution guidelines. For example, some teams might require you submit a Google Form.

    • The link to each repo is in the format of https://github.com/<organization>/<repo>, where <organization>/<repo> is listed in the repos field of the team file (e.g. https://github.com/ScottyLabs/governance).
  5. Submit a PR once you are ready. Familiarize yourself with the PR Review Process to understand the expectations for contributors and reviewers.

Adding a New Team

  1. Fork the repository and clone it to your local machine.

  2. Follow the instructions in docs/teams.md to create a new team file.

  3. Submit a PR once you are ready. Familiarize yourself with the PR Review Process to understand the expectations for contributors and reviewers.

Validations

See the validators README for more information on the checks your PR must pass before it can be merged.

Synchronization

See the synchronizer README for more information on the synchronization process.

License

This project is licensed under Apache-2.0, and is heavily inspired by Concourse's governance.

About

Definition and automation of the ScottyLabs GitHub organization's governance model

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 36