클래스 목록으로 돌아가기

Public CMS Preview

바이브코딩 워크샵 (Antigravity)

로그인 없이 확인하는 Antigravity 워크샵 CMS 프리뷰입니다.

Module 1lesson필수

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를 작성합니다.

이 문서는 에이전트가 만들 앱의 목표, 기능 범위, 제한 조건, 완성 기준을 이해하도록 돕는 기준서입니다.

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 4

Antigravity에 파일 저장 (선택)

published

에이전트 Task

idea-brief.md 파일을 프로젝트 루트에 만들어줘.
내용은 아래와 같아. plan만, 다른 파일 수정 금지.

[idea-brief 붙여넣기]

1강 완료 산출물: idea-brief.md + 나쁜 한 줄

Module 2lesson필수

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 2

Google Antigravity 설치

published
Google Antigravity 다운로드 (antigravity.google/download)

Gemini 에이전트 IDE인 Google Antigravity를 설치합니다.

Antigravity는 VS Code 계열 UI에 Agent Manager(에이전트 작업 관리)가 통합된 IDE입니다.

터미널

https://antigravity.google/download
공식 다운로드 페이지

Windows는 공식 설치 프로그램 또는 아래 winget을 사용할 수 있습니다.

터미널

winget install -e --id Google.Antigravity

터미널

# 설치·업데이트 확인 (Windows)
winget list --id Google.Antigravity
Step 3

Antigravity 기본 설정

published
Ctrl+L / Ctrl+Shift+I — Agent Manager(에이전트 패널) 열기
설정 → Chat Language
Chat Language를 Korean으로 설정

설치 직후 에이전트 패널응답 언어를 확인합니다.

터미널

에이전트 패널 열기/포커스: Ctrl + Shift + I
에이전트 패널 토글: Ctrl + L

Agent Manager(에이전트 패널)가 보이면 정상입니다.

Step 4

Agent Manager · workspace · task · artifact

published
Agent Manager — workspace · Task · Inbox
Task → plan 확인 → 승인 → 실행 흐름
Review changes 옆 Artifacts — plan·스크린샷·실행 결과

Antigravity 워크숍의 핵심 용어를 맞춰 둡니다.

용어의미
workspaceAntigravity에서 연 프로젝트 폴더
Task에이전트에게 맡기는 한 덩어리 작업
plan실행 전 에이전트가 제시하는 작업 계획
artifactplan·diff·실행 결과·스크린샷 등 증거
Approve파일 생성·터미널 실행 등 권한 승인

기본 흐름: Task 입력 → plan 확인 → 승인 → 실행 → artifact 검토

Step 5

Git 설치

published

코드 변경 이력을 남기기 위해 Git을 설치합니다.

git-scm.com에서 OS에 맞는 Git 설치 파일 다운로드

터미널

https://git-scm.com

설치 후 Antigravity 내장 터미널에서 확인합니다.

터미널

git --version
Step 6

GitHub CLI 설치

published

GitHub 원격 저장소 연동을 위해 GitHub CLI(gh) 를 설치합니다.

Windows:

GitHub CLI(gh) — winget 또는 공식 설치

터미널

winget install --id GitHub.cli

macOS:

터미널

brew install gh

확인:

터미널

gh --version
Step 7

GitHub 로그인

published

터미널에서 GitHub에 로그인합니다.

gh auth login — 브라우저에서 GitHub.com 인증

터미널

gh auth login
  1. GitHub.com 선택
  2. HTTPS 선택
  3. 브라우저에서 인증 선택
  4. 브라우저에서 로그인

터미널

gh auth status
Step 8

프로젝트 폴더 생성

published

워크숍용 로컬 폴더 `vibe-test` 를 만듭니다.

Windows PowerShell:

터미널

mkdir vibe-test
cd vibe-test
Step 9

Antigravity에서 workspace 열기

published
  1. Antigravity 실행
  2. File → Open Folder
  3. vibe-test 폴더 선택 → Open
  4. Agent Manager에서 New Task(또는 입력창) 확인
File → Open Folder로 vibe-test workspace 열기
폴더를 연 뒤 Agent Manager에서 New Task 확인

터미널

git status

fatal: not a git repository가 나와도 폴더가 열린 상태면 다음 Step으로 진행합니다.

Step 10

AGENTS.md · 프로젝트 초기화

published

에이전트가 프로젝트에서 어떻게 일할지 AGENTS.md로 정합니다.

Agent Manager 입력창에 AGENTS.md plan Task 붙여 넣기

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 12

GitHub 저장소 생성

published

vibe-test에서 Git 저장소를 만들고 GitHub에 연결합니다.

gh repo create 후 GitHub에서 vibe-test 저장소 확인

터미널

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 --push
Step 13

환경 구축 완료

published

축하합니다. Antigravity 워크숍 2강을 마쳤습니다.

확인 체크리스트

  • [ ] Antigravity에서 vibe-test workspace 열림
  • [ ] Agent Manager에서 Task·plan·승인 흐름 이해
  • [ ] AGENTS.md 존재
  • [ ] Git · GitHub CLI · gh auth 정상
  • [ ] (선택) GitHub에 vibe-test push 완료

다음: 3강 좋은 Task 만들기idea-brief.md를 바탕으로 에이전트 Task를 작성합니다.

Module 3lesson필수

좋은 Task 만들기

Context·Goal·Constraints·완료 기준·검증이 담긴 Task 작성

11 steps

Step 1

모듈 안내

published
Step 2

Antigravity에서 workspace 열기

published

1-1. 폴더 확인

2강에서 만든 폴더 이름을 확인합니다. 기본 예시는 vibe-test입니다.

터미널

# Windows PowerShell — 홈 또는 작업 드라이브에서
cd vibe-test
dir

다음 중 하나 이상 보이면 OK입니다.

  • AGENTS.md
  • .git 폴더
  • README.md

1-2. Antigravity에서 열기

  1. Antigravity 실행
  2. File → Open Folder (또는 시작 화면에서 폴더 열기)
  3. vibe-test 선택 → Open
File → Open Folder → vibe-test

1-3. Agent Manager 확인

  • 왼쪽 또는 별도 패널에서 Agent / Task 영역이 보이는지 확인
  • 새 Task(또는 채팅) 입력창에 프롬프트를 붙여 넣을 준비
Agent / 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 3

React 앱 plan 요청 (파일 생성 금지)

published
plan만 요청했을 때 artifact로 정리되는 모습
Verification — plan을 artifact 또는 markdown 표로 정리

에이전트 입력창에 아래 전문을 그대로 붙여 넣습니다.

에이전트 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가지

  1. 파일 목록이 10개를 넘지 않는가?
  2. 1차 MVP가 「추가 + 목록」만인가?
  3. install 명령이 plan에 적혀 있는가?
  4. 삭제/rm 같은 위험 작업이 없는가?
  5. 검증npm run dev + 브라우저가 있는가?

하나라도 NO면 Step 3으로 plan 수정 요청 후 진행합니다.

Step 4

plan 수정·승인 (범위 줄이기)

published

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 5

dev 서버 실행 & 브라우저 확인

published

에이전트가 실행했어도 직접 한 번 더 확인합니다.

터미널

npm install

터미널

npm run dev

예상 출력 (Vite 예시)

에이전트 Task

VITE v5.x.x  ready in xxx ms
  ➜  Local:   http://localhost:5173/

4-3. 브라우저

  1. http://localhost:5173/ 접속
  2. 빈 페이지 또는 Hello/React 로고가 보이면 1차 스캐affold 성공
npm run dev 후 localhost — 에이전트 browser artifact와 동일한 검증

4-4. 문제 해결

증상조치
npm not found2강 Python/Git과 별도로 Node.js LTS 설치
포트 충돌터미널에 표시된 다른 포트 URL 사용
흰 화면만F12 콘솔 에러 → 에이전트에 에러 로그 붙여 bug Task

이 Step 산출물: localhost URL 스크린샷 1장

Step 6

Task 5요소 — 이론 + 우리 프로젝트 예시

published
요소설명이번 프로젝트에 쓸 문장
Context지금 코드 상태src/App.jsx에 목록 UI만 있음
Goal이번 Task 결과메모 1줄 추가 + 목록 표시
Constraints금지·범위App.jsx, App.css만 수정
Acceptance Criteria완료 판단빈 문자열 추가 불가
Verification검증 방법브라우저에서 2건 추가 후 표
Step 7

나쁜 요청 vs 좋은 요청 (전문 비교)

published

에이전트 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

터미널

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-03-delete-memo.md 파일을 만들거나 메모장에 작성:

에이전트 Task

Context:
[Step 6 Context 그대로]

Goal:
- 각 메모 행에 Delete 버튼

Constraints:
[Step 6 Constraints 그대로]

Acceptance Criteria:
- 2개 추가 후 1개 삭제 → 1개만 남음

Verification:
- 브라우저 수동 테스트 + artifact 표

아직 에이전트에 보내지 않아도 됩니다. 4강에서 재사용합니다.

Step 10

plan 선행 문구 — Task 맨 위 고정 템플릿

published

모든 Task 첫 줄에 붙입니다.

에이전트 Task

먼저 이 Task의 implementation plan만 작성해. 파일 수정 금지.
plan 승인 후에만 1단계 구현해.
plan에 수정·생성 파일 목록을 명시해.
Step 11

4강용 Task 초안 완성

published

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 파일 생성 (비어 있어도 됨)
Module 4practice필수

에이전트와 함께 기능 만들기

할 일 앱 1차 버전 — plan 승인·구현·브라우저 검증 사이클

13 steps

Step 1

모듈 안내

published
Step 2

4강 시작 — 요구사항 & 폴더

published

MVP 기능 목록 (코드에 그대로 반영)

  1. 할 일 추가 (input + button)
  2. 완료 토글 (체크박스 또는 버튼)
  3. 삭제
  4. 필터: 전체 / 진행 중 / 완료
  5. 빈 입력 추가 불가
  6. 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 3

todo 앱 전환 plan 요청

published

에이전트에 전문 복사:

에이전트 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 4

Step A 승인 — 추가 + 목록 + 빈 입력

published

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

완료 후 변경 파일 목록 출력.

사람이 직접 확인

  1. http://localhost:5173/ 새로고침
  2. 위 3케이스 직접 클릭
  3. tasks-log.md에 프롬프트 제목 Task A - add list 붙여넣기
Step A — 추가·목록·빈 입력 방지 브라우저 테스트
Step 5

Step B — 완료 토글 + 삭제

published

에이전트 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행
3A 완료 체크A에 취소선 또는 done 표시
4B 삭제B만 사라짐
Step 6

Step C — 필터 3종

published

에이전트 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 모바일 너비

  1. F12 → Toggle device toolbar
  2. Width 375
  3. 필터 버튼 스크린샷 저장 → filter-mobile.png
F12 → Device toolbar → Width 375 — filter-mobile.png 캡처 위치
Step 7

Step D — 모바일 CSS (375px)

published

에이전트 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

문서 템플릿

할 일 앱 회귀 테스트만. 코드 수정 금지 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

Step 7에서 실패가 없으면 연습용:

에이전트 Task

버그: 완료 토글 후 필터「진행 중」에서 항목이 사라지지 않음 (가상 또는 실제)

범위:
1) 원인 조사 — 코드 수정 전 설명
2) 최소 diff
3) 재검증 1케이스

관련 없는 리팩터링 금지.
Step 10

App.jsx 참고 구조 (검증용)

published

에이전트 결과와 대략 맞는지 봅니다. (그대로 복사할 필요 없음)

참고 코드

// 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 11

Git commit

published

터미널

git status
git add .
git commit -m "feat(todo): mvp add toggle delete filter mobile"

커밋 메시지를 에이전트에게 맡기려면:

터미널

git diff --stat 기준으로 Conventional Commits 영어 메시지 1줄만 제안해. 실행은 내가 함.
Step 12

tasks-log.md 정리

published

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 13

4강 완료 체크

published
  • [ ] localhost에서 MVP 6기능 수동 확인
  • [ ] verification.md 표 (사람 + 에이전트)
  • [ ] tasks-log.md 4개 이상
  • [ ] Git commit 1개
  • [ ] filter-mobile.png (선택)

다음: 5강에서 verification.md와 plan artifact를 다시 읽습니다.

Module 5lesson필수

Artifact 읽고 검토하기

plan·diff·test·browser 결과를 읽고 피드백하는 법

9 steps

Step 1

모듈 안내

published
Step 2

plan artifact 다시 열기

published
plan·브라우저 스크린샷·walkthrough artifact

에이전트 Task

4강 Step A 구현 전에 작성했던 todo 앱 plan을 다시 markdown으로 요약해줘.
코드 수정 금지.

1-2. 사람이 채울 표

plan-review.md:

에이전트 Task

| 질문 | YES/NO | 메모 |
|------|--------|------|
| Step A~D로 쪼개져 있었는가? | | |
| 삭제/install 위험이 명시됐는가? | | |
| 실제 구현이 plan Step 순서를 지켰는가? | | |
Step 3

diff 범위 검토

published
git diff / Review changes로 범위 확인

터미널

git log --oneline -5
git show --stat HEAD

에이전트 Task

변경 파일 수: ___
예상 파일: App.jsx, App.css, (TodoFilter.jsx)
범위 이탈 파일: ___

범위 이탈이 있으면 다음 Task 제약에 추가할 문장:

에이전트 Task

Constraints: src/ 외 폴더 수정 금지
Step 4

verification.md 대조

published

4강 Step 7 표를 열고 에이전트 vs 사람 열을 채웁니다.

#에이전트내가 직접일치?
1
...

불일치 1건을 골라 6강/8강 회고에 사용합니다.

Step 5

범위 제한 피드백 Task (실습)

published

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만 변경?
Review changes — .jsx 0개·CSS만 변경됐는지 확인
Step 6

피드백 Task self-check

published

방금 Task에 4가지가 있는지:

  • [ ] 문제 (무엇이 깨졌는지)
  • [ ] 범위 (CSS only)
  • [ ] 금지 (로직·새 파일)
  • [ ] 검증 (375/1280)
Step 7

코드 리뷰 (수정 금지)

published

터미널

git diff main -- src/ 를 읽고 코드 리뷰만 해줘.
새 코드 작성·파일 수정 금지.

형식:
| 우선순위 | 파일 | 문제 | 이유 | 제안 |
| High/Med/Low | | | | |

High 1건을 골라 bug Task 초안 작성.
Step 8

bug Task 초안 (손으로)

published

에이전트 Task

Context: [리뷰 High 항목]

Goal: [한 문장]

Constraints: 최소 변경, plan 선행

Verification: [1케이스]
Step 9

5강 산출물 패키지

published

폴더 artifacts-05/ 또는 루트:

  • [ ] plan-review.md
  • [ ] diff stat 메모
  • [ ] verification 대조표
  • [ ] CSS-only 피드백 Task 전문
  • [ ] code review → bug Task 1개
Module 6lesson필수

안전하게 권한 다루기

터미널·삭제·설치·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

에러 나니까 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 4

npm install 승인 연습

published

에이전트 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 5

git status 루틴

published

매 Task 전:

터미널

git status
git branch

에이전트에게:

에이전트 Task

아래 git status 출력을 읽고 변경 요약 3줄만. 파일 수정 금지.

[git status 출력 붙여넣기]
Step 6

Task 안전 footer 붙이기

published

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 8

6강 완료

published
  • [ ] safe-task-error-investigate.md
  • [ ] install 승인/거절 메모
  • [ ] tasks-log-v2.md (safety footer)
Module 7lesson필수

리서치와 문서화

웹 리서치·README·changelog에 에이전트 활용

8 steps

Step 1

모듈 안내

published
Step 2

리서치 Task (코드 수정 금지)

published

에이전트 Task

Context:
- 개인 할 일 웹앱 (React, 로컬)
- 이미: 추가/완료/삭제/필터

Goal:
- 「todo app UX best practices mobile」 리서치
- 우리 앱에 **아직 없는** 개선 3가지

Constraints:
- 코드·README 수정 금지
- 웹 검색 사용
- 링크 3개 이상 (공식/신뢰 출처)

Verification:
| # | 출처 URL | 요약 | 우리 앱 적용 아이디어 |
|---|----------|------|---------------------|

artifact로 저장.
Step 3

PRD 초안

published

에이전트 Task

Context: src/ 와 package.json 읽기

Goal: PRD.md 초안 (코드에 있는 기능만 「구현됨」)

포함:
1. 문제 정의 (1강 idea-brief에서 2문장)
2. 사용자
3. 기능 표: 기능 | 상태(구현됨/예정) | 파일
4. 비기능: 모바일 375px, 빈 입력

Constraints:
- 없는 기능을 구현됨으로 쓰지 마
- 파일 수정 금지, PRD 내용만 출력

Verification: 구현됨 항목 3개를 App.jsx 줄번호와 대조
Step 4

PRD 사실 검증 Task

published

에이전트 Task

PRD 초안의 「구현됨」 항목 각각에 대해
App.jsx에서 근거 줄번호를 표로 매칭해.
틀린 항목은 「수정안」만. 코드/PRD 파일 수정 금지.
Step 5

README 생성

published

에이전트 Task

Goal: README.md 전문 작성 (파일 생성 OK)

필수 섹션:
## 목적
## 기능 (체크리스트)
## 요구 사항 (Node 버전)
## 설치 및 실행
- npm install
- npm run dev
## 폴더 구조 (tree)
## 기술 스택
## 로드맵 (7강 Step 1 아이디어 1개)

Constraints:
- package.json scripts와 일치
- 없는 기능 금지

Verification: 5줄 요약 artifact
Step 6

README 실행 검증 (사람)

published

새 터미널 (또는 dev 서버 중지 후):

터미널

cd todo-app-mvp
npm install
npm run dev
README 항목README 내용실제OK?
installnpm install
devnpm run devURL:
기능 1추가클릭 테스트

틀리면:

에이전트 Task

README의 「설치 및 실행」만 실제와 맞게 수정해. 다른 섹션 건드리지 마.
Step 7

CHANGELOG

published

터미널

git log --oneline 과 tasks-log.md 기준 CHANGELOG.md 작성.

형식:
## [0.1.0] - YYYY-MM-DD
### Added
- ...
Step 8

docs-capstone 폴더

published

터미널

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 재현했는가?

Module 8practice필수

최종 프로젝트

작은 앱 완성·발표·자가 루브릭

9 steps

Step 1

모듈 안내

published
Step 2

주제 & MVP 범위 (10분)

published

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 3

Task 5개 분해표

published
#Taskplan/구현산출물
1MVP planplanplan.md
2기능11단계스크린샷
3기능21단계스크린샷
4회귀 테스트검증verification-capstone.md
5README+회고문서README, retrospective.md

각 Task에 5요소 + Safety footer (6강)

Step 4

Task 1 — capstone plan

published

에이전트 Task

Context: [capstone-brief]
Goal: capstone MVP plan only
Constraints: 파일 수정 금지, 2단계 구현으로 분할
Verification: plan.md artifact

승인 후 Task 2,3 순차 실행 (4강과 동일 패턴)

Step 5

90분 스프린트 타임라인

published

문서 템플릿

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 6

localStorage 확장 예시 (A안)

published

에이전트 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 7

retrospective.md (6문항)

published

문서 템플릿

## 1. 문제
## 2. 에이전트에 맡긴 일 3가지
## 3. 내가 거절/수정한 순간
## 4. Task before → after
## 5. 실패한 요청 1개
## 6. 다음 개선 2가지

3·4·5는 에이전트가 쓰면 안 됨 — 직접 작성

Step 8

5분 발표 스크립트

published

에이전트 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
Task20
구현20
검증20
안전10
회고10

80+ → 목표 달성

터미널

git add .
git commit -m "feat(capstone): [한 줄 설명]"

축하합니다. Antigravity 워크샵 완료.