Skip to content

Latest commit

 

History

History
75 lines (59 loc) · 3.56 KB

File metadata and controls

75 lines (59 loc) · 3.56 KB

Contributing

Read POLICY.md for branches, review and release rules and AGENTS.md for source boundaries. Installation and skill usage are in README.md.

Make a change

Start from dev on a short-lived branch. Use a separate worktree when another task owns the checkout, and preserve its uncommitted work. Read the target skill and linked references before editing. Shared workflow rules belong in skills/crw-plan/references/integrations.md; operation-specific guidance belongs with that skill.

Keep each PR focused on one outcome. Explain the triggering problem, expected behavior and acceptance example in the PR even when there is a Linear link. Access to the maintainer's private project is not a contribution prerequisite. Korean and English contributions are welcome. Use only material you have the right to contribute, preserve imported notices, and omit private task records and credentials. Contributions are provided under this repository's MIT license. External dependencies retain their own licenses.

For bugs, open a GitHub issue with the source commit, relevant skill, host version, expected behavior, and a minimal redacted reproduction. Use SECURITY.md for vulnerabilities. Private Linear links may provide context, but keep enough public detail in the issue or PR for contributors to understand the change. Do not copy private Linear descriptions, attachments, or task transcripts into public reports. Check integration settings before linking: a bot linkback may copy an entire issue description, not just its URL.

Check locally

Use Python 3.10 or newer. No dependency installation is needed for these checks:

python3 scripts/ci/validate.py
python3 -m unittest discover -s scripts/ci/tests -v
python3 scripts/ci/contracts.py
git diff --check

Changes under packages/ also need uv and Python 3.11 or newer, because that is what those packages require:

python3 scripts/ci/packages.py

It locks, installs and tests both packages from this checkout, then builds both wheels. The bridge's worktree tests create repositories under the pytest temporary directory, so the check refuses to run when the system temporary directory is itself inside a Git checkout; set CRW_PACKAGES_TMPDIR to a clean path if yours is.

Installer tests use temporary destinations; do not point test runs at your real Codex skill directory. The bundled Codex skill validator, when installed, is an additional check described in the README, not a hosted CI dependency.

Instruction changes need realistic scenario review as well as structural validation. Reuse existing evidence for unchanged bytes and criteria. Keep live Linear writes, worker creation, hook registration and service changes within their separately authorized task scope. See CI operation for scanner setup and the difference between offline checks and live proof.

Publish for review

Open ordinary PRs against dev. When basic checks pass and the change can be reviewed, open it Ready for review or mark the draft ready, then request review. Handle findings, fixes and replies on that same PR, keeping it ready during normal corrections. Include exact checks and their results, and identify untested behavior. An absent check or review is not a pass.

The implementation owner handles reviews through resolution; the coordinator checks the latest candidate before integration. Every promotion from dev to main needs explicit owner release authorization and release notes. A normal contribution does not publish or deploy anything.