Skip to content

Latest commit

 

History

History
59 lines (40 loc) · 1.96 KB

File metadata and controls

59 lines (40 loc) · 1.96 KB

Contributing to TheWorkshop

Thanks for contributing. TheWorkshop's quality comes from keeping its boundary small.

Scope

In scope:

  • clearer WORKSHOP.md contract semantics
  • safer and more useful init, check, or status behavior
  • Codex skill and plugin packaging compatibility
  • focused tests, documentation, accessibility, and portability improvements

Out of scope:

  • project-management hierarchies, dashboards, or task trackers
  • agent orchestration, custom subagent telemetry, or background runners
  • reward systems, spend accounting, memory curation, or provider adapters
  • domain workflows already owned by another skill or Codex surface
  • hosted-product features and private operator workflows

Before proposing a new subsystem, explain why the outcome cannot be achieved through the contract, native Codex behavior, or an existing specialized skill.

Quality bar

Every pull request should include:

  1. A concrete problem and expected behavior.
  2. The smallest coherent change.
  3. Tests for behavior changes.
  4. Documentation for interface or contract changes.
  5. Compatibility and rollback notes when relevant.

Development

Requires Python 3.11 or newer. No third-party packages are needed.

python3 -m compileall -q skills/theworkshop/scripts tests
python3 -m unittest discover -s tests -v
git diff --check

For release preparation, also run the current Codex skill and plugin validators described in RELEASE_CHECKLIST.md.

Pull request checklist

  • I linked an issue or explained why none is needed.
  • I kept the change within the lean product boundary.
  • I added or updated tests for non-trivial behavior.
  • I updated README.md, the skill reference, or templates when needed.
  • I described risk and rollback for risky changes.

Triage labels

Maintainers use one type label and one status label:

  • type:bug, type:enhancement, docs
  • status:needs-repro, status:accepted, status:out-of-scope