"매 PR 의 unit of code change, 매 issue 의 unit of intent". GitHub (2008) 의 popularize, GitLab/Bitbucket/Gitea/Forgejo 의 follow. 매 2026 의 standard workflow 의 trunk-based + small PRs + automated checks + LLM-assisted review (CodeRabbit, GitHub Copilot Workspace, Claude Code).
매 핵심
매 PR Lifecycle
Branch — 매 feature/fix branch 의 cut from main.
Commit — 매 atomic change + descriptive message (Conventional Commits).
Open PR — 매 description (what/why/how) + linked issue.
CI — 매 lint, test, build, security scan.
Review — 매 human + LLM-assist.
Merge — 매 squash / rebase / merge commit.
Deploy — 매 main 의 push 의 trigger CD.
매 Issue Types
Bug — 매 actual misbehavior + repro steps.
Feature — 매 user-facing capability request.
Task — 매 internal work (refactor, debt).
Epic — 매 multi-PR initiative.
매 Automation Surface
Branch protection (required reviews + checks).
Auto-assign reviewers (CODEOWNERS).
Auto-label / triage bots.
Stale issue cleanup.
Release notes (release-please).
매 응용
Solo project — 매 PR 의 self 의 review 의 force structure.
Team — 매 ownership boundary 의 CODEOWNERS.
OSS — 매 issue triage 의 community signal.
Compliance — 매 audit trail 의 SOC2/ISO 27001.
💻 패턴
PR template (.github/PULL_REQUEST_TEMPLATE.md)
## What
<one-liner>
## Why
<motivation, linked issue: #123>
## How
<technical approach summary>
## Test plan
- [ ] Unit tests pass
- [ ] Manual repro on staging
- [ ] No new warnings
## Risk
Low / Medium / High — explain.
Issue template (.github/ISSUE_TEMPLATE/bug.yml)
name:Bug reportdescription:File a buglabels:[bug, triage]body:- type:textareaid:reproattributes:label:Steps to reproducevalidations:{required:true}- type:textareaid:expectedattributes:label:Expected behavior- type:inputid:versionattributes:{label:Version }
언제: PR description 의 generate, review 의 first-pass (style, obvious bugs), issue triage 의 label.
언제 X: security-critical review — 매 human 의 final approve.
❌ 안티패턴
Mega-PR (5000+ LOC): 매 review 의 useless — 매 split 의 require.
Empty description: 매 reviewer 의 context-free.
Force-push to shared branch: 매 review history 의 destroy — feature branch 의 only.
Self-merge without review: 매 sole-maintainer except — 매 audit trail 의 weak.
Issue 의 dump 의 chat: 매 GitHub issue 의 single source of truth.