원클릭으로
git-conventions
Git branching, topic management, and bug fix workflow conventions for Anoma.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Git branching, topic management, and bug fix workflow conventions for Anoma.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Elixir-specific coding patterns and conventions.
Language-agnostic code principles for live, inspectable systems.
Review code for architectural fit, dead code, and complexity. Use when asked to review a module, file, or PR.
| name | git-conventions |
| description | Git branching, topic management, and bug fix workflow conventions for Anoma. |
master, some use main.Name topics name/description (e.g., mariari/fix-ordering-unchecked-mnesia).
One concern per topic. If you spot an unrelated bug in the same file, make a separate topic for it.
Base topics on base, not on main or next. Basing on
main drags in unrelated merges, creates spurious conflict bases,
and prevents other topics from cleanly reusing your work.
Base bug fixes on the commit that introduced the bug. This
lets the fix merge cleanly into any maint branch. Use
git blame to find the introducing commit.
Merge other people's topics into yours if you need their
work — don't rebase onto main.
No evil merges. A merge commit should contain only conflict
resolution. Every line in the combined diff must trace to exactly
one parent. Verify with git show --cc <merge>.
If a merge requires changes beyond what rerere can handle, make
those in a separate commit prefixed evil! that references
which merge caused it. This keeps the extra work visible and
reproducible when the integration branch is rerolled. Evil
commits get squashed when the work is finalized.
Topics chain on each other as work progresses. If your fix or feature depends on another topic, merge that topic into yours.
Find existing topics before starting work:
git branch -a | grep <keyword>
gh pr list --search <keyword>
Chain topics: build each on top of the previous when changes are related. Long chains are normal since releases are infrequent.
Merge dependencies, don't rebase. Since topics are well-based, merging only picks up the relevant changes.
git blame.git checkout -b name/fix-description <commit>next, base, or
a parent topic), resolve conflicts. If changes beyond conflict
resolution are needed, put them in a separate evil! commit.When you need to edit a commit in a chain of topics (e.g., strip an unrelated concern, split a commit, fix a bug introduced mid-chain), use interactive rebase with merge preservation:
git rebase -i --rebase-merges --no-rebase-cousins --update-refs <base>
--rebase-merges preserves merge commits in the history.--no-rebase-cousins keeps merged-in side branches in place
(only the main line is rebased, not the dependencies).--update-refs automatically moves branch pointers that point
to rebased commits, so downstream topics stay consistent.This avoids rebuilding next from scratch when only a few
commits need surgery. Use it to: