| name | readme |
| description | Auto-generate a high-quality GitHub README.md. Detects project type (CLI/TUI, Library, Native App, Web/Dashboard, Data/Research), optionally generates a banner via build_banner.py, curates screenshots at 640px, embeds a terminal demo GIF placeholder for CLI projects, and writes an 8-section OSS-style README in Korean (or matches existing docs language). Trigger when the user says "README ๋ง๋ค์ด์ค", "๋ฆฌ๋๋ฏธ ์์ฑ", "README ๊ฐฑ์ ", "README ์๋ก ์จ์ค", "create a README", "update README", or asks for README documentation of the current project. |
README (Codex ํ)
์ด ์คํฌ์ Codex CLI ์ ์ฉ ๋ณํ๋ณธ์ด๋ค. Claude Code ํ(cc-plugins-bch/plugins/docs/skills/readme/)๊ณผ ๋์ผํ ๋์์ ํ๋, ๋ฐฐ๋ ์คํฌ๋ฆฝํธ ๊ฒฝ๋ก์ ๋ฐ๋ชจ GIF ์๋ด๊ฐ Codex ํ๊ฒฝ์ ๋ง๊ฒ ๋ณํ๋์ด ์๋ค.
ํ์ฌ ํ๋ก์ ํธ๋ฅผ ๋ถ์ํด GitHub์ฉ README.md๋ฅผ ์๋ ์์ฑํ๋ค. ์ฌ์ฉ์์๊ฒ ๋ชจ๋/ํ์
/์๊ฐ ์์ฐ์ ๋ฌป์ง ์๊ณ , ์ฝ๋ ์ ํธ๋ก ํฉ๋ฆฌ์ ๊ธฐ๋ณธ๊ฐ์ ์ ํ ๋ค ๋ฐ๋ก ์์ฑํ๋ค.
๋์ ์์น
- ๋ฌป์ง ์๊ณ ์์ฑํ๋ค. ํ๋ก์ ํธ ํ์
, ์๊ฐ ์์ฐ ์ฌ๋ถ๋ ์ ํธ๋ก ๊ฒฐ์ .
- ์ค์ ์ฐ์ถ๋ฌผ ์ฐ์ . placeholder๋ ์์ฐ์ด ์ง์ง ์์ ๋๋ง.
- ์ธ์ด: ๊ธฐ์กด docs์ ๋งค์น. ์์ผ๋ฉด ํ๊ตญ์ด ๊ธฐ๋ณธ.
- ์ ์งํ๊ฒ. ๋ฏธ๊ตฌํ ๊ธฐ๋ฅ ์ฝ์ ๊ธ์ง, ๊ฐ์ธ ํ๋ก์ ํธ๋ ๊ทธ๋ ๋ค๊ณ ๋ช
์.
Phase 0: ํ๋ก์ ํธ ํ์
ํ๋ณ
๋ค์ ์ ํธ๋ก ํ์
์ ๊ฒฐ์ ํ๋ค.
| ํ์
| ํ๋ณ ์ ํธ | README ์ ๋ต |
|---|
| CLI / TUI | bin/, cmd/, package.json์ bin, setup.py์ console_scripts, Cobra/Click/Typer/Clap, ncurses/Textual/blessed/charmbracelet | ๋ฐฐ๋(์ ํ) + ๋ฐ๋ชจ GIF ์๋ด + Quick Start + ๋ช
๋ น์ด ํ |
| Library / SDK | package.json์ main/exports๋ง ์๊ณ bin ์์, pyproject.toml์ ๋ชจ๋ ์์ฃผ, npm/PyPI ํจํค์ง๋ช
| ๋ฐฐ์ง + ๋น ๋ฅธ ์ฌ์ฉ ์์ + API ํ (๋ฐฐ๋/์คํฌ๋ฆฐ์ท ์๋ต) |
| Native App | Info.plist, Assets.xcassets/, app.json (Expo), AndroidManifest.xml, .xcodeproj/, Package.swift | ๋ฐฐ๋(icon + phone mockup) + ์๋ฎฌ๋ ์ดํฐ ์คํฌ๋ฆฐ์ท ํ + Features + Roadmap |
| Web / Dashboard | next.config.*, vite.config.*, astro.config.*, app.vue/app.tsx, public/index.html, ๋ผ์ด๋ธ URL | ๋ฐฐ๋(card + browser mockup) + playwright-cli ์คํฌ๋ฆฐ์ท + Features + Tech stack |
| Data / Research | notebooks/, data/, *.ipynb, requirements.txt์ numpy/pandas/torch, ๋ชจ๋ธ weights | ๋ฐฉ๋ฒ๋ก + ๋ฐ์ดํฐ์
+ ๊ฒฐ๊ณผ ํ/๊ทธ๋ํ (๋ฐฐ๋ ์ ํ) |
ํ๋ณ์ด ๋ชจํธํ๋ฉด ๊ฐ์ฅ ๊ฐ๋ฅ์ฑ ๋์ ํ์
์ผ๋ก ์งํํ๊ณ , README ๋์ "ํ์ ์์
" ์น์
์ ์์ ์๋ด๋ฅผ ๋จ๊ธด๋ค.
Phase 1: Silent Analysis
์ง๋ฌธ ์์ด ์กฐ์ฉํ ์์ง:
Phase 2: ์๊ฐ ์์ฐ ์๋ ๊ฒฐ์
- ์๊ฐ ํ๋ฉด(์์ด์ฝ/๋ง์ค์ฝํธ/UI ์คํฌ๋ฆฐ/๋ผ์ด๋ธ URL)์ด ๋ช
ํํ๋ฉด โ ๋ฐฐ๋ ์์ฑ
- CLI/TUI โ README์ ๋ฐ๋ชจ GIF ์๋ด ๋ฐ์ค + placeholder ์ฝ์
(์ค์ GIF๋ VHS๋ก ํ์ ์์ฑ)
- ์์ Library/SDK โ ๋ฐฐ๋ ์๋ต, ๋ฐฐ์ง + ์ฝ๋ ์์ ์ค์ฌ
- ์๊ฐ ์์ฐ์ด ์ ๋ง ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ/CLI๋ placeholder๋ฅผ ๊ฐ์ ๋ก ์ฑ์ฐ์ง ์๋๋ค
ยงA. Banner ์์ฑ
A.1 ์ธ์ ๋ง๋๋๊ฐ
- Native App / Web / Dashboard / ๋ง์ผํ
์ฌ์ดํธ / ๋ช
ํํ ์์ด์ฝ์ด๋ ๋ง์ค์ฝํธ๊ฐ ์๋ ๋๊ตฌ
- ๋ง๋ค์ง ์๋ ๊ฒฝ์ฐ: ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์๊ฐ ์์ฐ ์๋ SDK, ์ผ๋ฐ ๋ฐฑ์๋
A.2 ์ฌ์ ๊ฒฐ์
- Theme: ์ค์ ์ฑ/์ฌ์ดํธ ์์ ์ํ๋งํด์ light/dark ๊ฒฐ์ . ํผํธ๋์ค/์์ฐ์ฑ/๋ง์ผํ
โ light, ๋ค์ด๋ก๋/ํฐ๋ฏธ๋/๊ฐ๋ฐ์ ๋๊ตฌ โ dark
- Accent: ํ๋ก์ ํธ์ ์ค์ brand accent. ์์ด์ฝ ๋๋ primary CTA ์์์ ์ถ์ถ
- Wordmark split (two-tone): ์๋ฏธ ์๋ ์ง์ ์์ ๋๊ธฐ.
anything | down, health | gochi, super | base (์ข์) / heal | thgochi (๋์จ)
- Brand mark kind:
"icon" โ ์ฑ ์์ด์ฝ PNG๊ฐ ์์ ๋ (Assets.xcassets/AppIcon.appiconset/Icon-1024.png). ~112px ๋ฅ๊ทผ ์ฌ๊ฐํ
"card" โ ์์ด์ฝ ์๊ณ ๋ง์ค์ฝํธ๋ง ์์ ๋. ~190ร380 ๋ฅ๊ทผ ์นด๋. ๋๋กญ ์๋ ๋ง์ค์ฝํธ๋ flood-fill ์ halo ์๊ธฐ๋ฏ๋ก ๋๋ํ ์๋ฅธ ์ง์ฌ๊ฐํ์ ์นด๋๋ก ์ฐ๋ ๊ฒ ์์
- Mockup kind:
"phone" (์ฑ) / "browser" (์น/๋์๋ณด๋)
- Pills: 4๊ฐ, ๊ฐ 2-3๋จ์ด. ๋ฆฌ๋ ๊ธฐ๋ฅ ๋ผ๋ฒจ
A.3 ํธ์ถ ๋ฐฉ๋ฒ
scripts/build_banner.py๋ฅผ ๊ทธ๋๋ก ํธ์ถํ๋ค. inline ์ฌ๊ตฌํ ๊ธ์ง.
python3 "${CODEX_HOME:-$HOME/.codex}/skills/readme/scripts/build_banner.py" /tmp/banner.json
ํฐํธ ์ฃผ์ (Linux): build_banner.py๋ ๊ธฐ๋ณธ์ ์ผ๋ก macOS ์์คํ
ํฐํธ(/System/Library/Fonts/SFNSRounded.ttf, SFNS.ttf)๋ฅผ ์ฌ์ฉํ๋ค. macOS๊ฐ ์๋๋ฉด ํด๋น ๊ฒฝ๋ก์ ํฐํธ๊ฐ ์์ด ์คํจํ๋ฏ๋ก, Linux/๊ธฐํ ํ๊ฒฝ์์๋ (1) ๋ฐฐ๋ ์์ฑ์ ์๋ตํ๊ณ README์ ๋ฐฐ๋ placeholder๋ฅผ ๋จ๊ธฐ๊ฑฐ๋, (2) ์คํฌ๋ฆฝํธ์ ROUND/SANS ํฐํธ ๊ฒฝ๋ก๋ฅผ ์ค์น๋ TTF(์: /usr/share/fonts/.../*.ttf)๋ก ๋ฐ๊ฟ ํธ์ถํ๋ค. ๋ฐฐ๋๋ ์ ํ ๊ธฐ๋ฅ์ด๋ฏ๋ก, ํฐํธ๊ฐ ์์ผ๋ฉด ๋ฌด๋ฆฌํ๊ฒ ๋ง๋ค์ง ๋ง๊ณ placeholder๋ก ์งํํ๋ค.
config ์์:
{
"output": "docs/banner.png",
"theme": "light",
"accent": [232, 124, 42],
"wordmark": ["health", "gochi"],
"tagline": "LIFT ยท LOG ยท LEVEL UP",
"description": [
"A fast iOS workout logger wrapped in a",
"tamagotchi-style growth loop."
],
"pills": ["Workout logging", "Routines", "Pet growth", "Apple Health"],
"brand_mark": { "path": "/tmp/tiger_card.png", "kind": "card" },
"mockup": { "path": "docs/screenshots/home.png", "kind": "phone" }
}
์คํฌ๋ฆฝํธ๊ฐ wordmark auto-fit, brand mark/mockup ๋ฐฐ์น, pills ์ถฉ๋ ๋ฐฉ์ง๋ฅผ ์ฒ๋ฆฌํ๋ค. ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ config๋ฅผ ์กฐ์ ํ๋ค (pills overflow, wordmark ์๋ฆผ ๋ฑ).
์ ์ฅ ๊ฒฝ๋ก: docs/banner.png. ์ธ๋ถ ํธ์คํ
๊ฐ์ ๊ธ์ง.
ยงB. ์คํฌ๋ฆฐ์ท ํ๋ ์ด์
B.1 ๋ฌด์์ ์ฐ๋๊ฐ
4-6๊ฐ: ํ/๋๋ฉ, ํต์ฌ ๊ธฐ๋ฅ, ๋ฆฌ์คํธ/๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ทฐ, ์๊ทธ๋์ฒ ํ๋ฉด. ๋น ์ํ ํ๋ฉด ํผํ๊ธฐ.
๊ธฐ์กด dev ์คํฌ๋ฆฐ์ท์ด ๋ค์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด ๊ทธ๋๋ก ์ฌ์ฉ:
- ๊ฐ์ ํด์๋ (์: 1179ร2556 iPhone)
- ์ต์ UI (ํ์ผ๋ช
์
-refined-, -polish-, -final-, ์ต์ timestamp)
- ์ฝํ
์ธ ๊ฐ ์ฑ์์ง ์ํ
B.2 640px ์ ๊ทํ
from PIL import Image
W = 640
for name, src in chosen.items():
im = Image.open(src).convert("RGB")
H = round(im.height * W / im.width)
im.resize((W, H), Image.LANCZOS).save(f"docs/screenshots/{name}.png")
B.3 2-column ํ
| Home | Workout |
| :--: | :--: |
|  |  |
| **Routines** | **Calendar** |
|  |  |
B.4 ์บก์ฒ ๋ฐฉ๋ฒ โ ํ๋ก์ ํธ ํ์
๋ณ
iOS / Android Native App
- iOS Simulator:
xcrun simctl io <device-id> screenshot <out.png>. ๊น์ ๋ค๋น๊ฒ์ด์
์ ์ฑ ์ธก์ SIMCTL_CHILD_* ํ๊ฒฝ๋ณ์ ํ
์ ๋๊ณ ํ๋ฉด์ผ๋ก ์ง์ ์ด๋ํ ๋ค ์บก์ฒ
- Android:
adb exec-out screencap -p > out.png
Web / Dashboard
playwright-cli ๋ฐ์ด๋๋ฆฌ ์ฌ์ฉ (MCP mcp__playwright__* ๋๊ตฌ ๊ธ์ง):
playwright-cli goto https://the-site.example
playwright-cli screenshot --filename=docs/screenshots/home.png
playwright-cli goto https://the-site.example/dashboard
playwright-cli screenshot --filename=docs/screenshots/dashboard.png
playwright-cli close
playwright-cli๊ฐ ์์ผ๋ฉด headless Chrome:
chromium --headless --hide-scrollbars --window-size=1280,1800 \
--screenshot=docs/screenshots/home.png "https://the-site.example"
์ฌ์ฉ์๊ฐ ๋ช
์ํ URL๋ง ๋ฐฉ๋ฌธ. ์ฌ์ดํธ ํฌ๋กค๋ง ๊ธ์ง.
ยงC. ๋ฐ๋ชจ GIF (CLI/TUI ์ ์ฉ)
CLI/TUI ํ๋ก์ ํธ๋ฉด README์ ๋ค์๊ณผ ๊ฐ์ ์๋ด + placeholder๋ฅผ ๋๋ค:
## ๋ฐ๋ชจ
<!--
TODO: ํฐ๋ฏธ๋ ๋ฐ๋ชจ GIF
- ์์ฑ ๋ฐฉ๋ฒ: VHS(charmbracelet/vhs)๋ก demo/main.tape ์์ฑ ํ `vhs demo/main.tape` ์คํ (๊ฒฐ์ ๋ก ์ ยท์ฌํ ๊ฐ๋ฅ)
- ์ฐ์ถ๋ฌผ: demo/main.gif, demo/main.tape (ํ
์ดํ๋ ์ปค๋ฐํด์ผ ์ฌ์์ฑ ๊ฐ๋ฅ)
- ์๋ฒ ๋: <img src="demo/main.gif" alt="demo" width="780"/>
-->
<img src="demo/main.gif" alt="demo" width="780"/>
์ด ์คํฌ์ ์ง์ GIF๋ฅผ ๋ง๋ค์ง ์๋๋ค. GIF๊ฐ ํ์ํ๋ฉด VHS(.tape)๋ก ์์ฑํ๋ค โ ๊ฒฐ์ ๋ก ์ ยทCI ์ฌํ ๊ฐ๋ฅํด README ์๋ฒ ๋์ ์ ํฉํ๋ค. asciinema/OBS/ํ๋ฉด ๋
นํ ๊ฐ์ ๋น๊ฒฐ์ ๋ก ์ ๋์์ ํผํ๋ค. (Claude Code ํ๊ฒฝ์์๋ terminal-gif-maker ์คํฌ์ด ์ด VHS ์ํฌํ๋ก์ฐ๋ฅผ ์๋ํํ์ง๋ง, Codex์๋ ํด๋น ์คํฌ์ด ์์ผ๋ฏ๋ก vhs๋ฅผ ์ง์ ํธ์ถํ๋ค.)
ํ์ค README skeleton (8๋จ)
<div align="center">

**ํ ๋ฌธ์ฅ ํต์ฌ ๊ฐ์น ์ ์.**
๋ ๋ฒ์งธ ๋ฌธ์ฅ์ผ๋ก unique angle ๋ณด๊ฐ.
[](https://github.com/[User]/[Repo]/releases)
[](LICENSE)
[](#)
[](#)
[](#)
[Download](#) โข [Documentation](#)
</div>
---
> **โ ๏ธ ์ฐธ๊ณ **
> ๊ฐ์ธ ์ฌ์ฉ / ๊ฐ๋ฐ ์ค / ์ธ๋ถ ์๋น์ค ์์กด ๋ฑ ์ฌ์ฉ์์๊ฒ ๋จผ์ ์๋ ค์ผ ํ ์ฌํญ.
---
## ํ๋ก์ ํธ ์๊ฐ
ํ ๋ฌธ๋จ ๋๋ ๋ ๋ฌธ๋จ. ์ด๊ฒ ๋ฌด์์ด๊ณ , ๋๊ตฌ๋ฅผ ์ํ ๊ฒ์ด๋ฉฐ, ๋ค๋ฅธ ์๋ฃจ์
๊ณผ ๋ฌด์์ด ๋ค๋ฅธ๊ฐ. ์ด๋ฆ์ ์ฌ์ฐ์ด ์์ผ๋ฉด ์ธ๊ธ. ํ๋ซํผ๊ณผ ํต์ฌ ๊ธฐ์ ๋ช
์.
### ๐ก ์ด ํ๋ก์ ํธ๊ฐ ํ์ํ ์ด์
- **๋ฌธ์ **: ๊ธฐ์กด์ ๊ฒช๋ ๋ถํธ์ ํ ๋ฌธ์ฅ์ผ๋ก
- **ํด๊ฒฐ**: ์ด ํ๋ก์ ํธ๊ฐ ์ด๋ป๊ฒ ํ์๋์ง ํ ๋ฌธ์ฅ์ผ๋ก
---
## ์คํฌ๋ฆฐ์ท
(2-column ํ, 2-3 row, ๊ฐ ํ์ด ์์ ๋ผ๋ฒจ)
๋๋ CLI/TUI๋ฉด ์ด ์๋ฆฌ์ ๋ฐ๋ชจ GIF:
<img src="demo/main.gif" alt="demo" width="780"/>
---
## ๐ Comparison (์ ํ)
| ํญ๋ชฉ | ์ด ํ๋ก์ ํธ | ๊ฒฝ์ A |
|:---:|:---:|:---:|
| **๋น์ฉ** | **๋ฌด๋ฃ** | ์ ๋ฃ |
| **์ฑ๋ฅ** | ๐ ๋น ๋ฆ | ๐ข ๋๋ฆผ |
| **ํต์ฌ ๊ธฐ๋ฅ** | โ
| โ |
---
## โจ ์ฃผ์ ๊ธฐ๋ฅ
๊ธฐ๋ฅ์ 2-3๊ฐ thematic bucket์ผ๋ก ๋ฌถ๋๋ค (flat 20-item list ๊ธ์ง).
### ์ฝ์ด
* **<์งง์ ๋ผ๋ฒจ>**: ํ ๋ฌธ์ฅ ์ค๋ช
* **<์งง์ ๋ผ๋ฒจ>**: ํ ๋ฌธ์ฅ ์ค๋ช
### ๋ถ๊ฐ
* **<์งง์ ๋ผ๋ฒจ>**: ํ ๋ฌธ์ฅ ์ค๋ช
---
## ์๋ ๋ฐฉ์
์งง์ ASCII flow + ์ค๋ช
ํ ๋จ๋ฝ.
Step 1 โ Step 2 โ Step 3
(์ฌ์ฉ์ ํ๋) (์ฑ ์ฒ๋ฆฌ) (๊ฒฐ๊ณผ)
---
## ๐ ๏ธ ๊ธฐ์ ์คํ
- **์ฑ**: ๋ฉ์ธ ํ๋ ์์ํฌ + ์ธ์ด
- **๋ฐฑ์๋**: ์์ผ๋ฉด
- **์ฃผ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ**: 3-6๊ฐ (package.json ์ ๋ถ X)
---
## ๐ ์์ํ๊ธฐ
### Prerequisites
```bash
# ์ค์ ๋ก ์กด์ฌํ๋ ์์กด์ฑ ์ค์น ๋ช
๋ น
Option 1: <๋ฉ์ธ ๋ฐฉ๋ฒ> (๊ถ์ฅ)
๊ณ ๊ธ ์ค์น ์ต์
Option 2: <๋์ ๋ฐฉ๋ฒ>
Option 3: <์์ค ๋น๋>
๐บ๏ธ ๋ก๋๋งต
3-7๊ฐ ๊ตฌ์ฒด์ /์คํ ๊ฐ๋ฅ ํญ๋ชฉ.
โ ๏ธ Status / Scope & Disclaimer
๊ฐ์ธ/ํ๋ฆฌ๋ฆด๋ฆฌ์ค/์ค์ฝํ ์ ํ ํ๋ก์ ํธ๋ ์ ์งํ๊ฒ ๋ง๋ฌด๋ฆฌ:
- ๊ฐ์ธ ์ฌ์ฉ / ํ๋ฆฌ๋ฆด๋ฆฌ์ค / ํ๋ฐํ ๊ฐ๋ฐ ์ค
- ํ์ง ์๋ ๊ฒ (DRM, ์ํธํ ์คํธ๋ฆผ, ์์
๋ฑ)
- ํ๋กํ ํ์
์์ฐ, ๋ฌด๋ณด์ฆ, X์ ๋ฌด๊ด
๐ ๋ผ์ด์ ์ค
MIT License โ LICENSE ์ฐธ์กฐ.
Made with โค๏ธ by [Developer Name]
```
ํ๋ก์ ํธ ํ์
๋ณ skeleton ์กฐ์
| ํ์
| About | Screenshots/GIF | Features | How it works | Tech | Getting started | Roadmap | Status |
|---|
| CLI / TUI | ์งง๊ฒ | ๋ฐ๋ชจ GIF placeholder | ๋ช
๋ น์ด ํ ์ฐ์ | ์งง์ ASCII flow | ์ต์ํ | ํจํค์ง ๋งค๋์ + ์ฒซ ๋ช
๋ น | ์งง๊ฒ | ์ ํ |
| Library / SDK | ๊ฐํ๊ฒ (use case) | ์๋ต | ์ฝ๋ ์์ ์์ฃผ | ์
์ถ๋ ฅ ํ๋ฆ | ์์กด์ฑ / ํธํ์ฑ | npm/pip ์ค์น + 5์ค ์์ | ์งง๊ฒ | ์ ํ |
| Native App | ํ ๋จ๋ฝ + ํ๋ซํผ | ์๋ฎฌ๋ ์ดํฐ ์คํฌ๋ฆฐ์ท ํ | 2-3 bucket | ์ฌ์ฉ์ ํ๋ฆ | ํ๋ ์์ํฌ + ๋ฐฑ์๋ | ๋น๋/์ค์น | ๊ธธ๊ฒ | ๊ถ์ฅ |
| Web / Dashboard | ๊ฐํ๊ฒ (๊ฐ์น) | playwright-cli ์คํฌ๋ฆฐ์ท ํ | 2-3 bucket | ๋ฐ์ดํฐ ํ๋ฆ | ํ์คํ | ๋ฐ๋ชจ URL + ์
ํํธ์คํ
| ๊ถ์ฅ | ์ ํ |
| Data / Research | ๋ฐฉ๋ฒ๋ก | ํ/๊ทธ๋ํ ์ด๋ฏธ์ง | ๋ฐ์ดํฐ์
+ ๊ฒฐ๊ณผ | ํ์ดํ๋ผ์ธ | ๋ชจ๋ธ + ๋ผ์ด๋ธ๋ฌ๋ฆฌ | ํ๊ฒฝ + ์ฌํ ๋ช
๋ น | ์ ํ | ๊ถ์ฅ |
Voice / Tone
- ํ์ดํ๊ณ ์์ ๊ฐ ์๊ฒ. ๋ง์ผํ
fluff ๊ธ์ง โ "revolutionary", "seamless", ์ซ์ ์๋ "blazingly fast"
- ๋ชจ๋ ๋ฌธ์ฅ์ด ๋
์์ ์ธ์์ ๋ฐ๊ฟ์ผ ํ๋ค. ์๋ฏธ ์๋ ๋ฌธ์ฅ ๊ธ์ง
- ์งง์ ๋ฌธ๋จ. ๋ถ๋ฆฟ์ ์๋ฆฌ๊ฐ์ ํด์ผ ํ๋ค
- ์ธ์ด: ๊ธฐ๋ณธ ํ๊ตญ์ด. ์๋ฌธ docs ํ๋ก์ ํธ๋ฉด ์๋ฌธ
- ํ๊ตญ์ด ํค๋๋ ์์ฐ์ค๋ฌ์ด ๋ช
์ฌํ ์ฌ์ฉ ("ํ๋ก์ ํธ ์๊ฐ", "์์ํ๊ธฐ", "์ฃผ์ ๊ธฐ๋ฅ")
Honesty principles (๋นํ์)
README๋ ๋
์์์ ๊ณ์ฝ์ด๋ค.
- ๋ฏธ๊ตฌํ ๊ธฐ๋ฅ ์ฝ์ ๊ธ์ง. DRM / ์ํธํ ์คํธ๋ฆผ / ์์
/ ๋ชจ๋ฐ์ผ sync ๋ฑ์ด ์์ง ์ ๋๋ค๋ฉด Scope์ ๋ช
์
- ํ์ฌ์ ๋ฏธ๋๋ฅผ ๊ตฌ๋ถ. ํ์ฌ๋ About/Features, ๋ฏธ๋๋ Roadmap
- ๊ฐ์ธ ํ๋ก์ ํธ๋ ๊ทธ๋ ๋ค๊ณ ๋งํ๋ค. "๊ฐ์ธ ์ฌ์ฉ", "App Store ๋ฏธ๋ฑ๋ก", "๋ฌด๋ณด์ฆ", "X์ ๋ฌด๊ด"
- ํ๋กํ ํ์
์์ฐ์ flag. ๋ง์ค์ฝํธ/์คํ๋ผ์ดํธ๊ฐ placeholder๋ฉด Status์ ๋ช
์
- ์ง์ด๋ธ ํต๊ณ ๊ธ์ง. ์ ์ ์/์ฒ๋ฆฌ๋/"production-ready" โ ์ง์ง์ผ ๋๋ง
Working Process
- Determine Language: ๊ธฐ์กด docs ์ธ์ด์ ๋งค์น. ์์ผ๋ฉด ํ๊ตญ์ด
- Extract & Organize: ์ด๋ฆ, ๋ชฉ์ , ๊ธฐ๋ฅ, ๊ธฐ์ ์คํ, ์ค์น ๋จ๊ณ ์๋ณ
- Identify Gaps: ๋๋ฝ๋ critical ์ ๋ณด (๋ก๊ณ , ์คํฌ๋ฆฐ์ท, ๋งํฌ, ๋ผ์ด์ ์ค)
- Map to Structure: 8๋จ skeleton์ ๋ฐฐ์น
- Enhance & Polish:
- ํธ์๋ ฅ ์๋ tagline๊ณผ ๊ฐ์น ์ ์ ์์ฑ
- section ํค๋ ์ด๋ชจ์ง ์ ์ ํ (๋จ์ฉ ๊ธ์ง)
- Shields.io ๋ฐฐ์ง (flat-square)
- ์ฝ๋ ๋ธ๋ก์ ์ธ์ด ๋ช
์ + copy-paste ๊ฐ๋ฅ
- ๊ธด ์ฝํ
์ธ ๋
<details>/<summary>๋ก ์ ๊ธฐ
- ์๊ฐ ์์ฐ์ ์ค์ ์ฐ์ถ๋ฌผ ์ฐ์
- Placeholders only when needed: ์๊ฐ ์์ฐ์ด ์ ๋ง ์์ ๋๋ง:
<!-- TODO: ์ค์ ๋ฐฐ๋๋ก ๊ต์ฒด --> ๋ช
์์ TODO ์ฝ๋ฉํธ
- ์๊ฐ ์์ฐ ์๋ library/CLI๋ placeholder๋ฅผ ๊ฐ์ ํ์ง ๋ง ๊ฒ
Quality Checklist
๊ธฐ๋ณธ 7ํญ:
์ถ๊ฐ 13ํญ:
- ๋ฐฐ๋๊ฐ ํ๋ก์ ํธ์ ์ง์ง ์์ด์ฝ/๋ง์ค์ฝํธ๋ฅผ ์ฐ๋๊ฐ (stock art ๊ธ์ง)
- ๋ฐฐ๋ pills๊ฐ mockup๊ณผ ์ถฉ๋ํ์ง ์๊ณ wordmark๊ฐ ์๋ฆฌ์ง ์๋๊ฐ
- Two-tone wordmark๊ฐ ์๋ฏธ ์๋ ์ง์ ์์ ๋๊ธฐ๋๊ฐ
- ๋ชจ๋ ์คํฌ๋ฆฐ์ท์ด ๊ฐ์ ๋๋น(640px)์ด๊ณ ์ฝํ
์ธ ๊ฐ ์ฑ์์ก๋๊ฐ
- ์คํฌ๋ฆฐ์ท ํ๊ฐ balanced (rows ์ง์, ๋ผ๋ฒจ์ด ๊ฐ ํ์ด ์์)์ธ๊ฐ
- About์ด unique angle์ ์ค๋ช
ํ๋๊ฐ (๋จ์ "an app for X" ๊ธ์ง)
- Features๊ฐ 2-3 bucket์ผ๋ก ๋ฌถ์๋๊ฐ (flat 20-item list ๊ธ์ง)
- "How it works"์ ๋ค์ด์ด๊ทธ๋จ ๋๋ ๋ช
ํํ ์๊ฐ ๊ตฌ์กฐ๊ฐ ์๋๊ฐ
- Getting-started ๋ช
๋ น์ด ์ค์ ๋ก ๋์ํ๊ณ ์ฐธ์กฐ ๊ฒฝ๋ก๊ฐ ์กด์ฌํ๋๊ฐ
- Roadmap ํญ๋ชฉ์ด ๊ตฌ์ฒด์ ์ด๊ณ ์คํ ๊ฐ๋ฅํ๊ฐ
- Status ์น์
์ด scope/๊ฐ์ธ ์ฌ์ฉ/ํ๋กํ ํ์
์์ฐ/DRM์ ๋ํด ์ ์งํ๊ฐ
- README ์ธ์ด๊ฐ ํ๋ก์ ํธ์ ๋ค๋ฅธ docs์ ์ผ์นํ๋๊ฐ
- "Coming soon" placeholder๊ฐ ์ด๋์๋ ์๋๊ฐ
Commit cautiously
์์
ํธ๋ฆฌ ๊ฑด๋๋ฆฌ๊ธฐ ์ git status. unrelated modifications๊ฐ ์์ผ๋ฉด git add -A ๊ธ์ง โ ๋ค๋ฅธ work-in-progress๋ฅผ ์ธ์ด ๋ด๋๋ค.
git add README.md docs/banner.png docs/screenshots/
mid-refactor๋ฉด README ํ์ผ๋ง commitํ๊ณ ์ํฉ์ ์ฌ์ฉ์์๊ฒ ๋ณด๊ณ . ์ฌ์ฉ์ ๋ช
์์ ํ๊ฐ ์์ด push ๊ธ์ง.
Output
์ ๋ฌ๋ฌผ:
- ์์ฑ๋
README.md โ ํ๊ตญ์ด ๊ธฐ๋ณธ (์ฌ์ฉ์ ๋ช
์ ์ธ)
- ๋ณ๊ฒฝ ์์ฝ โ ์ด๋ค ์น์
์ ์ด๋ค ๊ทผ๊ฑฐ๋ก ์์ฑํ๋์ง
- ์ฒดํฌ๋ฆฌ์คํธ โ placeholder ์ด๋ฏธ์ง/๋งํฌ ๊ต์ฒด ํ์ ์ฌํญ
- ํ์ ์์
์๋ด:
- ๋ฐฐ๋ ์์ฑ์ด ํ์ํ์ง๋ง ์์ฐ์ด ๋ถ์กฑํ๋ค๋ฉด:
build_banner.py config ์์ฑ ๊ฐ์ด๋
- CLI ๋ฐ๋ชจ GIF๊ฐ ํ์ํ๋ฉด: VHS๋ก
demo/main.tape ์์ฑ ํ vhs demo/main.tape ์์ฑ (Claude Code ํ๊ฒฝ์์๋ terminal-gif-maker ์คํฌ ์ฌ์ฉ ๊ฐ๋ฅ)
- ์คํฌ๋ฆฐ์ท ์ถ๊ฐ๊ฐ ํ์ํ๋ฉด: ํ๋ก์ ํธ ํ์
๋ณ ์บก์ฒ ๋ฐฉ๋ฒ ์๋ด