Public CMS Preview
바이브코딩 워크샵 (Antigravity)
로그인 없이 확인하는 Antigravity 워크샵 CMS 프리뷰입니다.
Modules
8
Steps
75
AI 코딩에서 에이전트 코딩으로
에이전트 위임·검증 관점과 작은 앱 아이디어 정의
4 steps
Step 1바이브코딩의 오해와 실제
published
바이브코딩의 오해와 실제
1강 · AI 코딩에서 에이전트 코딩으로
Antigravity 워크샵에서 말하는 바이브코딩은 단순히 AI에게 느낌만 전달하는 코딩이 아닙니다.
「앱 만들어줘」라고 말하고 결과를 기다리는 방식이 아니라, 사람이 목표·범위·완료 기준을 정하고, 에이전트가 실행하며, 사람은 결과를 확인하고 승인하는 협업 방식입니다.
즉, 바이브코딩의 핵심은 프롬프트를 멋지게 쓰는 것이 아니라 일을 맡길 수 있는 크기로 설계하는 것입니다.
1. 자주 하는 오해 vs 실제
| 오해 | 실제 |
|---|---|
| 프롬프트만 잘 쓰면 앱이 나온다 | 작업 설계가 결과물의 품질을 좌우한다 |
| AI가 알아서 다 해준다 | 에이전트는 실행 담당이고, 방향과 판단은 사람이 맡는다 |
| 한 번에 크게 시키면 빠르다 | 범위가 클수록 검증과 수정 비용이 커진다 |
| 코드만 나오면 끝이다 | 계획, 변경 내용, 실행 결과, 테스트 증거를 확인해야 한다 |
| 개발자만 할 수 있다 | 비전공자도 목표와 기준을 정하는 에이전트 매니저가 될 수 있다 |
2. 바이브코딩을 이렇게 기억하세요
아닌 것
- 감으로 던지는 한 줄 요청
- 결과가 나올 때까지 기다리기
- 「완료했습니다」라는 말만 믿기
- 한 번에 모든 기능을 다 만들려고 하기
맞는 것
- 만들고 싶은 것을 작게 나누기
- 중간 산출물을 확인하기
- 화면에서 직접 동작을 검증하기
- 승인한 뒤 다음 단계로 넘어가기
바이브코딩은 「AI에게 맡기는 기술」이 아니라, AI가 일할 수 있도록 작업을 정리하고 검증하는 방식입니다.
3. 좋은 결과를 만드는 4가지
| # | 요소 | 한 줄 설명 | Antigravity에서의 모습 |
|---|---|---|---|
| 1 | 명확한 목표 | 무엇을, 누구를 위해 만드는지 정한다 | idea-brief.md의 목표와 사용자 |
| 2 | 작은 작업 단위 | 한 번에 확인 가능한 크기로 나눈다 | 하나의 Task = 계획 → 실행 → 결과 확인 |
| 3 | 관찰 가능한 산출물 | 말이 아니라 눈으로 볼 수 있는 결과를 만든다 | 화면, 파일, diff, 테스트 로그 |
| 4 | 사람의 검증 기준 | 됐다/안 됐다를 판단할 기준을 정한다 | acceptance criteria, 브라우저 확인 |
1강에서는 이 4가지만 기억하면 됩니다.
좋은 바이브코딩은 좋은 요청이 아니라, 좋은 작업 설계에서 시작됩니다.
Step 2실습 — idea-brief.md 작성하기
published
실습 — idea-brief.md 작성하기
에이전트에게 맡길 작업 기준서 만들기
이번 단계에서는 코드를 만들기 전에 idea-brief.md를 작성합니다.
이 문서는 에이전트가 만들 앱의 목표, 기능 범위, 제한 조건, 완성 기준을 이해하도록 돕는 기준서입니다.
1. 목표와 사용자 정리
먼저 만들 앱의 목적과 사용자를 정합니다.
문서 템플릿
## 목표 이 앱이 어떤 문제를 해결하거나 어떤 일을 도와주는지 한 문장으로 작성한다. ## 사용자 이 앱을 사용할 사람을 구체적으로 작성한다.
2. 핵심 기능 3개 정하기
처음 버전에서 꼭 필요한 기능만 3개로 줄입니다.
3. 제약과 완성 기준 정하기
에이전트가 일을 크게 벌이지 않도록 제약을 적고, 결과물을 확인할 완성 기준을 정합니다.
문서 템플릿
## 제약 - 외부 API는 사용하지 않는다. - 로그인/회원가입은 만들지 않는다. - 데이터베이스는 연결하지 않는다. - 새 패키지 설치는 최소화한다. - 2~3시간 안에 완성 가능한 MVP로 만든다.
4. 최종 작성 양식
프로젝트 루트 또는 메모장에 아래 형식으로 idea-brief.md를 작성합니다.
문서 템플릿
# idea-brief.md ## 1. 목표 ## 2. 사용자 ## 3. 핵심 기능 3개 ## 4. 제약 - 외부 API는 사용하지 않는다. - 로그인/회원가입은 만들지 않는다. - 데이터베이스는 연결하지 않는다. - 새 패키지 설치는 최소화한다. - 2~3시간 안에 완성 가능한 MVP로 만든다. ## 5. 완성 기준
Step 3나쁜 프롬프트 기록
published
나쁜 프롬프트 기록
idea-brief.md 하단에 3강 비교용 나쁜 프롬프트 예시를 추가합니다.
에이전트 Task
나쁜 한 줄 (3강 비교용) 「할 일 앱 예쁘게 만들어줘」
Step 4Antigravity에 파일 저장 (선택)
published
Antigravity에 파일 저장 (선택)
에이전트 Task
idea-brief.md 파일을 프로젝트 루트에 만들어줘. 내용은 아래와 같아. plan만, 다른 파일 수정 금지. [idea-brief 붙여넣기]
1강 완료 산출물: idea-brief.md + 나쁜 한 줄
Antigravity 환경 구축
Antigravity 설치, 프로젝트 열기, Agent·Git·AGENTS.md 준비
13 steps
Step 1환경 구축 시작
published
환경 구축 시작
2강 · Antigravity 환경 구축
Antigravity를 설치하고, workspace를 열고, 에이전트가 일할 AGENTS.md·Git 기반을 준비합니다.
Antigravity 에이전트와 협업할 개발 환경을 만듭니다.
오늘 만드는 것은 코드가 아니라 에이전트가 일할 수 있는 작업 환경입니다.
복사용 텍스트
Google Antigravity Git GitHub CLI AGENTS.md (에이전트 규칙) vibe-test 워크숍 폴더
Step 2Google Antigravity 설치
published
Google Antigravity 설치
Gemini 에이전트 IDE인 Google Antigravity를 설치합니다.
Antigravity는 VS Code 계열 UI에 Agent Manager(에이전트 작업 관리)가 통합된 IDE입니다.
터미널
https://antigravity.google/downloadWindows는 공식 설치 프로그램 또는 아래 winget을 사용할 수 있습니다.
터미널
winget install -e --id Google.Antigravity터미널
# 설치·업데이트 확인 (Windows) winget list --id Google.Antigravity
Step 3Antigravity 기본 설정
published
Antigravity 기본 설정
설치 직후 에이전트 패널과 응답 언어를 확인합니다.
터미널
에이전트 패널 열기/포커스: Ctrl + Shift + I 에이전트 패널 토글: Ctrl + L
Agent Manager(에이전트 패널)가 보이면 정상입니다.
Step 4Agent Manager · workspace · task · artifact
published
Agent Manager · workspace · task · artifact
Antigravity 워크숍의 핵심 용어를 맞춰 둡니다.
| 용어 | 의미 |
|---|---|
| workspace | Antigravity에서 연 프로젝트 폴더 |
| Task | 에이전트에게 맡기는 한 덩어리 작업 |
| plan | 실행 전 에이전트가 제시하는 작업 계획 |
| artifact | plan·diff·실행 결과·스크린샷 등 증거 |
| Approve | 파일 생성·터미널 실행 등 권한 승인 |
기본 흐름: Task 입력 → plan 확인 → 승인 → 실행 → artifact 검토
Step 5Git 설치
published
Git 설치
코드 변경 이력을 남기기 위해 Git을 설치합니다.
터미널
https://git-scm.com설치 후 Antigravity 내장 터미널에서 확인합니다.
터미널
git --versionStep 6GitHub CLI 설치
published
GitHub CLI 설치
GitHub 원격 저장소 연동을 위해 GitHub CLI(gh) 를 설치합니다.
Windows:
터미널
winget install --id GitHub.climacOS:
터미널
brew install gh확인:
터미널
gh --versionStep 7GitHub 로그인
published
GitHub 로그인
터미널에서 GitHub에 로그인합니다.
터미널
gh auth login- GitHub.com 선택
- HTTPS 선택
- 브라우저에서 인증 선택
- 브라우저에서 로그인
터미널
gh auth statusStep 8프로젝트 폴더 생성
published
프로젝트 폴더 생성
워크숍용 로컬 폴더 `vibe-test` 를 만듭니다.
Windows PowerShell:
터미널
mkdir vibe-test cd vibe-test
Step 9Antigravity에서 workspace 열기
published
Antigravity에서 workspace 열기
- Antigravity 실행
- File → Open Folder
vibe-test폴더 선택 → Open- Agent Manager에서 New Task(또는 입력창) 확인
터미널
git statusfatal: not a git repository가 나와도 폴더가 열린 상태면 다음 Step으로 진행합니다.
Step 10AGENTS.md · 프로젝트 초기화
published
AGENTS.md · 프로젝트 초기화
에이전트가 프로젝트에서 어떻게 일할지 AGENTS.md로 정합니다.
10-1. plan만 요청
Agent Manager 입력창에 아래 Task를 붙여 넣습니다.
에이전트 Task
Context: - vibe-test 폴더를 Antigravity workspace로 열어 둔 상태 - 1강 idea-brief.md가 있다면 참고 가능 Goal: - AGENTS.md와 README.md 초안을 위한 plan만 작성 - 워크숍용 최소 규칙: plan 선행, 승인 후 실행, 작은 범위 유지 Constraints: - 지금은 plan만. 파일 생성·npm install·터미널 실행 금지 - .cursor 폴더 생성 금지 Acceptance Criteria: - AGENTS.md에 들어갈 섹션 목록이 표로 정리됨 - README.md 한 줄 소개 초안 포함
plan을 읽고 범위가 과하지 않은지 확인한 뒤 승인합니다.
에이전트 Task
plan 승인. AGENTS.md와 README.md만 생성해줘. 다른 파일은 만들지 마.첨부파일
Antigravity 프로젝트 초기화 참고
AGENTS.md·README.md plan 작성 시 참고할 Antigravity 워크숍용 초기화 안내입니다. workspace 루트에 두고 Step 10 Task와 함께 사용하세요.
프로젝트_초기화_가이드_Antigravity_Agent.md
Step 11생성되는 프로젝트 구조
published
생성되는 프로젝트 구조
초기화 후 최소 아래 파일이 있으면 2강 실습 기준을 충족합니다.
복사용 텍스트
vibe-test/ ├── AGENTS.md ├── README.md ├── idea-brief.md (1강에서 작성) └── .git/ (Step 12~13에서 생성)
AGENTS.md — 에이전트 행동 규칙 (plan 선행, 승인, 범위 제한)
README.md — 프로젝트 한 줄 소개
Step 12GitHub 저장소 생성
published
GitHub 저장소 생성
vibe-test에서 Git 저장소를 만들고 GitHub에 연결합니다.
터미널
git init git add AGENTS.md README.md idea-brief.md git commit -m "chore: antigravity workshop project init"
터미널
gh repo create vibe-test --public --source=. --remote=origin --pushStep 13환경 구축 완료
published
환경 구축 완료
축하합니다. Antigravity 워크숍 2강을 마쳤습니다.
확인 체크리스트
- [ ] Antigravity에서
vibe-testworkspace 열림 - [ ] Agent Manager에서 Task·plan·승인 흐름 이해
- [ ]
AGENTS.md존재 - [ ] Git · GitHub CLI ·
gh auth정상 - [ ] (선택) GitHub에
vibe-testpush 완료
다음: 3강 좋은 Task 만들기 — idea-brief.md를 바탕으로 에이전트 Task를 작성합니다.
좋은 Task 만들기
Context·Goal·Constraints·완료 기준·검증이 담긴 Task 작성
11 steps
Step 1모듈 안내
published
모듈 안내
Step 2Antigravity에서 workspace 열기
published
Antigravity에서 workspace 열기
1-1. 폴더 확인
2강에서 만든 폴더 이름을 확인합니다. 기본 예시는 vibe-test입니다.
터미널
# Windows PowerShell — 홈 또는 작업 드라이브에서 cd vibe-test dir
다음 중 하나 이상 보이면 OK입니다.
AGENTS.md.git폴더README.md
1-2. Antigravity에서 열기
- Antigravity 실행
- File → Open Folder (또는 시작 화면에서 폴더 열기)
vibe-test선택 → Open
1-3. Agent Manager 확인
- 왼쪽 또는 별도 패널에서 Agent / Task 영역이 보이는지 확인
- 새 Task(또는 채팅) 입력창에 프롬프트를 붙여 넣을 준비
1-4. 터미널에서 Git 확인
Antigravity 내장 터미널 또는 OS 터미널:
터미널
git status예상 출력 (예시)
에이전트 Task
On branch main nothing to commit, working tree clean
터미널
mkdir ag-workshop-app cd ag-workshop-app git init
이 Step 산출물: workspace 경로 메모 (예: D:\projects\vibe-test)
Step 3React 앱 plan 요청 (파일 생성 금지)
published
React 앱 plan 요청 (파일 생성 금지)
에이전트 입력창에 아래 전문을 그대로 붙여 넣습니다.
에이전트 Task
Context: - 빈 React 워크샵 프로젝트 폴더를 Antigravity에서 열어 둔 상태 - 아직 todo/메모 기능 코드는 없음 Goal: - Vite + React 기반 최소 웹앱 스캐affold plan 작성 - 1차 MVP: 메모(또는 할 일) 1줄 추가 + 목록 표시만 Constraints: - 지금은 plan만. 파일 생성·npm install·터미널 실행 금지 - UI 라이브러리(MUI, Chakra 등) 추가 금지 - TypeScript 대신 JavaScript(jsx) 사용 Acceptance Criteria (plan 품질): - 생성할 파일 경로 목록 (package.json, src/App.jsx 등) - npm scripts: dev, build - 예상 위험(패키지 설치, 삭제) 명시 - 1차 MVP 범위가 「추가+목록」으로 제한됨 Verification (plan): - plan을 artifact 또는 markdown 표로 정리 먼저 plan만 작성해. 승인 전까지 코드·파일 변경하지 마.
plan에서 반드시 확인할 5가지
- 파일 목록이 10개를 넘지 않는가?
- 1차 MVP가 「추가 + 목록」만인가?
- install 명령이 plan에 적혀 있는가?
- 삭제/rm 같은 위험 작업이 없는가?
- 검증에
npm run dev+ 브라우저가 있는가?
하나라도 NO면 Step 3으로 plan 수정 요청 후 진행합니다.
Step 4plan 수정·승인 (범위 줄이기)
published
plan 수정·승인 (범위 줄이기)
plan이 너무 크면 아래 프롬프트로 줄입니다.
에이전트 Task
plan에서 2차 기능(삭제, 필터, 스타일링)은 Phase 2로 미루고 Phase 1만 다시 요약해줘. 파일 수정 금지. Phase 1 = package.json + src/main.jsx + src/App.jsx + 최소 CSS
범위가 적당하면 1단계 구현 승인 프롬프트:
에이전트 Task
plan Phase 1만 승인해. 이제 실행해. Constraints: - plan에 없는 파일 생성 금지 - npm install은 plan에 적힌 패키지만 - 완료 후 터미널에서 npm run dev 실행 - 브라우저 localhost 화면이 뜨는지 확인 - 각 파일 역할을 표로 artifact에 정리 destructive command (rm, git clean 등) 금지.
터미널
dir # 또는 ls
예상 구조 (예시)
에이전트 Task
vibe-test/ ├─ package.json ├─ index.html ├─ vite.config.js ├─ src/ │ ├─ main.jsx │ ├─ App.jsx │ └─ App.css └─ README.md
Step 5dev 서버 실행 & 브라우저 확인
published
dev 서버 실행 & 브라우저 확인
에이전트가 실행했어도 직접 한 번 더 확인합니다.
터미널
npm install터미널
npm run dev예상 출력 (Vite 예시)
에이전트 Task
VITE v5.x.x ready in xxx ms ➜ Local: http://localhost:5173/
4-3. 브라우저
http://localhost:5173/접속- 빈 페이지 또는 Hello/React 로고가 보이면 1차 스캐affold 성공
4-4. 문제 해결
| 증상 | 조치 |
|---|---|
npm not found | 2강 Python/Git과 별도로 Node.js LTS 설치 |
| 포트 충돌 | 터미널에 표시된 다른 포트 URL 사용 |
| 흰 화면만 | F12 콘솔 에러 → 에이전트에 에러 로그 붙여 bug Task |
이 Step 산출물: localhost URL 스크린샷 1장
Step 6Task 5요소 — 이론 + 우리 프로젝트 예시
published
Task 5요소 — 이론 + 우리 프로젝트 예시
| 요소 | 설명 | 이번 프로젝트에 쓸 문장 |
|---|---|---|
| Context | 지금 코드 상태 | src/App.jsx에 목록 UI만 있음 |
| Goal | 이번 Task 결과 | 메모 1줄 추가 + 목록 표시 |
| Constraints | 금지·범위 | App.jsx, App.css만 수정 |
| Acceptance Criteria | 완료 판단 | 빈 문자열 추가 불가 |
| Verification | 검증 방법 | 브라우저에서 2건 추가 후 표 |
Step 7나쁜 요청 vs 좋은 요청 (전문 비교)
published
나쁜 요청 vs 좋은 요청 (전문 비교)
에이전트 Task
메모 앱 좀 예쁘게 만들어줘. 알아서 최신 UI로.에이전트 Task
Context: - Vite+React 메모 앱, src/App.jsx에 입력창·추가 버튼·목록만 있음 Goal: - 빈 문자열은 추가되지 않게 - 추가 시 목록 맨 위에 즉시 표시 - 각 항목 오른쪽에 삭제 버튼 Constraints: - src/App.jsx, src/App.css 만 수정 - 새 npm 패키지 설치 금지 - plan 먼저 → 승인 후 1단계만 구현 Acceptance Criteria: - "" 입력 후 추가 클릭 → 목록 변화 없음 - "할 일 1" 추가 → 목록 1행 - 삭제 클릭 → 해당 행만 제거 Verification: - npm run dev 유지 - 브라우저에서 위 3케이스 실행 후 통과/실패 표
Step 8실습 — 나쁜 프롬프트 1회 (Git commit 후)
published
실습 — 나쁜 프롬프트 1회 (Git commit 후)
터미널
git add . git commit -m "chore: before bad prompt experiment"
에이전트 Task
메모 앱 UI 전체를 최신 트렌드로 싹 바꿔줘. 알아서 예쁘게.에이전트 Task
실패/불만족 이유: 1. (예: 수정 파일이 10개 넘음) 2. (예: plan 없이 바로 diff) 3. (예: 완료 기준이 없음)
터미널
git checkout . # 또는 git reset --hard HEAD
Step 9메모 삭제 기능 Task 작성 (손으로)
published
메모 삭제 기능 Task 작성 (손으로)
task-03-delete-memo.md 파일을 만들거나 메모장에 작성:
에이전트 Task
Context: [Step 6 Context 그대로] Goal: - 각 메모 행에 Delete 버튼 Constraints: [Step 6 Constraints 그대로] Acceptance Criteria: - 2개 추가 후 1개 삭제 → 1개만 남음 Verification: - 브라우저 수동 테스트 + artifact 표
아직 에이전트에 보내지 않아도 됩니다. 4강에서 재사용합니다.
Step 10plan 선행 문구 — Task 맨 위 고정 템플릿
published
plan 선행 문구 — Task 맨 위 고정 템플릿
모든 Task 첫 줄에 붙입니다.
에이전트 Task
먼저 이 Task의 implementation plan만 작성해. 파일 수정 금지. plan 승인 후에만 1단계 구현해. plan에 수정·생성 파일 목록을 명시해.
Step 114강용 Task 초안 완성
published
4강용 Task 초안 완성
1강 idea-brief.md를 열고, 할 일 앱 MVP 기준 Task를 작성합니다.
에이전트 Task
Context: - 3강에서 만든 React 앱을 todo 앱으로 확장 예정 - 현재: [메모 또는 빈 App] Goal: - 할 일 추가 + 목록 (4강 Task 1) Constraints: - plan 선행 - 새 UI 라이브러리 금지 Acceptance Criteria: - [관찰 가능한 3개] Verification: - npm run dev + localhost 브라우저 테스트
3강 완료 체크
- [ ] localhost 스크린샷
- [ ] plan artifact 1개
- [ ] 나쁜 프롬프트 실험 메모
- [ ] 4강 Task 초안 1개
- [ ]
tasks-log.md파일 생성 (비어 있어도 됨)
에이전트와 함께 기능 만들기
할 일 앱 1차 버전 — plan 승인·구현·브라우저 검증 사이클
13 steps
Step 1모듈 안내
published
모듈 안내
Step 24강 시작 — 요구사항 & 폴더
published
4강 시작 — 요구사항 & 폴더
MVP 기능 목록 (코드에 그대로 반영)
- 할 일 추가 (input + button)
- 완료 토글 (체크박스 또는 버튼)
- 삭제
- 필터: 전체 / 진행 중 / 완료
- 빈 입력 추가 불가
- 375px 모바일에서 버튼 겹침 없음
터미널
mkdir todo-app-mvp cd todo-app-mvp git init
Antigravity에서 todo-app-mvp 폴더를 연 뒤 3강 Step 2~4를 다시 진행합니다.
터미널
# 프로젝트 루트에서 echo. > tasks-log.md echo. > requirements.md
requirements.md에 1강 idea-brief.md 내용 + 위 MVP 6개를 붙여 넣습니다.
Step 3todo 앱 전환 plan 요청
published
todo 앱 전환 plan 요청
에이전트에 전문 복사:
에이전트 Task
Context: - Vite + React 프로젝트 (src/App.jsx 존재) - 3강에서 메모/Hello 수준 UI만 있을 수 있음 Goal: - 「할 일 관리 앱」 MVP 구현 plan 작성 - 기능: 추가, 완료 토글, 삭제, 필터(전체/진행중/완료), 빈 입력 방지, 모바일 레이아웃 Constraints: - 지금은 plan만. 코드·파일 변경 금지 - UI 라이브러리 추가 금지 - 구현을 4단계로 나눌 것: Step A: 추가+목록+빈입력방지 Step B: 완료 토글+삭제 Step C: 필터 3종 Step D: 모바일 CSS (375px) Acceptance Criteria (plan): - 각 Step별 수정 파일 목록 - todo 상태 구조 (예: id, text, done) 명시 Verification: - plan을 markdown artifact로 출력 파일 수정 금지. plan만.
plan 검토 체크 (사람)
- [ ]
useState배열{ id, text, done }형태인가? - [ ] Step A~D가 한 번에 전부 구현이 아닌가?
- [ ]
npm run dev검증이 각 Step에 있는가?
Step 4Step A 승인 — 추가 + 목록 + 빈 입력
published
Step A 승인 — 추가 + 목록 + 빈 입력
plan Step A만 승인합니다.
에이전트 Task
plan Step A만 승인하고 구현해. Context: - src/App.jsx 기준 Goal: - input + 「추가」 버튼 - todos 배열 state: { id, text, done:false } - 목록 렌더링 - text.trim() === "" 이면 추가하지 않음 Constraints: - src/App.jsx, src/App.css 만 수정 (plan과 다르면 plan 따름) - 새 npm 패키지 금지 - Step B(완료/삭제/필터)는 아직 구현 금지 Verification: - npm run dev 실행 - 브라우저에서: 1) "첫 할일" 추가 → 1행 2) "둘째" 추가 → 2행 3) 빈 칸 추가 클릭 → 변화 없음 - 결과를 통과/실패 표로 artifact 완료 후 변경 파일 목록 출력.
사람이 직접 확인
http://localhost:5173/새로고침- 위 3케이스 직접 클릭
tasks-log.md에 프롬프트 제목Task A - add list붙여넣기
Step 5Step B — 완료 토글 + 삭제
published
Step B — 완료 토글 + 삭제
에이전트 Task
plan Step B만 구현해. Step C/D 금지. Goal: - 각 todo에 완료 토글(체크박스 또는 「완료」 버튼) - 「삭제」 버튼 → 해당 id만 배열에서 제거 Constraints: - todo state 구조 유지 - 스타일 대규모 변경 금지 Verification: - "A","B" 추가 → A 완료 → B 삭제 → 목록 A만, done=true - 통과/실패 표 destructive command 금지.
수동 테스트 시나리오
| # | 동작 | 기대 |
|---|---|---|
| 1 | "A" 추가 | 1행 |
| 2 | "B" 추가 | 2행 |
| 3 | A 완료 체크 | A에 취소선 또는 done 표시 |
| 4 | B 삭제 | B만 사라짐 |
Step 6Step C — 필터 3종
published
Step C — 필터 3종
에이전트 Task
plan Step C만: 필터 UI + 로직. Goal: - 필터 state: "all" | "active" | "done" - 버튼 3개: 전체 / 진행 중 / 완료 - 선택한 필터에 맞는 todos만 렌더 Constraints: - 필터 관련 코드 + 최소 CSS만 - 새 파일은 src/components/TodoFilter.jsx 1개까지 허용 Verification: - 미완료 2 + 완료 1 상태 만들기 - all → 3개, active → 2개, done → 1개 - 375px DevTools에서 필터 버튼 캡처 (깨져도 OK — 5강용) 브라우저 검증 표 artifact.
DevTools 모바일 너비
- F12 → Toggle device toolbar
- Width 375
- 필터 버튼 스크린샷 저장 →
filter-mobile.png
Step 7Step D — 모바일 CSS (375px)
published
Step D — 모바일 CSS (375px)
에이전트 Task
Context: - 375px에서 필터 버튼이 두 줄로 깨질 수 있음 Goal: - 375px, 1280px 모두 필터 영역 레이아웃 정리 - flex-wrap 또는 gap 조정 Constraints: - CSS/App.css 또는 TodoFilter.jsx 스타일만 - JS 로직·state 구조 변경 금지 - 새 패키지 금지 Verification: - 375px, 1280px 스크린샷 또는 설명 - 수정 전후 2문장 요약
Step 8전체 회귀 테스트 Task
published
전체 회귀 테스트 Task
문서 템플릿
할 일 앱 회귀 테스트만. 코드 수정 금지 unless 실패 항목 수정 Task 별도. 브라우저에서 실행 후 표 작성: | # | 시나리오 | 기대 | 결과 | |---|----------|------|------| | 1 | 빈 입력 추가 | 변화 없음 | | | 2 | 2건 추가 | 2행 | | | 3 | 1건 완료 | done 표시 | | | 4 | 1건 삭제 | 1행 | | | 5 | 필터 all/active/done | 개수 일치 | | | 6 | 375px 레이아웃 | 버튼 겹침 없음 | | 실패 항목마다 bug Task 초안 1줄 제안.
사람도 같은 표를 채워 verification.md에 저장합니다.
Step 9버그 수정 Task (1건)
published
버그 수정 Task (1건)
Step 7에서 실패가 없으면 연습용:
에이전트 Task
버그: 완료 토글 후 필터「진행 중」에서 항목이 사라지지 않음 (가상 또는 실제) 범위: 1) 원인 조사 — 코드 수정 전 설명 2) 최소 diff 3) 재검증 1케이스 관련 없는 리팩터링 금지.
Step 10App.jsx 참고 구조 (검증용)
published
App.jsx 참고 구조 (검증용)
에이전트 결과와 대략 맞는지 봅니다. (그대로 복사할 필요 없음)
참고 코드
// src/App.jsx — 개념적 구조 const [todos, setTodos] = useState([]); // { id, text, done } const [filter, setFilter] = useState('all'); // all | active | done const addTodo = (text) => { if (!text.trim()) return; setTodos([...todos, { id: Date.now(), text: text.trim(), done: false }]); }; // filteredTodos = filter에 따라 todos.filter(...)
Step 11Git commit
published
Git commit
터미널
git status git add . git commit -m "feat(todo): mvp add toggle delete filter mobile"
커밋 메시지를 에이전트에게 맡기려면:
터미널
git diff --stat 기준으로 Conventional Commits 영어 메시지 1줄만 제안해. 실행은 내가 함.Step 12tasks-log.md 정리
published
tasks-log.md 정리
tasks-log.md 최소 4블록:
문서 템플릿
## Task A — add list (Step 3 프롬프트 전문) ## Task B — toggle delete (Step 4) ## Task C — filter (Step 5) ## Task D — mobile css (Step 6)
Step 134강 완료 체크
published
4강 완료 체크
- [ ] localhost에서 MVP 6기능 수동 확인
- [ ]
verification.md표 (사람 + 에이전트) - [ ]
tasks-log.md4개 이상 - [ ] Git commit 1개
- [ ]
filter-mobile.png(선택)
다음: 5강에서 verification.md와 plan artifact를 다시 읽습니다.
Artifact 읽고 검토하기
plan·diff·test·browser 결과를 읽고 피드백하는 법
9 steps
Step 1모듈 안내
published
모듈 안내
Step 2plan artifact 다시 열기
published
plan artifact 다시 열기
에이전트 Task
4강 Step A 구현 전에 작성했던 todo 앱 plan을 다시 markdown으로 요약해줘. 코드 수정 금지.
1-2. 사람이 채울 표
plan-review.md:
에이전트 Task
| 질문 | YES/NO | 메모 | |------|--------|------| | Step A~D로 쪼개져 있었는가? | | | | 삭제/install 위험이 명시됐는가? | | | | 실제 구현이 plan Step 순서를 지켰는가? | | |
Step 3diff 범위 검토
published
diff 범위 검토
터미널
git log --oneline -5 git show --stat HEAD
에이전트 Task
변경 파일 수: ___ 예상 파일: App.jsx, App.css, (TodoFilter.jsx) 범위 이탈 파일: ___
범위 이탈이 있으면 다음 Task 제약에 추가할 문장:
에이전트 Task
Constraints: src/ 외 폴더 수정 금지Step 4verification.md 대조
published
verification.md 대조
4강 Step 7 표를 열고 에이전트 vs 사람 열을 채웁니다.
| # | 에이전트 | 내가 직접 | 일치? |
|---|---|---|---|
| 1 | |||
| ... |
불일치 1건을 골라 6강/8강 회고에 사용합니다.
Step 5범위 제한 피드백 Task (실습)
published
범위 제한 피드백 Task (실습)
filter-mobile.png가 있거나 375px 깨짐이 있었다면:
에이전트 Task
Context: - todo 앱, src/App.css 또는 TodoFilter 스타일 - 375px에서 필터 버튼 줄바꿈 문제 (있었다면) Goal: - 375px에서 필터 버튼 한 줄 또는 균등 wrap - 1280px에서도 정렬 유지 Constraints: - CSS/스타일만 수정 - todos state·filter 로직 변경 금지 - 새 파일 생성 금지 Verification: - DevTools 375px, 1280px 확인 - 수정 파일명 1~2개만 plan 먼저 → 승인 후 수정.
승인 전 diff 확인
- [ ]
.jsx로직 파일 0개 변경? - [ ] CSS만 변경?
Step 6피드백 Task self-check
published
피드백 Task self-check
방금 Task에 4가지가 있는지:
- [ ] 문제 (무엇이 깨졌는지)
- [ ] 범위 (CSS only)
- [ ] 금지 (로직·새 파일)
- [ ] 검증 (375/1280)
Step 7코드 리뷰 (수정 금지)
published
코드 리뷰 (수정 금지)
터미널
git diff main -- src/ 를 읽고 코드 리뷰만 해줘. 새 코드 작성·파일 수정 금지. 형식: | 우선순위 | 파일 | 문제 | 이유 | 제안 | | High/Med/Low | | | | | High 1건을 골라 bug Task 초안 작성.
Step 8bug Task 초안 (손으로)
published
bug Task 초안 (손으로)
에이전트 Task
Context: [리뷰 High 항목] Goal: [한 문장] Constraints: 최소 변경, plan 선행 Verification: [1케이스]
Step 95강 산출물 패키지
published
5강 산출물 패키지
폴더 artifacts-05/ 또는 루트:
- [ ]
plan-review.md - [ ] diff stat 메모
- [ ] verification 대조표
- [ ] CSS-only 피드백 Task 전문
- [ ] code review → bug Task 1개
안전하게 권한 다루기
터미널·삭제·설치·workspace 접근 통제
8 steps
Step 1모듈 안내
published
모듈 안내
Step 2체크리스트 카드 (인쇄용)
published
체크리스트 카드 (인쇄용)
권한 팝업·터미널 명령 승인 전 6초 체크:
에이전트 Task
[ ] 경로: 어디에 쓰나? [ ] workspace 밖? → 거절 [ ] rm/del/clean/reset? → 거절 또는 plan 확인 [ ] git status 봤나? [ ] undo 가능? [ ] 이유 설명?
Step 3위험 → 안전 Task 재작성
published
위험 → 안전 Task 재작성
절대 실행하지 말 것 (교육용 텍스트):
에이전트 Task
에러 나니까 node_modules랑 dist, .cache 싹 지워줘.실습: 아래를 safe-task-error-investigate.md에 저장
에이전트 Task
Context: - npm run dev 실행 중 [에러 메시지 한 줄 붙여넣기] - todo-app-mvp 프로젝트 Goal: - 에러 원인 조사 및 해결 **후보** 3가지 제시 Constraints: - rm, del, git clean, node_modules 삭제 금지 - 파일 이동·rename 금지 - install은 후보만, 실행 금지 Verification: - 원인 가설 + 확인 명령(읽기 전용) + 추천 순서 plan 먼저. destructive command 금지.
Step 4npm install 승인 연습
published
npm install 승인 연습
에이전트 Task
Context: todo 앱, date-fns 없음 Goal: - due date 표시를 **새 패키지 없이** 가능한지 plan - 불가능하면 date-fns vs dayjs 비교 (번들 크기, 사용법) - install 명령은 plan에만, 실행 금지 Constraints: 코드 수정 금지 Verification: 비교 표 artifact
사람 결정 메모:
에이전트 Task
설치 승인: YES / NO 이유: 대안(없이): native Date.toLocaleDateString()
Step 5git status 루틴
published
git status 루틴
매 Task 전:
터미널
git status git branch
에이전트에게:
에이전트 Task
아래 git status 출력을 읽고 변경 요약 3줄만. 파일 수정 금지. [git status 출력 붙여넣기]
Step 6Task 안전 footer 붙이기
published
Task 안전 footer 붙이기
tasks-log.md 각 Task 하단에 추가:
에이전트 Task
--- Safety: - no rm/del/git clean/git reset --hard - no install without approval - workspace 외 경로 금지 - plan before edit
실습: Task A 하나에 footer 붙인 tasks-log-v2.md 저장
Step 7가짜 권한 요청 — 거절 대사
published
가짜 권한 요청 — 거절 대사
짝과 연습. 30초 안에:
에이전트 Task
요청: sudo npm install -g typescript && rm -rf node_modules 거절: workspace 밖/전역 install/대량 삭제가 plan에 없어 거절. 원인 조사 Task로 대체.
Step 86강 완료
published
6강 완료
- [ ]
safe-task-error-investigate.md - [ ] install 승인/거절 메모
- [ ]
tasks-log-v2.md(safety footer)
리서치와 문서화
웹 리서치·README·changelog에 에이전트 활용
8 steps
Step 1모듈 안내
published
모듈 안내
Step 2리서치 Task (코드 수정 금지)
published
리서치 Task (코드 수정 금지)
에이전트 Task
Context: - 개인 할 일 웹앱 (React, 로컬) - 이미: 추가/완료/삭제/필터 Goal: - 「todo app UX best practices mobile」 리서치 - 우리 앱에 **아직 없는** 개선 3가지 Constraints: - 코드·README 수정 금지 - 웹 검색 사용 - 링크 3개 이상 (공식/신뢰 출처) Verification: | # | 출처 URL | 요약 | 우리 앱 적용 아이디어 | |---|----------|------|---------------------| artifact로 저장.
Step 3PRD 초안
published
PRD 초안
에이전트 Task
Context: src/ 와 package.json 읽기 Goal: PRD.md 초안 (코드에 있는 기능만 「구현됨」) 포함: 1. 문제 정의 (1강 idea-brief에서 2문장) 2. 사용자 3. 기능 표: 기능 | 상태(구현됨/예정) | 파일 4. 비기능: 모바일 375px, 빈 입력 Constraints: - 없는 기능을 구현됨으로 쓰지 마 - 파일 수정 금지, PRD 내용만 출력 Verification: 구현됨 항목 3개를 App.jsx 줄번호와 대조
Step 4PRD 사실 검증 Task
published
PRD 사실 검증 Task
에이전트 Task
PRD 초안의 「구현됨」 항목 각각에 대해 App.jsx에서 근거 줄번호를 표로 매칭해. 틀린 항목은 「수정안」만. 코드/PRD 파일 수정 금지.
Step 5README 생성
published
README 생성
에이전트 Task
Goal: README.md 전문 작성 (파일 생성 OK) 필수 섹션: ## 목적 ## 기능 (체크리스트) ## 요구 사항 (Node 버전) ## 설치 및 실행 - npm install - npm run dev ## 폴더 구조 (tree) ## 기술 스택 ## 로드맵 (7강 Step 1 아이디어 1개) Constraints: - package.json scripts와 일치 - 없는 기능 금지 Verification: 5줄 요약 artifact
Step 6README 실행 검증 (사람)
published
README 실행 검증 (사람)
새 터미널 (또는 dev 서버 중지 후):
터미널
cd todo-app-mvp npm install npm run dev
| README 항목 | README 내용 | 실제 | OK? |
|---|---|---|---|
| install | npm install | ||
| dev | npm run dev | URL: | |
| 기능 1 | 추가 | 클릭 테스트 |
틀리면:
에이전트 Task
README의 「설치 및 실행」만 실제와 맞게 수정해. 다른 섹션 건드리지 마.Step 7CHANGELOG
published
CHANGELOG
터미널
git log --oneline 과 tasks-log.md 기준 CHANGELOG.md 작성. 형식: ## [0.1.0] - YYYY-MM-DD ### Added - ...
Step 8docs-capstone 폴더
published
docs-capstone 폴더
터미널
mkdir docs-capstone copy README.md docs-capstone\ copy PRD.md docs-capstone\ copy CHANGELOG.md docs-capstone\ copy tasks-log.md docs-capstone\ copy verification.md docs-capstone\
7강 완료: README를 손으로 install/dev 재현했는가?
최종 프로젝트
작은 앱 완성·발표·자가 루브릭
9 steps
Step 1모듈 안내
published
모듈 안내
Step 2주제 & MVP 범위 (10분)
published
주제 & MVP 범위 (10분)
capstone-brief.md 작성:
에이전트 Task
선택: A 할일확장 / B 회의록→할일 / C 독서카드 / D 문의분류 / E 랜딩 MVP (2~3시간, 1~2 기능만): - 기능1: - 기능2: - 제외(하지 않을 것): 1강 idea-brief 연결:
예 A — 할 일 확장 (localStorage만)
에이전트 Task
Goal: 새로고침 후에도 todos 유지 (localStorage) Constraints: 새 패키지 금지, utils/storage.js 1파일까지
Step 3Task 5개 분해표
published
Task 5개 분해표
| # | Task | plan/구현 | 산출물 |
|---|---|---|---|
| 1 | MVP plan | plan | plan.md |
| 2 | 기능1 | 1단계 | 스크린샷 |
| 3 | 기능2 | 1단계 | 스크린샷 |
| 4 | 회귀 테스트 | 검증 | verification-capstone.md |
| 5 | README+회고 | 문서 | README, retrospective.md |
각 Task에 5요소 + Safety footer (6강)
Step 4Task 1 — capstone plan
published
Task 1 — capstone plan
에이전트 Task
Context: [capstone-brief] Goal: capstone MVP plan only Constraints: 파일 수정 금지, 2단계 구현으로 분할 Verification: plan.md artifact
승인 후 Task 2,3 순차 실행 (4강과 동일 패턴)
Step 590분 스프린트 타임라인
published
90분 스프린트 타임라인
문서 템플릿
00:00 plan 승인 00:15 Task2 구현 시작 00:40 Task3 00:55 verification Task 01:05 bugfix 1건 (선택) 01:15 README 01:25 retrospective.md 01:30 리허설
타이머 사용. 「전부 만들어줘」 금지.
Step 6localStorage 확장 예시 (A안)
published
localStorage 확장 예시 (A안)
에이전트 Task
Context: - todos state in App.jsx - 새로고침 시 초기화됨 Goal: - localStorage key "todos-v1" save/load - load on mount, save on todos change Constraints: - utils/storage.js 신규 1파일 + App.jsx 수정만 - plan 먼저 Verification: - 2건 추가 → F5 → 2건 유지
Step 7retrospective.md (6문항)
published
retrospective.md (6문항)
문서 템플릿
## 1. 문제 ## 2. 에이전트에 맡긴 일 3가지 ## 3. 내가 거절/수정한 순간 ## 4. Task before → after ## 5. 실패한 요청 1개 ## 6. 다음 개선 2가지
3·4·5는 에이전트가 쓰면 안 됨 — 직접 작성
Step 85분 발표 스크립트
published
5분 발표 스크립트
에이전트 Task
0:00 문제 (30s) 0:30 라이브 데모 localhost (2m) 2:30 Task 1개 + plan 승인 (1m) 3:30 안전 거절/artifact (1m) 4:30 회고 1줄
실습: 녹화 또는 짝 앞 리허설 1회
Step 9루브릭 & 워크샵 종료
published
루브릭 & 워크샵 종료
| 항목 | /20 | 점수 | 근거 |
|---|---|---|---|
| 문제 정의 | 20 | ||
| Task | 20 | ||
| 구현 | 20 | ||
| 검증 | 20 | ||
| 안전 | 10 | ||
| 회고 | 10 |
80+ → 목표 달성
터미널
git add . git commit -m "feat(capstone): [한 줄 설명]"
축하합니다. Antigravity 워크샵 완료.