agentsclimarketplace

Promoting dev to main

Skill Human-Agent-Society/CORAL/.claude/skills/promoting-dev-to-main

Use when preparing, reviewing, resolving conflicts for, or merging a CORAL release pull request from the long-lived dev branch into main.From its SKILL.md

Install
npx -y skills add Human-Agent-Society/CORAL --skill promoting-dev-to-main

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

2.3 KB, as published. Nobody here has run it

Promoting dev to main

Core rule

Merge dev → main release PRs with a merge commit. Never squash or rebase these promotions.

Ordinary contribution PRs still target dev and may be squash-merged. The release promotion is the exception because main must retain dev in its ancestry. Squashing a promotion makes the next release re-present old commits and can create large false conflicts.

Workflow

  1. Confirm the PR is exactly base=main, head=dev and no duplicate release PR is open.

  2. Review main..dev, required CI, and deployment checks.

  3. In GitHub, open the merge-method dropdown and choose Create a merge commit. With the CLI, use:

    gh pr merge <number> --repo Human-Agent-Society/CORAL --merge
    
  4. Keep the long-lived dev branch. Do not delete or force-push it.

  5. Fetch both branches and verify the released dev tip is an ancestor of main:

    git fetch origin dev main
    git merge-base --is-ancestor origin/dev origin/main
    

    Exit status 0 is required.

  6. Confirm post-merge CI, release automation, deployments, and production smoke checks.

If GitHub reports conflicts

Do not force-rebase the shared dev branch. First inspect the topology and reproduce conflicts with git merge-tree.

If an earlier release was squash-merged, main may have the same tree as an earlier dev commit without sharing its ancestry. Verify tree equivalence before choosing a repair. Prefer merging main back into dev and pushing normally; use an ancestry-only ours merge only when exact tree equality proves main contains no unique content to preserve.

Red flags

  • GitHub's primary button says Squash and merge.
  • A command uses --squash, --rebase, or a force-push.
  • The release workflow proposes deleting dev.
  • Conflict resolution starts before checking commit topology and tree equality.

Stop when any red flag appears and return to the workflow above.

Quick reference

PRAllowed merge method
Feature/fix/docs branch → devRepository default; usually squash
dev → main release promotionMerge commit only

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.