참고 자료명령 모음

PM 질문별 명령

PM이 실제로 묻는 질문을 기준으로 이 과정의 명령을 모았다. 모든 명령은 source pm-lab/env.sh로 변수를 불러온 작업 폴더에서 실행한다고 가정한다. 검색창에 “리뷰”, “막힌”, “스프린트”처럼 단어를 입력하면 해당 줄만 남는다.

전체 명령

준비와 변수

질문명령실습
gh 버전이 충분한가gh --version (2.97.0 이상)준비
로그인 계정과 project 권한이 있는가gh auth status준비
project 권한을 더하려면gh auth refresh -s project준비
새 터미널에서 변수를 다시 불러오려면cd ~/gh-pm-lab && source pm-lab/env.sh1
업무 키로 이슈 주소를 찾으려면awk -F'\t' '$1=="LP-03" {print $3}' pm-lab/backlog-map.tsv8

저장소, 마일스톤, 라벨

질문명령실습
실습 저장소를 만들려면gh repo create "$PM_REPO" --private --add-readme1
출시 목표(마일스톤)를 만들려면gh api --method POST "repos/$PM_REPO/milestones" -f title="..." -f due_on="2026-11-06T08:00:00Z"2
마일스톤별 남은 이슈 수는gh api "repos/$PM_REPO/milestones" --jq '.[] | "\(.title) 열림 \(.open_issues) 닫힘 \(.closed_issues)"'2, 6
라벨을 만들려면gh label create "area:qa" -R "$PM_REPO" --color FEF2C0 --description "검증"2
라벨 목록은gh label list -R "$PM_REPO" --limit 1002

업무(이슈)

질문명령실습
본문 파일로 업무를 만들려면gh issue create -R "$PM_REPO" --title "[LP-08] ..." --body-file 파일 --label "kind:task,area:product" --assignee "@me" --milestone "$PM_MILESTONE"3
목록 파일로 업무를 한 번에 만들려면bash github-pm-starter-kit/seed-backlog.sh "$PM_REPO" "$PM_PROJECT" --dry-run5
담당자를 바꾸려면gh issue edit 3 -R "$PM_REPO" --add-assignee dev-lee --remove-assignee "@me"5
본문을 파일로 바꾸려면gh issue edit 주소 --body-file 파일3
진행 댓글을 남기려면gh issue comment 주소 --body "..."7
여러 줄 댓글을 남기려면gh issue comment 주소 --body-file - <<'EOF' … EOF8
선행 업무(의존성)를 연결하려면gh issue edit 주소 --add-blocked-by 선행주소 --add-label blocked8
무엇에 막혀 있는지 보려면gh issue view 주소 --json blockedBy --jq '.blockedBy.nodes[].title'8
막힘이 풀렸을 때gh issue edit 주소 --remove-label blocked8, 12
완료로 닫으려면gh issue close 주소 --reason completed --comment "근거"12
하지 않기로 하고 닫으려면gh issue close 주소 --reason "not planned" --comment "결정 기록 주소"12
닫힌 업무를 다시 열려면gh issue reopen 주소종합
운영 이슈를 맨 위에 고정하려면gh issue pin 주소 / gh issue unpin 주소10, 12

Project

질문명령실습
Project를 만들고 번호를 받으려면gh project create --owner "$PM_OWNER" --title "..." --format json --jq .number4
저장소와 연결하려면gh project link "$PM_PROJECT" --owner "$PM_OWNER" --repo "$PM_REPO_NAME"4
필드를 만들려면gh project field-create "$PM_PROJECT" --owner "$PM_OWNER" --name Priority --data-type SINGLE_SELECT --single-select-options "P0,P1,P2"4
필드 이름과 유형을 보려면gh project field-list "$PM_PROJECT" --owner "$PM_OWNER" --limit 1004
이슈를 Project에 넣으려면gh project item-add "$PM_PROJECT" --owner "$PM_OWNER" --url 주소4
Status를 바꾸려면gh project item-edit "$PM_PROJECT" --owner "$PM_OWNER" --url 주소 --field Status --value "In Progress"7
목표일을 바꾸려면gh project item-edit "$PM_PROJECT" --owner "$PM_OWNER" --url 주소 --field "Target date" --date 2026-10-147
스프린트(Iteration)를 바꾸려면웹 화면, 또는 반복 ID를 조회해 --field Iteration --iteration-id ID6, 심화
한 업무의 Status만 보려면gh project item-list "$PM_PROJECT" --owner "$PM_OWNER" --format json --jq ".items[] | select(.content.url == \"$PM_POLICY_URL\") | .status"12

회의 전 조회

질문명령실습
이번 스프린트에서 아직 열린 일은gh project item-list "$PM_PROJECT" --owner "$PM_OWNER" --limit 100 --query 'iteration:"Sprint 1" is:issue is:open' --field Status --field Priority7
현재 스프린트 기준으로 보려면--query 'iteration:@current is:open'6
담당자가 없는 일은gh project item-list "$PM_PROJECT" --owner "$PM_OWNER" --limit 100 --query 'is:issue is:open no:assignee'7
막힌 일은gh issue list -R "$PM_REPO" --state open --label blocked --limit 1007
출시 목표에 남은 일은gh issue list -R "$PM_REPO" --state open --milestone "$PM_MILESTONE" --limit 1007
완료되지 않은 P0는gh project item-list "$PM_PROJECT" --owner "$PM_OWNER" --limit 100 --query 'priority:P0 -status:Done'7
오래 갱신되지 않은 열린 업무는gh issue list -R "$PM_REPO" --state open --label "kind:task" --search "updated:<2026-10-10 sort:updated-asc"7
세 질문을 한 번에bash pm-lab/precheck.sh "Sprint 1"7
주간 사전 리포트를 만들려면bash github-pm-starter-kit/weekly-digest.sh "$PM_REPO" --days 7 --project "$PM_PROJECT" --iteration "Sprint 1" > pm-lab/weekly-$(date +%F).md11
나에게 할당된 일과 리뷰 요청은gh status심화

PR과 커밋

질문명령실습
열린 PR은gh pr list -R "$PM_REPO"9
리뷰 상태와 마지막 갱신일은gh pr list -R "$PM_REPO" --json number,title,isDraft,reviewDecision,updatedAt9
내 리뷰를 기다리는 PR은gh search prs --review-requested=@me --state=open심화
이번 주에 병합된 PR은gh pr list -R "$PM_REPO" --state merged --search "merged:>=2026-10-08" --limit 1009
여러 저장소에서 병합된 PR은gh search prs --owner 조직 --merged-at ">=2026-10-08"심화
이 PR은 어느 업무인가gh pr view 주소 --json closingIssuesReferences --jq '.closingIssuesReferences[].number'9
무엇을 바꿨는가gh pr view 주소 --json files,commits 또는 gh pr diff 주소 --name-only9
자동 검사는 통과했는가gh pr checks 주소9
리뷰 댓글까지 읽으려면gh pr view 주소 --comments심화
기본 브랜치의 최근 커밋은gh api "repos/$PM_REPO/commits?since=2026-10-08T00:00:00Z" --jq '.[].commit.message | split("\n")[0]'9
기본 브랜치의 최근 자동 검사 결과는gh run list -R "$PM_REPO" --branch main --limit 10심화
PR을 병합하려면gh pr merge 주소 --squash12

회의 기록과 종료

질문명령실습
스프린트 운영 이슈를 만들려면gh issue create -R "$PM_REPO" --title "[Sprint 1] ..." --body-file pm-lab/sprint-1.md --label kind:meeting10
시작 범위를 저장하려면gh project item-list "$PM_PROJECT" --owner "$PM_OWNER" --limit 100 --query 'iteration:"Sprint 1" label:"kind:task"' --format json > pm-lab/sprint-1-start.json10
리포트나 보고를 댓글로 올리려면gh issue comment "$PM_SPRINT_URL" --body-file 파일10, 11, 12
시작과 종료를 비교하려면bash github-pm-starter-kit/sprint-report.sh pm-lab/sprint-1-start.json pm-lab/sprint-1-end.json "Sprint 1"12

PM 방법론 (3회차)

질문명령실습
업무를 상위 이슈로 묶으려면 (WBS)gh issue edit 상위주소 --add-sub-issue 하위주소13
하위 이슈 완료 비율은gh issue view 상위주소 --json subIssuesSummary13
어느 업무가 늦으면 출시가 늦는가 (주경로)bash github-pm-starter-kit/cpm.sh github-pm-starter-kit/schedule.tsv --start 2026-10-12 --deadline 2026-11-0613
계산한 일정을 Project에 넣으려면bash github-pm-starter-kit/cpm.sh ... --commands > pm-lab/cpm-apply.sh 후 bash pm-lab/cpm-apply.sh13
선행 관계를 의존성으로 기록하려면bash github-pm-starter-kit/link-deps.sh "$PM_REPO" github-pm-starter-kit/schedule.tsv13
EVM 입력 파일을 만들려면gh project item-list "$PM_PROJECT" --owner "$PM_OWNER" --limit 200 --query 'label:"kind:task" milestone:"M1 비공개 베타"' --format json > pm-lab/evm-input.json14
SPI, CPI, 예상 완료일은bash github-pm-starter-kit/evm-report.sh pm-lab/evm-input.json --status-date 2026-10-2114
EVM 추세를 쌓으려면... --history pm-lab/evm-history.csv (매주 금요일)14
주별 처리량과 리드 타임은bash github-pm-starter-kit/flow-metrics.sh "$PM_REPO" --weeks 815
마감까지 끝낼 확률은 (몬테카를로)bash github-pm-starter-kit/forecast.sh --remaining 5 --throughput 2,3,1,4,2,3,2,0 --deadline 2026-11-0615
위험을 점수 순으로 보려면gh project item-list "$PM_PROJECT" --owner "$PM_OWNER" --query 'label:risk is:open' --format json --jq '.items | map(. + {score: (.probability * .impact)}) | sort_by(-.score)'16
RICE 점수 순 백로그는gh project item-list ... --format json --jq '.items | map(. + {rice: (.reach * .impact * .confidence / .effort)}) | sort_by(-.rice)'도입

기록 확장과 프로세스 마이닝 입문 (4회차)

질문명령실습
위키를 켜고 열려면gh repo edit "$PM_REPO" --enable-wiki, gh browse -R "$PM_REPO" --wiki17
위키를 복제하려면gh repo clone "$PM_REPO.wiki" pm-lab/wiki17
결정 기록과 보고를 위키에 모으려면bash github-pm-starter-kit/wiki-sync.sh "$PM_REPO" --process pm-lab/process-map.md --push17
업무에 연결된 브랜치는gh issue develop --list 3 -R "$PM_REPO"18
멈춘 브랜치와 삭제 후보는bash github-pm-starter-kit/branch-report.sh "$PM_REPO"18
병합한 브랜치를 자동으로 지우려면gh repo edit "$PM_REPO" --delete-branch-on-merge18
스냅숏 워크플로를 지금 실행하려면gh workflow run pm-snapshot.yml -R "$PM_REPO"18
업무 하나의 타임라인은gh api "repos/$PM_REPO/issues/3/timeline" --paginate --jq '.[] | [.created_at, .event] | @tsv'19
토론 목록과 댓글은gh discussion list -R "$PM_REPO" --state all, gh discussion view 19 -R "$PM_REPO" --comments --order oldest19
기간 안의 결정, 토론, 변경 요청은bash github-pm-starter-kit/discussion-digest.sh "$PM_REPO" --since 2026-10-26 --until 2026-11-0619
이벤트 로그를 만들려면bash github-pm-starter-kit/event-log.sh "$PM_REPO" --snapshots pm-lab/pm-data/snapshots > pm-lab/event-log.csv20
계획과 실제의 리드·래그는bash github-pm-starter-kit/lead-lag.sh github-pm-starter-kit/schedule.tsv pm-lab/event-log.csv --start 2026-10-1220
SS, FF 관계로 일정을 다시 계산하려면LP-03:SS+3처럼 적은 뒤 bash github-pm-starter-kit/cpm.sh pm-lab/schedule-v2.tsv --start 2026-10-1220
업무가 흐른 순서와 변형은bash github-pm-starter-kit/process-map.sh pm-lab/event-log.csv21
프로세스 지도를 Mermaid로bash github-pm-starter-kit/process-map.sh pm-lab/event-log.csv --mermaid count21
남은 API 호출 한도는gh api rate_limit --jq '.resources.core'심화

프로세스 마이닝으로 개발 프로세스 개선 (2단계, 5·6회차)

질문명령실습
로그에 품질 문제가 있는가bash github-pm-starter-kit/log-check.sh pm-lab/orbit-event-log.csv22
순서를 바로잡고 끝나지 않은 사례를 뺀 로그는bash github-pm-starter-kit/log-check.sh pm-lab/orbit-event-log.csv --clean > pm-lab/orbit-event-log-clean.csv22
주된 흐름만 남긴 지도는bash github-pm-starter-kit/process-map.sh pm-lab/orbit-event-log-clean.csv --mermaid time --min-count 3023
PM4Py 분석을 내 컴퓨터에서python3 github-pm-starter-kit/pm4py-notebook.py pm-lab/orbit-event-log-clean.csv24
단계별 대기와 병목은bash github-pm-starter-kit/bottleneck.sh pm-lab/orbit-event-log-clean.csv --to 2026-05-31 --roles github-pm-starter-kit/roles.tsv25
막힘을 누가 풀었는가awk -F, 'NR > 1 && $2 == "막힘 해소" { n[$4]++ } END { for (k in n) print n[k], k }' pm-lab/orbit-event-log-clean.csv25
QA 업무를 규칙에서 빼려면process-rules.tsv 여섯째 열에 area!=qa, process-map.sh 로그 --rules pm-lab/process-rules.tsv26
작업 시작 날짜로 로그를 나누려면실습 26의 awk 두 번 읽기26
바꾸기 전후는 어떻게 다른가bash github-pm-starter-kit/compare.sh pm-lab/orbit-event-log-clean.csv --split 2026-06-0127
어떤 활동이 있었던 업무는 무엇이 다른가bash github-pm-starter-kit/compare.sh pm-lab/orbit-event-log-clean.csv --has "결정 기록"27
업무 종류마다 흐름이 다른가bash github-pm-starter-kit/compare.sh pm-lab/orbit-event-log-clean.csv --by area27
개선안을 적용하면 얼마나 줄어드는가bash github-pm-starter-kit/whatif.sh pm-lab/orbit-event-log-clean.csv --from 2026-06-01 --blocked-cap 428
프로세스 보고를 지금 만들려면gh workflow run process-report.yml -R "$PM_REPO"29

용어

용어영문이 과정에서의 뜻
마일스톤Milestone출시 목표와 마감일. 저장소에 속한다.
반복, 스프린트Iteration일정한 작업 기간. Project 필드다.
업무 키KeyLP-03처럼 제목 앞에 붙이는 고정 이름. 이슈 번호와 다르다.
의존성Issue dependency먼저 끝나야 하는 업무와의 연결. Blocked by, Blocking.
풀 리퀘스트Pull Request, PR브랜치의 변경을 기본 브랜치에 합쳐 달라는 요청
닫는 키워드Closing keywordPR 본문의 Closes #번호. 병합 시 이슈를 닫는다.
검사CheckPR마다 자동으로 실행되는 테스트 등의 확인 작업
운영 이슈-스프린트의 목표, 결정, 범위 변경, 종료 기록을 모은 kind:meeting 이슈
사전 리포트Pre-read회의 전날 운영 이슈에 올리는 조회 결과와 안건
이월Carry over미완료 업무의 Iteration을 다음 스프린트로 옮기는 것
작업 분해 구조Work Breakdown Structure, WBS결과물에 필요한 일을 계층으로 나눈 목록. 상위·하위 이슈로 표현
주경로Critical path여유가 0인 업무를 이은 가장 긴 경로. 하루 늦으면 완료일도 하루 늦다
계획가치Planned Value, PV기준일까지 계획상 끝났어야 할 일의 추정 공수
획득가치Earned Value, EV실제로 끝낸 일의 추정 공수 (추정 × 진척률)
실제 투입Actual Cost, AC기준일까지 실제로 쓴 시간
획득 일정Earned Schedule, ESEV만큼의 PV가 계획상 쌓이는 시점. 지연을 작업일로 표시
처리량Throughput주마다 완료로 닫힌 업무 수
리드 타임Lead time업무 생성부터 완료까지 걸린 시간
위키Wiki저장소와 따로 있는 Git 저장소(OWNER/REPO.wiki)의 문서 페이지
토론Discussions저장소 단위의 의견 수렴 공간. Q&A 형식 분류에서는 답을 채택한다
orphan 브랜치Orphan branch기본 브랜치와 이력을 공유하지 않는 브랜치. 이 과정의 pm-data
누적 흐름도Cumulative Flow Diagram, CFD날짜별 Status 업무 수를 쌓은 그림
선후행 관계 유형FS, SS, FF, SF끝-시작, 시작-시작, 끝-끝, 시작-끝으로 선행과 후행을 잇는 방식
리드 · 래그Lead, Lag후행을 앞당기는 시간과 늦추는 시간. 리드는 음수 래그다
이벤트 로그Event log사례, 활동, 시각(필요하면 수행자)을 한 줄에 적은 사건 목록
프로세스 마이닝Process mining이벤트 로그로 실제 흐름을 발견하고, 정한 절차와 비교하고, 대기 구간을 찾는 분석
직접 이어짐 그래프Directly-Follows Graph, DFG한 사례에서 활동 A 바로 다음에 B가 나온 횟수와 시간을 화살표로 그린 그림
변형Variant같은 활동 순서로 흐른 사례의 묶음
적합성 검사Conformance checking정해 둔 절차와 이벤트 로그를 비교해 어긋난 사례를 찾는 것
사례 정의Case notion무엇을 사례 하나로 볼 것인가. 2단계는 업무 이슈 하나
점 도표Dotted chart사례마다 한 줄, 사건마다 점 하나를 찍은 그림
업무 시간Business hours평일 09~18시와 겹치는 시간만 센 시간. 달력 시간과 구분한다
병목Bottleneck흐름 전체의 속도를 정하는 가장 느린 구간. 기다린 시간의 합, 85%, 집중도로 고른다
프로세스 모델Process model순서, 선택, 병행, 반복을 구분해 그린 절차. 페트리넷, BPMN, 프로세스 트리
적합도 · 정밀도Fitness, Precision모델이 로그를 재현하는 정도와, 로그에 없는 순서를 허용하지 않는 정도
정렬Alignment사례의 사건열과 모델의 실행을 한 걸음씩 짝지어 어긋난 위치를 찾는 방법
로그 이동 · 모델 이동Log move, Model move로그에만 있는 걸음과 모델에만 있는 걸음
대조군Negative control개선과 무관한 묶음. 기간 사이의 자연스러운 흔들림 폭을 가늠한다
효과 어림What-if analysis대기 하나가 줄었다고 가정하고 처리 시간 분포를 다시 계산하는 것
PM²Process Mining Project Methodology계획, 추출, 데이터 처리, 마이닝과 분석, 평가, 개선과 지원의 여섯 단계