| name | claude-md-management |
| description | Manage this project's CLAUDE.md โ browse/search sections, add or edit conventions in the right section, validate & sync against real code, capture new rules from recent git changes, dedupe overlapping sections, slim for token cost, lint style, cross-check MEMORY.md, and guard against regressive edits. Use when viewing, adding to, reorganizing, checking, or trimming the CLAUDE.md project guide. |
| allowed-tools | Read, Edit, Write, Grep, Bash, AskUserQuestion |
CLAUDE.md ๊ด๋ฆฌ ์คํฌ
์ด ํ๋ก์ ํธ ๋ฃจํธ์ CLAUDE.md(๊ฐ๋ฐ ๊ฐ์ด๋) ๋ฅผ ์์ ํ๊ฒ ์กฐํยท์์ ยท๊ฒ์ฆยท์ ๋ฆฌํ๋ค.
๋์์ ๋ฃจํธ CLAUDE.md ํ๋. (MEMORY.md, .claude/ ์์ฒด๋ ํธ์ง ๋์ ์๋ โ ๋จ ๊ต์ฐจ ์ ๊ฒ์ ์ฌ์ฉ)
์ฌ์ฉ
/claude-md-management [๋์] [๋ด์ฉ...] โ ์ธ์๋ก ๋์ ์ง์ . ์ธ์ ์์ผ๋ฉด ์น์
์ง๋๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ๋ฌด์์ ํ ์ง ๋ฌป๋๋ค.
| ๋์ | ์ฑ๊ฒฉ | ์๋ฏธ |
|---|
list (์ธ์ ์์) | ์ฝ๊ธฐ | ์น์
์ง๋ ์ถ๋ ฅ |
show <์น์
> | ์ฝ๊ธฐ | ํน์ ์น์
์๋ฌธ |
search <ํค์๋> | ์ฝ๊ธฐ | ํค์๋๋ฅผ ๋ค๋ฃจ๋ ์น์
์์น(์ถ๊ฐ ์ ์ค๋ณต ๋ฐฉ์ง) |
add <๊ท์น> | ํธ์ง | ์ฌ๋ฐ๋ฅธ ์น์
์ ์ ๊ท์น ์ถ๊ฐ |
edit <์น์
> | ํธ์ง | ํด๋น ์น์
๋ง ์์ |
toc | ํธ์ง | ์๋จ ๋ชฉ์ฐจ ์์ฑ/๊ฐฑ์ |
dedupe | ํธ์ง | ๊ฒน์น๋/์ค๋ณต ์น์
ํตํฉ ์ ์ยท๋ณํฉ |
slim | ํธ์ง | ๋ถ๋/ํ ํฐ ๊ด๋ฆฌ(์์ฝยท๋ถ๋ฆฌ) |
validate | ์ ๊ฒ | ๊ตฌ์กฐ ๊ฒ์ฆ(๋งํฌยท๊ตฌ์์ฐธ์กฐยทํ์ค) |
sync | ์ ๊ฒ | ๋ฌธ์โ์ค์ ์ฝ๋ ๋๋ฆฌํํธ ๋์กฐ |
lint | ์ ๊ฒ | ์คํ์ผ/ํฌ๋งท ๊ท์น ์ ๊ฒ |
capture | ์ ๊ฒโํธ์ง | ์ต๊ทผ git ๋ณ๊ฒฝ์์ ์ ๊ท์น ์ถ์ถยท๋ฐ์ ์ ์ |
guard | ํ๊ท | ํธ์ง ์ /ํ ํ๊ท ์ ๊ฒ(์น์
์ ์คยท๋งํฌยทํ์ค) |
๊ณตํต ์์น (๋ชจ๋ ๋์)
- ์์ ์ ๋ฐ๋์
Read ๋ก ํ์ฌ ๋ด์ฉ ํ์ธ. ํธ์ง์ Edit(๋ถ๋ถ ์นํ) ์ต์ ๋ณ๊ฒฝ โ ์ ์ฒด ์ฌ์์ฑ ๊ธ์ง.
- ๋ฌธ์ ์ธ์ด ํ๊ตญ์ด, ๊ธฐ์กด ํค ์ ์ง.
- ์ ๊ท์น์ ๊ฐ์ฅ ๊ด๋ จ ์๋ ๊ธฐ์กด ์น์
์ ๋ฃ๋๋ค(์๋ ๋ฐฐ์น ๊ฐ์ด๋). ์ ๋งคํ๋ฉด
AskUserQuestion์ผ๋ก ํ์ธ. ์์ผ๋ฉด ์ ์ ํ ## ์๋ ์ ### ์์ฑ.
- ๊ทผ๊ฑฐ ์ฐ์ : ๊ท์น์ ํ์ผยทํจ์ยทํ๋๊ทธยท์ปฌ๋ผ์ ์ฐ๋ฉด
Grep์ผ๋ก ์กด์ฌ๋ฅผ ํ์ธํ๊ณ , ์๋ ๊ฑด ์ฐ์ง ์๋๋ค.
- ๋ฒ์ ์ ๊ธ: ์ด ์คํฌ์ CLAUDE.md๋ง ์์ ํ๋ค. ์ฝ๋ ๋ณ๊ฒฝยท๋ฐฐํฌยท์ปค๋ฐ์ ํ์ง ์๋๋ค(ํ์ํ๋ฉด ์ฌ์ฉ์์๊ฒ ๋ณ๋ ์์ฒญ ์๋ด).
- ๋ฏธ๋ฆฌ๋ณด๊ธฐโ์ ์ฉ(proposeโapply): ํ ์น์
์ด๊ณผ์ ํฐ ๋ณ๊ฒฝ์ ๋จผ์ ๋ณ๊ฒฝ์(diff ์์ฝ)์ ์ ์ํ๊ณ ์น์ธ ํ ์ ์ฉ. ์น์ธ ๋ค
git diff CLAUDE.md๋ก ๊ฒฐ๊ณผ ์์ฝ ๊ฐ๋ฅ.
- ํธ์ง ์ ์๋ ๋ฐฑ์
: ๋๊ท๋ชจ ์ฌ๊ตฌ์ฑ(dedupe/slim/toc/์ฌ๋ฌ ์น์
) ์
cp CLAUDE.md /tmp/CLAUDE.md.bak-<์๊ฐ> ๋ก ๋ฐฑ์
(๋๋๋ฆฌ๊ธฐ์ฉ). ๋ง์น๋ฉด ๋ฐฑ์
๊ฒฝ๋ก ์๋ด.
- ํ๊ท ์ ๊ฒ ํ์: ๋ชจ๋ ํธ์ง ๋์(add/edit/toc/dedupe/slim/capture) ์งํ
guard๋ฅผ ์คํํด ํ๊ท๊ฐ ์๋์ง ํ์ธํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํ๋ค.
- ํธ์ง ํ ๋ฌด์์ ์ด๋ ์น์
์ ๋ฐ๊ฟจ๋์ง ํ๊ตญ์ด๋ก ์์ฝ ๋ณด๊ณ .
์น์
์ง๋ (์ต์์ ## / ์ฃผ์ ###)
- ํ๋ก์ ํธ ๊ฐ์ / ํ๋ก์ ํธ ๊ตฌ์กฐ
- ์ฝ๋ฉ ์ปจ๋ฒค์
: ๋ฐ์ดํฐ๋ฒ ์ด์ค ยท FastAPI ๋ผ์ฐํฐ ํจํด ยท ๊ถํ ์ ์ด ยท API ์๋ต ํ์ ยท ํ๋ก ํธ์๋(vanilla JS)
- ์์ปค & ์์
ํ: ์ธ๋ฑ์ฑ vs ML ์์ปค ยท photo_work/jobs ํ ยท ML ์คํ ํ๋ก๋ฐ์ด๋
- ์ฃผ์ ํ
์ด๋ธ: photos ยท photo_work ยท photo_locations(source) ยท roots ยท ๊ธฐํ
- ์์ฃผ ์ฐ๋ ํจํด: ํ์ธ/์๋ฆผ ๋ค์ด์ผ๋ก๊ทธ ยท i18n ยท ์ปค์คํ
๋ ์ง ํผ์ปค ยท ์๋น์ค์์ปค ์บ์ ยท ํ
๋ง
- ์คํ ๋ฐฉ๋ฒ / ํ๊ฒฝ ๋ณ์
- ์ค์ ๊ท์น: DB ๋ง์ด๊ทธ๋ ์ด์
(์์ปค ์ ์ง) ยท ๋ฐฐํฌ(Synology git pull) ยท ์ปค๋ฐ ๊ท์น ยท ์ ์ ํ์ผ ๋ณ๊ฒฝ ํ ๊ฒ์ฆ
- ์ฃผ์ ๊ธฐ๋ฅ๋ณ ํ์ผ: ๊ฒ์/FTS ยท ์์น/์ง๋ ยท ML ํ์ดํ๋ผ์ธ ยท ์ผ๊ตด ๊ฒ์ ยท ์ค๋ณต ์ ๊ฑฐ ยท ์ด์ CLI
๋ฐฐ์น ๊ฐ์ด๋: ํ๋ก ํธ/UI ๊ท์น(๋ค์ด์ผ๋ก๊ทธยทi18nยทํผ์ปคยทํ
๋งยท์๋น์ค์์ปค) โ ์์ฃผ ์ฐ๋ ํจํด, ์๋ฒ/DB/๋ผ์ฐํฐ/๊ถํ ์ปจ๋ฒค์
โ ์ฝ๋ฉ ์ปจ๋ฒค์
, ์์ปคยทํยทONNX โ ์์ปค & ์์
ํ, ๋ฐฐํฌยท๋ง์ด๊ทธ๋ ์ด์
ยท์ปค๋ฐยท๊ฒ์ฆ โ ์ค์ ๊ท์น, ๊ธฐ๋ฅ ์์น ์๋ด โ ์ฃผ์ ๊ธฐ๋ฅ๋ณ ํ์ผ.
๋์๋ณ ์ ์ฐจ
list / (์ธ์ ์์)
grep -nE "^#{1,3} " CLAUDE.md ๋ก ํค๋ฉ์ ๋ฝ๋ ์ฝ๋ํ์ค(```) ์์ # ์ฃผ์์ ์น์
์ด ์๋๋ฏ๋ก ์ ์ธ(์: # ๊ฐ๋ฐ: API, # ์์ปค). ์ ์น์
์ง๋ ํํ๋ก ๋ณด์ฌ์ฃผ๊ณ ๋ค์ ๋์์ ๋ฌป๋๋ค.
show <์น์
> / search <ํค์๋>
- show: ํด๋น ํค๋ฉ๋ถํฐ ๋ค์ ๋๊ธ ์ด์ ํค๋ฉ ์ ๊น์ง
Read(offset/limit)๋ก ๊ทธ๋๋ก ๋ณด์ฌ์ค๋ค.
- search:
Grep -n <ํค์๋> CLAUDE.md โ ๋งค์นญ ๋ผ์ธ์ด ์ํ ์น์
(๊ฐ์ฅ ๊ฐ๊น์ด ์์ ํค๋ฉ)์ ์๋ ค์ค๋ค.
add <๊ท์น>
- ๊ท์น ์ฑ๊ฒฉ ํ๋จ โ ๋ฐฐ์น ์น์
๊ฒฐ์ (๋ฐฐ์น ๊ฐ์ด๋). ์ ๋งคํ๋ฉด ์ง๋ฌธ.
- ๊ทผ๊ฑฐ ํ์ผยทํจ์ยท์ปฌ๋ผ
Grep ํ์ธ.
- ๊ธฐ์กด ํ์ ์น์
์คํ์ผ(์ ๋ชฉ
### ์ ๋ชฉ ([ํ์ผ](๊ฒฝ๋ก)), ์ฝ๋๋ธ๋ก, ํด๋ฆญ ๊ฐ๋ฅํ file:line ๋งํฌ)์ ๋ง์ถฐ ์์ฑ.
Edit๋ก ํด๋น ## ์น์
์ ์ ์์น์ ์ฝ์
โ guard.
edit <์น์
>
ํด๋น ์น์
๋ง Read โ ์ต์ Edit โ guard. ๋ค๋ฅธ ์น์
๋ถ๋ณ.
toc
ํ์ฌ ์๋จ ๋ชฉ์ฐจ ์์. ์์ฒญ ์ ## ๊ธฐ์ค ๋ชฉ์ฐจ๋ฅผ ์ ๋ชฉ ๋ค์์ ์์ฑ/๊ฐฑ์ . ์ต์ปค๋ GitHub ์ฌ๋ฌ๊ทธ(์๋ฌธ์ยท๊ณต๋ฐฑโ-ยทํน์๋ฌธ์ ์ ๊ฑฐ). โ guard.
dedupe โ ์ค๋ณต/๊ฒน์น๋ ์น์
ํตํฉ
- ์ ์ฌ ์ฃผ์ ์น์
์ ์ฐพ๋๋ค(์: ํ/์ฐ์ ์์ ๊ท์น์ด ์์ปค ์น์
๊ณผ ํจํด์ ํฉ์ด์ง๊ฑฐ๋, ์์น/
source ๊ท์น์ด ์ฌ๋ฌ ๊ณณ์).
- ๊ฒน์น๋ ๊ท์น์ ํ๋ก ์ ๋ฆฌํด ํตํฉ์ ์ ์(์ด๋ ์น์
์ผ๋ก ํฉ์น ์ง, ๋ฌด์์ ๋จ๊ธธ์ง).
- ์ฌ์ฉ์ ์น์ธ ํ ๋ฐฑ์
โ๋ณํฉโ๊ต์ฐจ๋งํฌ ๊ฐฑ์ โ
guard.
slim โ ๋ถ๋/ํ ํฐ ๊ด๋ฆฌ
CLAUDE.md๋ ๋งค ์ธ์
์ปจํ
์คํธ์ ๋ก๋๋จ.
- ์น์
๋ณ ๋ผ์ธ์ ๋ฆฌํฌํธ(
awk๋ก ํค๋ฉ ์ฌ์ด ๋ผ์ธ์ ์ง๊ณ) + ์์ N๊ฐ ํ์.
- ์ฅํฉํ ์ฝ๋ ์์๋ ํต์ฌ๋ง ๋จ๊ธฐ๊ณ ์์ฝํ๊ฑฐ๋, ๊ธด ์ค๋ช
์
docs/(๋๋ ์ฐธ์กฐ ํ์ผ ๊ฒฝ๋ก ๋งํฌ)๋ก ๋ถ๋ฆฌ ์ ์.
- ์น์ธ ํ ๋ฐฑ์
โํธ์งโ
guard. ์ด ๋ผ์ธ์ ๊ฐ์๋ถ ๋ณด๊ณ .
validate โ ๊ตฌ์กฐ ๊ฒ์ฆ(์๋ ์์ ์ ์น์ธ ํ)
- ์ค๋ณต/๋ชจํธ ํค๋ฉ: ๋๋ช
##/### ์ค๋ณต.
- ๊นจ์ง ๋ด๋ถ ๋งํฌ:
[..](path) ๊ฒฝ๋ก ์กด์ฌ(test -e), ๋ผ์ธ์ต์ปค(#L..) ํ์ผ ์กด์ฌ.
- ์ฝ๋ํ์ค ๊ท ํ:
``` ๊ฐ์๊ฐ ์ง์์ธ์ง.
- ๊ตฌ์ ์ฐธ์กฐ: ์์ด์ง ํ์ผ/ํจ์/์ปฌ๋ผ์ ๊ท์น์ด ๊ฐ๋ฆฌํค์ง ์๋์ง(โ
sync์ ์ฐ๊ณ).
- ์์กด์ฑ ํ๊ธฐ:
pyproject.toml/requirements.txt์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ ํ์ง ์๋์ง(์ฐธ๊ณ ).
์คํ๋ผ์ธ ์๋: ์ด ํ๋ก์ ํธ๋ ์ผ๋ถ ์ธ๋ถ CDN(์: index.html์ unpkg leaflet)์ ์ค์ ๋ก ์ด๋ค โ "์ธ๋ถ CDN ๊ธ์ง"๋ฅผ ๊ท์น์ผ๋ก ๋ฃ์ง ๋ง ๊ฒ.
sync โ ๋ฌธ์โ์ฝ๋ ๋๋ฆฌํํธ ๋์กฐ
๊ท์น์ด ๊ฐ๋ฆฌํค๋ ํ์ผยทํจ์ยทํ๋๊ทธยท์ปฌ๋ผยท์๋ํฌ์ธํธ๊ฐ ์ค์ ๋ก ์กด์ฌํ๊ณ ๋ฌธ์ ์ค๋ช
๊ณผ ์ผ์นํ๋์ง ๋์กฐ. ๋ณ๊ฒฝ์ด ์ฆ์ ๋ฌธ์๊ฐ ๋ค์ฒ์ง๊ธฐ ์ฌ์ด ์ง์ :
- ์์ปค:
STAGE_ORDERยทPRIO_* ์์ยทenqueue_stage ์๊ทธ๋์ฒ(app/worker/photo_work.py).
- ML:
_ort.make_session์ provider ๋ชฉ๋ก/MYPHOTOS_ONNX_PROVIDERS(app/worker_ml/_ort.py).
- ์์น:
photo_locations.source ํ์ฉ๊ฐ(exif/estimated/user/NULL)(app/models.py, worker/location_estimator.py).
- ํ๋ก ํธ:
js/panels/*.js ํ์ผ๋ช
, window.uiConfirm/_t ๋ฑ ์ ์ญ, sw.js์ VERSION, attachCustomDatePicker(index.html).
- ์ํ ์ปฌ๋ผ:
photos.*_status ์ด๋ฆ(app/models.py).
- ๊ท์น์์ ์ธ๊ธ๋ ์ด๋ฆ์ ๋ฝ์
Grep์ผ๋ก ์กด์ฌ ํ์ธ โ ์์ผ๋ฉด "๊ตฌ์ ์ฐธ์กฐ" ๋ชฉ๋ก.
- ๋์ ์ค๋ช
๊ณผ ์ค์ ์ฝ๋๊ฐ ์ด๊ธ๋๋ ์ง์ ์ง์ .
- ๊ฐฑ์ ์ ์ ์ โ ์น์ธ ํ ํธ์ง โ
guard.
lint โ ์คํ์ผ/ํฌ๋งท
- ์น์
์ ๋ชฉ ํ์, ์ฝ๋ํ์ค์ language ํ๊ทธ, ํ์ผ ์ฐธ์กฐ๋ ํด๋ฆญ ๊ฐ๋ฅํ
[ํ
์คํธ](๊ฒฝ๋ก#Ln)(๋ฐฑํฑ ๊ฒฝ๋ก ์ง์), ํ/๋ถ๋ฆฟ ํฌ๋งท ์ผ๊ด์ฑ, ํ๊ตญ์ด ํค. ์๋ฐ ๋ชฉ๋ก + ์ ์.
capture โ ์ต๊ทผ git ๋ณ๊ฒฝ์์ ๊ท์น ์ถ์ถ
git log --oneline -n <N> / git diff <ref> HEAD --stat ๋ก ์ต๊ทผ ๋ณ๊ฒฝ ํ์
(N ๋ฏธ์ง์ ์ ์ต๊ทผ 20 ๋๋ ๋ง์ง๋ง CLAUDE.md ์์ ์ดํ).
- ์๋ก ์๊ธด ๊ณต์ฉ ์ ํธ(
js/*.js)ยท์์ปค ๋จ๊ณยท์๋ํฌ์ธํธยท์ค์ ํ๋๊ทธยท๋ง์ด๊ทธ๋ ์ด์
์ ์ถ๋ ค CLAUDE.md ๋ฐ์ ํ๋ณด๋ฅผ ์ ์(์: ์ provider ๋ชจ๋, ์ app/tools/* CLI, ์ status ์ปฌ๋ผ ๋ฑ).
- ์น์ธ ํญ๋ชฉ๋ง
add ์ ์ฐจ๋ก ๋ฐ์ โ guard.
๋ฉ๋ชจ๋ฆฌ ๊ต์ฐจ ์ ๊ฒ (validate/lint์ ํฌํจ)
- ์คํ ๋ฉ๋ชจ๋ฆฌ(
~/.claude/projects/<์ด ํ๋ก์ ํธ ์ฌ๋ฌ๊ทธ>/memory/MEMORY.md ๋ฐ ๊ฐ๋ณ ๋ฉ๋ชจ๋ฆฌ)์ CLAUDE.md ๊ท์น์ด ์ถฉ๋/์ค๋ณต๋๋์ง ์ ๊ฒ. ๊ฐ์ ๋ด์ฉ์ด ์์ชฝ์ ์์ผ๋ฉด ์ด๋๋ฅผ ์ ๋ณธ์ผ๋ก ํ ์ง ์ ์(์ฝ๋๋ก ๊ฒ์ฆ ๊ฐ๋ฅํ ๊ท์น์ CLAUDE.md, ๋น๊ณต๊ฐ/์ผํ์ฑ ๋งฅ๋ฝ์ ๋ฉ๋ชจ๋ฆฌ).
guard โ ํ๊ท ์ ๊ฒ(๋ฌธ์ ํ๊ท ๋ฐฉ์ง)
ํธ์ง์ผ๋ก ์๋์น ์์ ์์(ํ๊ท) ์ด ์๋์ง ํ์ธ. ํธ์ง ๋์ ํ ํญ์ ์คํํ๊ณ , ๋จ๋
ํธ์ถ๋ ๊ฐ๋ฅ.
- ํธ์ง ์ ์ค๋
์ท(๊ฐ๋ฅํ๋ฉด): ๋ผ์ธ์,
##/### ํค๋ฉ ๋ชฉ๋ก, ๋งํฌ ๋ชฉ๋ก, ์ฝ๋ํ์ค ๊ฐ์, ํ์ผ ํฌ๊ธฐ.
- ํธ์ง ํ ๋น๊ต๋ก ์๋ ํ๊ท ๊ฒ์ถ:
- ์น์
์ ์ค: ์๋์น ์๊ฒ ์ฌ๋ผ์ง ํค๋ฉ(์ถ๊ฐ/์ด๋์ด ์๋ ์ญ์ ).
- ๋งํฌ ๊นจ์ง: ์๋ก ๊นจ์ง
[..](path).
- ์ฝ๋ํ์ค ๋ถ๊ท ํ:
``` ํ์(๋ ๋ ๊นจ์ง).
- ๊ธ๊ฒฉํ ๋ถ๋ ๋ณํ: ์์์น ๋ชปํ ๋๋ ์ญ์ (์คํธ์ง ์ ํธ).
- ์ด์ ๋ฐ๊ฒฌ ์ ์ฆ์ ์๋ฆฌ๊ณ ,
/tmp ๋ฐฑ์
์ผ๋ก ๋๋๋ฆฌ๊ธฐ๋ฅผ ์ ์. ์ ์์ด๋ฉด "ํ๊ท ์์" ๋ณด๊ณ .
์ด ํ๋ก์ ํธ์ "๋ณ๊ฒฝ ํ ๊ฒ์ฆ(ํ๊ท) ๊ท์น" ์ง์
CLAUDE.md ## ์ค์ ๊ท์น์ ๊ฒ์ฆ ์ ์ฐจ๊ฐ ์ผ๋ถ ์๋ค. ์ค์ ์ด ์ ์ฅ์๊ฐ ๋งค๋ฒ ์ํํ๋ ๊ฒ โ add/capture๋ก ๋ช
๋ฌธํํ๋๋ก ๋๋๋ค:
- ํ๋ก ํธ(์ธ๋ผ์ธ JS/CSS) ์์ ํ: ๊ตฌ๋ฌธ/๊ท ํ ํ์ธ, ๊ฐ๋ฅํ๋ฉด ํค๋ค๋ฆฌ์ค Chrome ํ๋์ค(
--headless=new --screenshot)๋ก ๋ ๋ ์๊ฐ ๊ฒ์ฆ(๋ก์ปฌ ์ธ์ฆ ์์ด ์ปดํฌ๋ํธ ํ์ธ).
- ์ ์ ์
ธ ๋ณ๊ฒฝ ์
sw.js์ VERSION ์ฌ๋ฆผ + ๊ฐ๋ ฅ ์๋ก๊ณ ์นจ(์๋น์ค์์ปค ์บ์).
- DB ์คํค๋ง ๋ณ๊ฒฝ(alembic) ์ ์์ปค ์ ์ง ํ ์คํ(SQLite ๋ฝ). ์๊ฒ์ฆ์ ๋ผ์ด๋ํธ๋ฆฝ/์๋ณต.
- ์๋ฒ๋ ์๋ ๋ฆฌ๋ก๋ ์์(์ด์) โ
systemctl restart ํ ํ์ธ. ๊ฐ๋ฐ์ uvicorn --reload.
- i18n ๋ฌธ์์ด์ ์นดํ๋ก๊ทธ์ ์์ผ๋ฉด
_t(key, fallback) ํด๋ฐฑ์ผ๋ก ๋์ โ ํ์ ์ 10๊ฐ ์ธ์ด ์นดํ๋ก๊ทธ ๋๊ธฐํ.