Files
santifer--career-ops/GOVERNANCE.md
T
wehub-resource-sync d083df1fdb
CodeQL Analysis / Analyze (javascript-typescript) (push) Failing after 2s
Web CI / web typecheck + build (push) Failing after 1s
Release Please / release-please (push) Failing after 1s
CodeQL Analysis / Analyze (go) (push) Failing after 16s
chore: import upstream snapshot with attribution
2026-07-13 12:02:43 +08:00

2.7 KiB

Governance

Overview

career-ops is maintained by @santifer under a BDFL (Benevolent Dictator for Life) model with a clear path for community members to earn trust and take on responsibilities.

The goal is to build a self-sustaining community where the project thrives even when the maintainer is offline.

Decision Making

  • Architecture decisions (CLAUDE.md, scoring system, data contract) — maintainer only
  • New features — require an approved issue before PR submission
  • Bug fixes — can be submitted directly with a clear description
  • Documentation and translations — welcome from anyone, low barrier

Contributor Ladder

Anyone can grow their role in the project. Roles are earned through sustained, quality contributions — not requested or assigned.

Participant

Everyone starts here.

  • Follow the Code of Conduct
  • Open issues, comment on PRs, help others in Discord
  • Submit bug reports with reproduction steps

Contributor

Earned after 2+ merged PRs.

  • Listed in release notes when their contributions ship
  • Input is weighted more heavily in issue discussions
  • Can be tagged for review on PRs in their area of expertise

Triager

Earned after sustained contribution + demonstrated understanding of the project's architecture.

  • Can label and categorize issues
  • Can close duplicates and redirect support questions
  • Can request changes on PRs (non-binding)
  • Nominated by the maintainer based on observed behavior

Reviewer

Earned after 5+ quality PRs merged + track record of helpful code reviews.

  • Can approve PRs (maintainer still merges)
  • Listed in CONTRIBUTORS.md
  • Invited to architectural discussions before major changes

Maintainer

Earned after 6+ months of sustained contribution + demonstrated alignment with project values.

  • Can merge PRs
  • Can release new versions
  • Participates in governance decisions
  • Voted in by existing maintainers

How to Level Up

You don't apply for roles. They emerge naturally:

  1. Start contributing — fix a bug, translate a mode, improve docs
  2. Be consistent — one quality PR per month beats ten rushed ones
  3. Help others — answer questions in Discord, review PRs, triage issues
  4. Understand the project — read CLAUDE.md, DATA_CONTRACT.md, the architecture docs
  5. The maintainer will notice — and reach out when the time is right

Values

  • Quality over quantity — we'd rather have 10 great features than 100 mediocre ones
  • User files are sacred — the data contract is non-negotiable
  • Human in the loop — the system recommends, the human decides
  • Respect everyone's time — maintainers, contributors, and users alike