raven-hooks
Raven Hooks
Seed or complete GitHub Actions checks for the project's actual stack. The name means CI after a PR here, not local agent hooks. Do not implement product tests or publish a PR during setup. Talk to the user in their language.
Follow working on GitHub tasks. Read the repo instructions, manifests/lockfile, workspace config, existing workflows, test-stack and run scripts. Do not assume Node/Playwright or a single package.
Design the checks
Detect the runtime and versions, the package manager, the lint/format-check/typecheck, unit, integration, E2E and build commands, if needed. Pick checks consistent with existing tools and strategy; report a missing runner/tests as a gap for raven-test, do not create a green placeholder. Not every layer has to fit the project.
Use one or several workflows with separate readable jobs by time and dependency, without artificially multiplying files. Merge existing configuration and keep other people's jobs. pull_request triggers must cover opening, new commits and reopening a PR; include ready_for_review if you filter drafts. Do not add deploy or automatic merge.
Set the draft CI policy deliberately. Usually run cheap checks, e.g. lint/typecheck and fast tests, also for drafts, so an early PR gives feedback. Costly integration/E2E may wait for ready_for_review if the risks and project policy allow; then also cover later commits of a ready-for-review PR. Do not disable existing required checks just to save. Record which checks run when and why.
Every required check must emit a result for the current SHA at the right moment of the gate. A skipped draft check is not evidence of PASS; before merge it must actually run for the version under review. Draft/path filters and an aggregate job must not turn a skipped, cancelled or unrun required check into a fake green. Check the draft → ready → new commit flow and the conditions of required checks, without treating an old run as the result of a new SHA.
Before writing YAML, verify the current syntax and action versions in the official GitHub documentation and the documentation of the detected tools. Prefer actions pinned to a verified full SHA with a version comment. Use minimal permissions, usually contents: read; do not run untrusted PR code through pull_request_target with secrets.