Skip to content

Open and merge a pull request

Publication has two phases. A review request may create a local branch and no-write plan, but it does not authorize a fork, push, or pull request. Continue with the steps below only after the user approves the exact plan hash and lists the external actions.

Use the branch type that matches the change:

  • skill/<plugin>/<skill> for one skill import;
  • plugin/<plugin>/<topic> for MCP or plugin-wide changes;
  • forge/<topic> for tooling, CI, schemas, or documentation.

The branch helper refuses dirty, outdated, detached, or colliding branches. It never pushes or merges.

Before opening a PR, run:

uv run forge generate
uv run forge check
uv run ruff check .
uv run ruff format --check .
uv run ty check
uv run pytest
uv run zensical build --clean --strict

Review the complete diff, especially imported instructions, executable files, MCP endpoints, and generated client output. Push the branch and open a PR targeting main.

Merge is a separate authorization. Before merging, verify that the PR head SHA still matches the reviewed commit and every required check is green.

The hosted main ruleset requires a pull request, green required checks, linear history, and resolved review conversations. It blocks force pushes and deletion. CI has read-only contents permission, receives no pull-request secrets, does not use pull_request_target, and never commits generated output.