PRD.md์ ๋ช ๊ฐ์ง ์ ํ๋ง์ผ๋ก ํ์ฌ ํธ๋ ๋์ ๋ง๋ ๊ฐ๋ฐ ์คํ(์ธ์ดยทํจํค์ง๋งค๋์ ยทํ๋ ์์ํฌยทDBยท์คํ๋ฐฉ์)์ ์ถ์ฒํ๊ณ , ๊ธฐ๋ณธ ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ ์์ฑํ๋ Claude Code ํ๋ฌ๊ทธ์ธ์
๋๋ค. ํ์ค์ IDE ์ค๋ฆฝ ํฌ๋งท(AGENTS.md)์ผ๋ก ๋ด๋ณด๋ผ ์ ์์ด CursorยทAntigravity ์์๋ ๋์ผํ๊ฒ ์ค์ฉ๋ฉ๋๋ค.
- English: README.en.md
- ๊ณต๊ฐ ์ ์ฅ์:
pub-wise-dev-stdโ ๋ง์ผํ๋ ์ด์ค ์ด๋ฆ์wise-dev-std, ํ๋ฌ๊ทธ์ธ ์ด๋ฆ์wise-dev-std. - 1์ฐจ ๋ฒ์: Claude CLI ํ๋ฌ๊ทธ์ธ. Cursor/Antigravity ๋
AGENTS.md๋ด๋ณด๋ด๊ธฐ๋ก ์ค์ฉ.
์ค์น/์ ๋ฐ์ดํธ ๋ช ๋ น์
wise-dev-std@wise-dev-stdํ์์ ๋๋ค (<ํ๋ฌ๊ทธ์ธ>@<๋ง์ผํ๋ ์ด์ค>).
์ผ๋ฐ ๊ฐ๋ฐ์๊ฐ ์ ํ๋ก์ ํธ๋ฅผ ์์ํ ๋ ๋ฐ๋ณตํ๋ ์์ฌ๊ฒฐ์ ์ ํ์คํยท์๋ํํฉ๋๋ค.
- ํ๊ฒฝ ๊ตฌ์ฑ + FE/BE/DB/Ops ๊ตฌ์กฐ ์ค๊ณ
- ์ธ์ด๋ณ ํจํค์ง ๋งค๋์ ์ ํ โ
uv,pip,pnpm,npmโฆ local / dev / staging / prodํ๊ฒฝ ๋ถ๋ฆฌ + DB ์ ํ (sqlite/postgres)- ์คํ ๋ฐฉ์ โ ์ง์ (
pnpm dev,uvicorn) vsdocker compose up - PRD.md ๊ฐ ์ฃผ์ด์ง๋ฉด โ node/pythonยทfrontend/backend ๋ฑ ๊ธฐ๋ณธ ์กฐ๊ฑด๋ง ์ ํํ๋ฉด
ํธ๋ ๋์ ๋ง๋ ์ธ์ดยทํจํค์ง๋งค๋์ ยท๊ตฌ๋ ๋ฐฉ์์ ์ถ์ฒํ๊ณ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ฅผ ์์ฑ
- PRD ์์ฑ์ด ์ด๋ ค์ฐ๋ฉด
/wise-dev-std:prd๊ฐ 5์ง๋ฌธ ์ค๋ฌธ์ผ๋กPRD.md์ด์์ ์๋ ์์ฑ (์ ์์ผ One-Page ๊ธฐ๋ณธ,--fullํ์คํ).
- PRD ์์ฑ์ด ์ด๋ ค์ฐ๋ฉด
- ์ ์ข /์ ํ(KSIC ๋๋ถ๋ฅ) ๋ฅผ ์ ๋ ฅํ๋ฉด ๊ทธ ์ ์ข ์ ๊ท์ ยท๋ฐ์ดํฐ๋ฑ๊ธยท์ ํธ์คํยท์ธํ๋ผยท์ํ์ ์ค๋ฒ๋ ์ด๋ก ๋ฐ์ (์: ๊ธ์ต=๋ง๋ถ๋ฆฌ/PCI, ์๋ฃ=FHIR/๋น์๋ณ, ๊ฒ์=ํ๋ฅ ๊ณต๊ฐ audit)
| ์ ํ | ์ด๋ฆ | ์ญํ |
|---|---|---|
| Command | /wise-dev-std:prd |
์ค๋ฌธ(WhyยทWhoยทWhatยทHowยทSuccess) โ ๋ฃจํธ PRD.md ์ด์ ์์ฑ (--full ํ์คํ) |
| Command | /wise-dev-std:recommend |
PRD + ์ ํ โ ์คํ ์ถ์ฒ (ํ ์ถ๋ ฅ) |
| Command | /wise-dev-std:scaffold |
ํ์ ํ๋กํ์ผ โ ๋๋ ํฐ๋ฆฌ/Makefile/compose/๋งค๋ํ์คํธ/CI/.env ์์ฑ |
| Command | /wise-dev-std:env-init |
local/dev/staging/prod ํ๊ฒฝํ์ผ + compose ์ค๋ฒ๋ผ์ด๋ ์์ฑ |
| Command | /wise-dev-std:standardize |
ํ์ค์ AGENTS.md + .cursor/rules ๋ก ๋ด๋ณด๋ด๊ธฐ (Cursor/Antigravity ์ค์ฉ) |
| Command | /wise-dev-std:implement |
recommend~standardize ์๋ฃ ํ PRD ๊ธฐ๋ฐ ๊ตฌํ + ์ํ ์ฌ์ดํด(test/impl/<Nth>) + ์ธ์ดยทํ๋ซํผ๋ณ .gitignore ์์ฑ |
| Command | /wise-dev-std:review |
๊ตฌํ ์๋ฃ ์ฝ๋ ์ฌ์ธต ๋ถ์ + ๋ผ์ธ ๋จ์ ์ฝ๋ ๋ฆฌ๋ทฐ ๋์ ์คํ โ .review/ (์ฝ๋ ๋ฆฌ๋ทฐ ๊ธฐ๋ณธ Level 2, ํ์ธ/์๋์ถ์ฒ) |
| Skill | prd-advisor |
PRD ์์ฑ ๋์ฐ๋ฏธ ์ง์ ๋ฒ ์ด์ค(5์ง๋ฌธ ์ค๋ฌธ + One-Page/ํ์คํ ํ ํ๋ฆฟ + KSIC KPIยทNFR ์ ์) |
| Skill | stack-advisor |
์คํ ์์ฌ๊ฒฐ์ ์ง์ ๋ฒ ์ด์ค(๊ฒฐ์ ๋งคํธ๋ฆญ์ค + KSIC ์ ์ข ๋งคํ) |
| Skill | project-scaffolder |
๊ตฌ์กฐ ์์ฑ ๊ท์น (test/ ์ํ ๊ณจ๊ฒฉ + ์
์ข
COMPLIANCE.md ํฌํจ) |
| Skill | test-runner |
์ํ ํ์ค: ์๋๋ฆฌ์คโ์งํโ์ค๋ฅ์ ์์ ยท์ฌ์ํโ๊ฒฐ๊ณผ (test/ ๊ท์น) |
| Skill | depth-reviewer |
์ฌ์ธต ๋ถ์ ์ง์ ๋ฒ ์ด์ค(์คํยท๋ผ์ด์ ์คยท๋ณด์ยท์ ์ง๋ณด์ยท์ํคํ ์ฒยท๋ฒ์ ยท5๋จ๊ณ ๋ฑ๊ธ) |
| Skill | code-reviewer |
๋ผ์ธ ๋จ์ ๋ ๋ฒจ๋ณ(0~4, ๊ธฐ๋ณธ 2) ์ฝ๋ ๋ฆฌ๋ทฐ ์ง์ ๋ฒ ์ด์ค (.review/ ํธ๋ฆฌ) |
| Agent | stack-architect |
recommendโscaffoldโenv-init ํ๋ฆ์ ๋ ๋ฆฝ ์ํํ๋ ์๋ธ์์ด์ ํธ |
| Hook | SessionStart |
PRD.md ์์ผ๋ฉด ์ฌ์ฉ๋ฒ, ์์ผ๋ฉด /prd ์์ฑ ๋์ฐ๋ฏธ 1์ค ์ ์ (์ค์บํด๋ฉ ํ์ ์์ผ๋ฉด ์นจ๋ฌต) |
| Data | profiles/*.yaml |
ํ์ฅ ์ง์ (์คํ) โ ์คํ ํ๋กํ์ผ (YAML 1๊ฐ = ์ ํ์ง 1๊ฐ) |
| Data | domains/*.yaml |
ํ์ฅ ์ง์ (์ ์ข /์ ํ) โ KSIC ๋๋ถ๋ฅ๋ณ ๋๋ฉ์ธ ์ค๋ฒ๋ ์ด (๊ท์ ยท๋ฐ์ดํฐ๋ฑ๊ธยท์ ํธ์คํ) |
pub-wise-dev-std/
โโโ .claude-plugin/
โ โโโ marketplace.json # ๋ง์ผํ๋ ์ด์ค ์ ์ (name: wise-dev-std)
โโโ plugins/
โ โโโ wise-dev-std/
โ โโโ .claude-plugin/plugin.json
โ โโโ commands/ # prd, recommend, scaffold, env-init, standardize, implement, review
โ โโโ skills/ # prd-advisor, stack-advisor, project-scaffolder, test-runner, depth-reviewer, code-reviewer
โ โโโ agents/ # stack-architect
โ โโโ profiles/ # *.yaml (์คํ ํ์ฅ ์ง์ ) + _schema.md
โ โโโ domains/ # *.yaml (์
์ข
/์
ํ ํ์ฅ ์ง์ , KSIC) + _schema.md
โ โโโ hooks/hooks.json # SessionStart
โ โโโ data/trends-cache.yaml # ๋ฒ์ ํ + ๊ท์ ์ํ์ผ ์บ์ (--trends cache-first)
โ โโโ scripts/ # detect-prd.sh, export-portable.sh, install-portable.sh, refresh-trends.sh
โ โโโ templates/ # AGENTS.md(IDE ์ค๋ฆฝ) + gitignore/ + scaffold/<id>/ (์ ์ ์ค์บํด๋)
โโโ README.md / README.en.md
ํต์ฌ: ๋ง์ผํ๋ ์ด์ค ์ด๋ฆ =
wise-dev-std, ํ๋ฌ๊ทธ์ธ ์ด๋ฆ =wise-dev-std. ์ค์น ์wise-dev-std@wise-dev-std๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋จผ์ ์ ์ฅ์๋ฅผ clone:
git clone https://github.com/WisemanLim/pub-wise-dev-std.git
cd pub-wise-dev-std
Claude CLI ์์ (clone ํ ๋๋ ํฐ๋ฆฌ ๊ธฐ์ค):
/plugin marketplace add .
/plugin install wise-dev-std@wise-dev-std
marketplace add์๋.claude-plugin/marketplace.json์ด ์๋ ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก(clone ๋ฃจํธ)๋ฅผ ์ค๋๋ค. ์ค์น ํ/help๋๋/plugin์์ ๋ช ๋ น์ด๊ฐ ๋ณด์ด๋ฉด ์ฑ๊ณต์ ๋๋ค.
/plugin marketplace add WisemanLim/pub-wise-dev-std
/plugin install wise-dev-std@wise-dev-std
ํ์ฑํ/๋นํ์ฑํ: /plugin ๋ฉ๋ด์์ ํ ๊ธ.
๋ฐฉ๋ฒ A (git clone) ๋ก ์ค์นํ ๊ฒฝ์ฐ โ ์์ค๋ฅผ ๋น๊ฒจ๋ฐ๊ณ ๋ง์ผํ๋ ์ด์ค๋ฅผ ์๋ก๊ณ ์นจ:
cd pub-wise-dev-std
git pull
๊ทธ ๋ค์ Claude CLI ์์:
/plugin marketplace update wise-dev-std
/plugin update wise-dev-std@wise-dev-std
๋ฐฉ๋ฒ B (์๊ฒฉ ๋ง์ผํ๋ ์ด์ค) ๋ก ์ค์นํ ๊ฒฝ์ฐ โ ๋ง์ผํ๋ ์ด์ค ๋ฉํ๋ฐ์ดํฐ๋ง ๊ฐฑ์ :
/plugin marketplace update wise-dev-std
/plugin update wise-dev-std@wise-dev-std
marketplace update๋ ๋ง์ผํ๋ ์ด์ค ๋ชฉ๋ก(๋ฒ์ /ํ๋ฌ๊ทธ์ธ ๋ฉํ)์ ์๋ก๊ณ ์นจํฉ๋๋ค (์ธ์ = ๋ง์ผํ๋ ์ด์ค ์ด๋ฆwise-dev-std).plugin update๋ ์ค์น๋ ํ๋ฌ๊ทธ์ธ์ ์ต์ ๋ฒ์ ์ผ๋ก ์ฌ๋ฆฝ๋๋ค.- ๋ณ๊ฒฝ ํ์ธ:
/plugin๋ฉ๋ด์์ ๋ฒ์ (ํ์ฌ0.8.0) ํ์๋ฅผ ํ์ธ. - ๋ฌธ์ ์ ์ฌ์ค์น:
/plugin uninstall wise-dev-std@wise-dev-stdํ ๋ค์ install.
๋ฒ์ ๊ท์น / versioning:
plugin.json๊ณผmarketplace.json์version์ ํจ๊ป ์ฌ๋ฆฝ๋๋ค(SemVer).
# 1) PRD.md ์ค๋น โ ์ง์ ๋๊ฑฐ๋, ์์ฑ์ด ์ด๋ ค์ฐ๋ฉด ์ค๋ฌธ์ผ๋ก ์ด์ ์์ฑ
/wise-dev-std:prd "๋ด ํ๋ก์ ํธ" healthcare # 5์ง๋ฌธ ์ค๋ฌธ โ ๋ฃจํธ PRD.md
# ํ์คํ(์ํคํ
์ฒยทNFRยท๋ฐ์ดํฐยท๊ท์ ): /wise-dev-std:prd "๋ด ํ๋ก์ ํธ" --full
# 2) ์คํ ์ถ์ฒ (+ ์
์ข
ํํธ๋ก ๊ท์ ยท๋ฐ์ดํฐ๋ฑ๊ธ ์ค๋ฒ๋ ์ด)
/wise-dev-std:recommend
# ์ธ์ด ํํธ: /wise-dev-std:recommend python --trends
# ์ธ์ด+์
์ข
ํํธ: /wise-dev-std:recommend python healthcare --trends
# 3) ์ถ์ฒ ํ์ ํ ๊ตฌ์กฐ ์์ฑ (์
์ข
์ง์ ์ COMPLIANCE.md ์์ฑ)
/wise-dev-std:scaffold python-fastapi --domain healthcare
# ๋ํํ ์คํ ์ ํ: /wise-dev-std:scaffold custom
# 4) ํ๊ฒฝ ํ์ผ ์์ฑ (local/dev/staging/prod)
/wise-dev-std:env-init python-fastapi
# 5) ํ์ค์ Cursor/Antigravity ๋ก ๋ด๋ณด๋ด๊ธฐ
/wise-dev-std:standardize python-fastapi
# 6) PRD ๊ธฐ๋ฐ ๊ตฌํ + ์ํ (๊ตฌํ๋ง๋ค test/impl/<Nth> ์์ฑ)
/wise-dev-std:implement python-fastapi "๋ก๊ทธ์ธ API"
# 7) ๊ตฌํ ์๋ฃ ์ฝ๋ ์ฌ์ธต ๋ถ์ + ๋ผ์ธ ๋จ์ ์ฝ๋ ๋ฆฌ๋ทฐ (๋์) โ .review/
/wise-dev-std:review # ์ฝ๋ ๋ฆฌ๋ทฐ ๊ธฐ๋ณธ Level 2 (ํ์ธ/์๋์ถ์ฒ)
/wise-dev-std:review --level 3 --pdf true # ๋ ๋ฒจ ์ง์ + PDF
/wise-dev-std:review --only code ./src # ์ฝ๋ ๋ฆฌ๋ทฐ๋ง, ํน์ ๊ฒฝ๋ก
7๊ฐ ๋ช ๋ น์ ํ๋์ ํ์ดํ๋ผ์ธ์ ๋๋ค. ๊ฐ ๋จ๊ณ๋ ์ ๋จ๊ณ์ ์ฐ์ถ๋ฌผ์ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ๋ค์ ๋จ๊ณ๋ก ๋๊น๋๋ค. ์์: prd โ recommend โ scaffold โ env-init โ standardize โ implement โ review.
PRD.md โ ์คํ ์ถ์ฒ โ ๊ณจ๊ฒฉ ์์ฑ โ ํ๊ฒฝ ํ์ผ โ IDE ํ์ค โ ๊ตฌํ+์ํ โ ๋ฆฌ๋ทฐ
prd recommend scaffold env-init standardize implement review
- ๋ชฉ์ : ๋ฌด์์ ์ ๋ง๋๋์ง(
PRD.md)๋ฅผ ๋จผ์ ๊ณ ์ ํ๋ค. ์ดํ ๋ชจ๋ ๋จ๊ณ์ ๋จ์ผ ์ ๋ ฅ. - ๋ช
๋ น:
/wise-dev-std:prd "[ํ๋ก์ ํธ์ด๋ฆ]" [์ ์ข ] [--full] - ์
๋ ฅ: ํ๋ก์ ํธ ์ด๋ฆ, (์ ํ) ์
์ข
KSIC ํค์๋,
--full(ํ์คํ ํ์ฅ). - ๋์:
prd-advisor์คํฌ์ด 5 ํต์ฌ ์ง๋ฌธ(WhyยทWhoยทWhatยทHowยทSuccess) ์ ํ ๋ฒ์ ๋ฌป๊ณ ์ด์ ์์ฑ. ๊ธฐ์กด PRD ๊ฐ ์์ผ๋ฉด ๋ฎ์ด์ฐ์ง ์๊ณ ๋ณด๊ฐ ์ฌ๋ถ๋ฅผ ๋จผ์ ํ์ธ. ๋ชจ๋ฅด๋ ๊ฐ์๊ฐ์ :์ผ๋ก ํ์. - ์ฐ์ถ๋ฌผ: ๋ฃจํธ
PRD.md(One-Page ๊ธฐ๋ณธ,--full์ ์ํคํ ์ฒยทNFRยท๋ฐ์ดํฐยท๊ท์ ยทEpic ์ถ๊ฐ). - ๋ค์:
recommend. - ๐ก ์ด๋ฏธ PRD ๊ฐ ์์ผ๋ฉด ์ด ๋จ๊ณ๋ ๊ฑด๋๋ฐ์ด๋ ๋ฉ๋๋ค.
- ๋ชฉ์ : PRD ์ ๊ธฐ๋ณธ ์ ํ์ผ๋ก ์ธ์ดยทํจํค์ง๋งค๋์ ยทํ๋ ์์ํฌยทDBยท์คํ๋ฐฉ์์ ๊ฒฐ์ .
- ๋ช
๋ น:
/wise-dev-std:recommend [์ธ์ด/ํ๋กํ์ผ ํํธ] [์ ์ข ] [--trends] - ์
๋ ฅ:
PRD.md(์๋ ํ์), ์ธ์ด/๋ชจ๋ฐ์ผ ํํธ, ์ ์ข KSIC ํค์๋,--trends(์ต์ ๋ฒ์ ยท๊ท์ ์ํ์ผ ๋ฐ์). - ๋์:
stack-advisor์คํฌ์ดprofiles/*.yamlรdomains/*.yaml์ ๊ฒฐ์ ๋งคํธ๋ฆญ์ค๋ก ์ ์ํ โ 1์์ ํ๋กํ์ผ + ๋์ ์ ์. ์ ์ข ์ ๋ ฅ ์ ๊ท์ ยท๋ฐ์ดํฐ๋ฑ๊ธ ์ค๋ฒ๋ ์ด ์์ฝ ๋๋ด. - ์ฐ์ถ๋ฌผ: ์ถ์ฒ ํ(์ ํ/๋์/๊ทผ๊ฑฐ) + ๋๋ฉ์ธ ์ค๋ฒ๋ ์ด ์์ฝ (ํ์ผ ๋ฏธ์์ฑ, ํ๋ฉด ์ถ๋ ฅ).
- ๋ค์: ํ์ ํ
<profile-id>๋กscaffold. - ๐ก
--trends๋ ์บ์ ์ฐ์ (data/trends-cache.yaml). STALE ํญ๋ชฉ๋ง WebSearch ๋ก ์ฌํ์ธ.
- ๋ชฉ์ : ํ์ ํ๋กํ์ผ๋ก ์ค์ ๋๋ ํฐ๋ฆฌยท๋น๋ยทCIยท๋ฌธ์ ๊ณจ๊ฒฉ์ ๋ง๋ ๋ค.
- ๋ช
๋ น:
/wise-dev-std:scaffold <profile-id> [--domain <id>] [target-dir]๋๋ ๋ํํ:/wise-dev-std:scaffold custom(ํ๋ซํผโ์ธ์ดโDBโํ๊ฒฝโ์ ์ข โ์ด๋ฆ 6๋จ๊ณ ์ ํ). - ์ ๋ ฅ: ํ๋กํ์ผ id (๋๋ custom ์ ํ), (์ ํ) ์ ์ข ๋๋ฉ์ธ, ์์ฑ ์์น.
- ๋์:
project-scaffolder์คํฌ์ดtemplates/scaffold/<id>/์ ์ ํ ํ๋ฆฟ์ ๋ณต์ฌ +{{PROJECT_NAME}}์นํ.kind: service๋ compose/Dockerfile/DB,kind: mobile์ ํ๋ซํผ ๋ ์ด์์+ํ๋ ์ด๋ฒ+Fastlane. ๋ฉฑ๋ฑ.gitignore(์ธ์ด+ํ๋ซํผ)๋ ์ด ์์ ์ ์กฐ๋ฆฝ. - ์ฐ์ถ๋ฌผ: ๋๋ ํฐ๋ฆฌ ํธ๋ฆฌ,
Makefile,docker-compose.yml, ์ธ์ด ๋งค๋ํ์คํธ,.env.*,.github/workflows/ci.yml,README.md/README.en.md์คํ , ์ ์ข ์ง์ ์COMPLIANCE.md. - ๋ค์:
env-init. - ๐ก ์์ : ํ์ผ๋ง ์์ฑ. ์ค์น/๋คํธ์ํฌ ๋ช
๋ นยท์ค์ํฌ๋ฆฟ ์์. ๊ธฐ์กด ๋์ผ ํ์ผ์
*.generated๋ก ๋ณด์กด.
- ๋ชฉ์ :
local/dev/staging/prod4ํ๊ฒฝ์ ํ์ค๋๋ก ๊ตฌ์ฑํ๊ณ , ํ๋ซํผ๋ณ ๋ถํ์ ํ์ผ ์ ๋ฆฌ. - ๋ช
๋ น:
/wise-dev-std:env-init <profile-id> [--db sqlite|postgres] - ์ ๋ ฅ: ํ๋กํ์ผ id, (์ ํ) DB ๊ฐ์ ์ง์ .
- ๋์: ํ๋กํ์ผ
kind๋ก ๋ถ๊ธฐ โservice:.env.{local,dev,staging,prod}+docker-compose.override.yml+.env.example. (local=sqlite, dev+=postgres+redis..env.prod์ ํค ๋ชฉ๋ก๋ง.)native-mobile(iOS/Android):.env.*๋์ xcconfig / BuildConfig(๋ถํ์ํ.env.*๋ ์ญ์ ๋ณด๊ณ ).cross-mobile(Flutter/RN):.env.*์ ์ง +env.dart/env.ts์์ค.
- ์ฐ์ถ๋ฌผ: ํ๊ฒฝ ํ์ผ ์ผ์ต (์ค ๋น๋ฐ๋ฒํธ/ํ ํฐ/์๋ช ํค๋ ์ ๋ถ placeholder).
- ๋ค์:
standardize. - ๐ก ๋ชจ๋ฐ์ผ
api_baseํธ์คํธ: iOS Simulator=localhost, Android Emulator=10.0.2.2.
- ๋ชฉ์ : Claude ํ๋ฌ๊ทธ์ธ ํ์ค์ CursorยทAntigravity ๋ ์ฝ๋ ํฌ๋งท์ผ๋ก ๋ด๋ณด๋ธ๋ค.
- ๋ช
๋ น:
/wise-dev-std:standardize [profile-id] [--domain <id>] - ์ ๋ ฅ: (์ ํ) ๊ฐ์กฐํ ํ๋กํ์ผ, (์ ํ) ์ ์ข ์ค๋ฒ๋ ์ด.
- ๋์:
templates/AGENTS.md๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ์คํยท์ ์ข ์์ฝ์ ์ฝ์ ํด ํ์ค ๋ฌธ์ ์์ฑ. - ์ฐ์ถ๋ฌผ:
AGENTS.md(๊ณตํต),.cursor/rules/wise-dev-std.mdc(alwaysApply: true),.antigravity/rules.md. โ ์ธ ๋๊ตฌ๊ฐ ๋์ผ ํ์ค ์ค์ฉ. - ๋ค์:
implement. - ๐ก ์
ธ ์ผ๊ด ์ค์น:
scripts/install-portable.sh <target-dir>(--zip๋ฐฐํฌ ํจํค์ง).
- ๋ชฉ์ : ํ์ค ํ๊ฒฝ ์์์ PRD ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ๋์ผํ ์ํ ์ฌ์ดํด์ ์ ์ฉ.
- ๋ช
๋ น:
/wise-dev-std:implement [profile-id] [feature-keyword] - ์ฌ์ ์กฐ๊ฑด: recommend โ scaffold โ env-init โ standardize ์๋ฃ.
- ๋์:
- dev-env ์ํ(์ต์ด 1ํ) โ ํ์ค ํ๊ฒฝ์ด ์ ๋๋ก ๊ตฌ์ฑ๋๋์ง ๊ฒ์ฆ โ
test/dev-env/. .gitignore๋ณด์ฅ(์ธ์ด+ํ๋ซํผ, ๋ฉฑ๋ฑ).- PRD ์์
feature-keyword๋ฒ์ ์ถ์ถ โ ํ์ค ๊ตฌ์กฐ ์์ ๊ตฌํ(ํ๋ฉด ์ต์ ๋ณ๊ฒฝ). - ์ํ ์ฌ์ดํด โ ์ ์ฐจ์
test/impl/<Nth>/: ์๋๋ฆฌ์คโ์งํโ์ค๋ฅ์ ์์ ยท์ฌ์ํโ๊ฒฐ๊ณผ.COMPLIANCE.md์์ผ๋ฉด ๋๋ฉ์ธ ์ํ ์ผ์ด์ค ํฌํจ. - README ํํํ โ ๊ตฌํ๋ ์ฝ๋๋ฅผ ๋ถ์ํด ํ๊ธ
README.md+ ์์ดREADME.en.md์์ธ ๊ฐฑ์ .
- dev-env ์ํ(์ต์ด 1ํ) โ ํ์ค ํ๊ฒฝ์ด ์ ๋๋ก ๊ตฌ์ฑ๋๋์ง ๊ฒ์ฆ โ
- ์ฐ์ถ๋ฌผ: ๊ธฐ๋ฅ ์ฝ๋,
test/impl/<Nth>/{scenario,result}.md+logs/, ๊ฐฑ์ ๋ README. - ๋ค์:
review(๋๋ ๋ค์ ๊ธฐ๋ฅ์ผ๋กimplement๋ฐ๋ณต). - ๐ก ์ฐจ์(
1st,2nd,โฆ)๋ ์๋ ์ฆ๊ฐ, ๊ธฐ์กด ์ฐจ์ ๋๋ ํฐ๋ฆฌ๋ ๋ฎ์ด์ฐ์ง ์์.
- ๋ชฉ์ : ๊ตฌํ ์๋ฃ ์ฝ๋์ ๋ํด ๋ ๊ฐ์ง ๋ฆฌ๋ทฐ๋ฅผ ํ ๋ฒ์ ์ฐ์ถ.
- ๋ช
๋ น:
/wise-dev-std:review [target-paths...] [--level 0~4] [--only depth|code|both] [--pdf true|false] - ์ ๋ ฅ: ๋ถ์ ๊ฒฝ๋ก(๊ธฐ๋ณธ cwd), (์ ํ) ์ฝ๋ ๋ฆฌ๋ทฐ ๋ ๋ฒจ/๋์/PDF. PRDยทAGENTSยทํ๋กํ์ผ ํ์ ์ ๊ทผ๊ฑฐ๋ก ํ์ฉ.
- ๋์:
- ์ฌ์ธต ๋ถ์(
depth-reviewer, ํญ์ ์์ธ) โ ์คํยท๋ผ์ด์ ์คยท๋ณด์ยท์ ์ง๋ณด์ยท์ํคํ ์ฒยท๋ฒ์ ยท๋ฑ๊ธ. - ์ฝ๋ ๋ฆฌ๋ทฐ(
code-reviewer, ๊ธฐ๋ณธ Level 2) โ ๋ผ์ธ ๋จ์.--level๋ฏธ์ง์ ์ ์๋ ์ถ์ฒ ํ 1ํ ํ์ธ.
- ๋ ๋ฆฌ๋ทฐ๋ ๋ ๋ฆฝ์ด๋ฏ๋ก ์๋ธ์์ด์ ํธ 2๊ฐ๋ก ๋ณ๋ ฌ ์คํ ๊ถ์ฅ.
- ์ฌ์ธต ๋ถ์(
- ์ฐ์ถ๋ฌผ:
.review/REVIEW-InDepth.md+.review/CODE-REVIEW-Lv<N>/(INDEX + ํ์ผ๋ณ ๋ฆฌํฌํธ), ์ ํ ์ PDF. - ๋ค์: ๋ฐ๊ฒฌ ์ํ ์์ โ
implement์ฌ์คํ โ ๋ค์review(๋ฐ๋ณต). - ๐ก ๋ ๋ฒจ: 0=๋น๊ฐ๋ฐ์ยท๊ธฐํ ๊ณต์ , 1=์ฃผ๋์ด ์จ๋ณด๋ฉ, 2=ํ ๋ฒ ์ด์ค๋ผ์ธ(๊ธฐ๋ณธ), 3~4=์๋์ด/์ํคํ ์ฒ.
๋ฐ๋ณต ๋ฃจํ: ๋ณดํต
implementโreview๋ฅผ ๊ธฐ๋ฅ ๋จ์๋ก ๋ฐ๋ณตํฉ๋๋ค. ์ ๊ธฐ๋ฅ๋ง๋คimplement, ๋ถ๊ธฐ๋ง๋คreview๋ก ํ์ง ๊ฒ์ดํธ๋ฅผ ํต๊ณผ์ํค๋ ์์ ๋๋ค. 1~5๋จ๊ณ๋ ํ๋ก์ ํธ ์์ ์ 1ํ๋ฉด ์ถฉ๋ถํฉ๋๋ค.
| ํญ๋ชฉ | ์ ํ | ๋์ | ๊ทผ๊ฑฐ / ์์ ํฌ์ธํธ |
|---|---|---|---|
| ์ ์ข (KSIC) | healthcare (KSIC Q) |
โ | ์๋ฃ ๋๋ฉ์ธ โ ๊ท์ ยทFHIR ์ค๋ฒ๋ ์ด |
| ์ธ์ด | Python | Node | PRD ์ ๋ถ์/ML ์๊ตฌ โ Python 1์์ |
| ํจํค์ง๋งค๋์ | uv | pip | ๋น ๋ฅธ resolver + venv ํตํฉ |
| ๋ฐฑ์๋ | FastAPI | NestJS | ํ์ ํํธยท์๋๋ฌธ์ |
| DB | SQLite(local) / PostgreSQL(dev+) | โ | ์ ๊ท ๊ธฐ๋ณธ Postgres |
| ์คํ๋ฐฉ์ | uv run uvicorn --reload / docker compose up |
โ | ์ง์ +์ปจํ ์ด๋ |
| ํ๋กํ์ผ | python-fastapi |
node-next-nest |
โ |
ํ๋กํ์ผ python-fastapi ์: app/, tests/, docker/, Makefile, docker-compose.yml, pyproject.toml, .env.{local,dev,staging,prod}, .github/workflows/ci.yml.
๊ณตํต ์ง์
์ :
make dev # uv sync && uvicorn --reload (๋๋ compose up)
make test # pytest
make build # docker build
make deploy # helm/argocd
์์ : ์ค์บํด๋๋ ํ์ผ๋ง ์์ฑํฉ๋๋ค. ์ค์น/๋คํธ์ํฌ ๋ช ๋ น์ ์คํํ์ง ์์ผ๋ฉฐ, ์ค์ ์ํฌ๋ฆฟ์ ๋ง๋ค์ง ์์ต๋๋ค(
.env.prod์ ํค ๋ชฉ๋ก๋ง). ๊ธฐ์กด ๋์ผ ํ์ผ์ ๋ฎ์ด์ฐ์ง ์๊ณ*.generated๋ก ๋ก๋๋ค.
ํ์ฌ ์ ๊ณต:
| id | ์ค๋ช | status |
|---|---|---|
node-next-nest |
Next.js + NestJS (TS ํต์ผ, BFF) | stable |
python-fastapi |
FastAPI + uv + uvicorn (๋ฐ์ดํฐ/ML/RAG) | stable |
go-gin |
Gin + GORM (๊ณ ์ฒ๋ฆฌ๋ ์ฝ์ด/์์ปค) | stable |
rust-axum |
Axum/Actix + SQLx (๋ฉ๋ชจ๋ฆฌ์์ ยท๊ณ ์ฑ๋ฅ, Tauri) | stable |
bio-rag-research |
์ฐ๊ตฌ์กฐ์ง RAG ํ๋ซํผ(์ญํ ๋ถ๋ฆฌํ + ๋ณด์/๊ฐ์ฌ/์ฌํ์ฑ) | preview |
ios-swiftui |
iOS ๋ค์ดํฐ๋ธ (Swift + SwiftUI, Xcode) | stable |
android-compose |
Android ๋ค์ดํฐ๋ธ (Kotlin + Jetpack Compose) | stable |
flutter-app |
Flutter (Dart, iOS+Android ๋จ์ผ ์ฝ๋๋ฒ ์ด์ค) | stable |
react-native-app |
React Native (Expo, TS, iOS+Android) | stable |
๋ชจ๋ฐ์ผ ํ๋กํ์ผ(
kind: mobile) ์ ์๋ฒ ํ๋กํ์ผ๊ณผ ๊ตฌ์กฐ๊ฐ ๋ค๋ฆ ๋๋ค. ์๋ฒ DB(postgres)ยทdocker-composeยทK8s ๋์ ์จ๋๋ฐ์ด์ค ์ ์ฅ(SwiftData/Room/Drift/expo-sqlite) + ํ์ด๋ง API(์ฑ ๋จ๋ ์ด ๊ธฐ๋ณธ, ํ์ ์ ์๋ฒ ํ๋กํ์ผ ๋ณ๋ ๋๋extends๋ก ๋ชจ๋ ธ๋ ํฌ ๊ฒฐํฉ) + ๋น๋ ํ๋ ์ด๋ฒ(local/dev/staging/prod โ flavorยทapi_baseยท์๋ช ) + Fastlane โ TestFlight/Play ๋ฐฐํฌ๋ก ๋งคํ๋ฉ๋๋ค(iOS ๋น๋๋ macOS CI ๋ฌ๋). ์์ธํ ์๋ฏธ๋profiles/_schema.mdยง๋ชจ๋ฐ์ผ, ์ค์บํด๋ฉ ๊ท์น์project-scaffolderยง2.5 ์ฐธ์กฐ.
plugins/wise-dev-std/profiles/_schema.md์ ์คํค๋ง๋ฅผ ๋ฐ๋ฅธ๋ค.profiles/<new-id>.yamlํ ๊ฐ๋ฅผ ์ถ๊ฐํ๋ค. (extends:๋ก ๊ธฐ์กด ํ๋กํ์ผ ์กฐํฉ ๊ฐ๋ฅ)- ๋. ๋ช ๋ น์ด/์คํฌ์ด ๋ฐํ์์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ค์บํ๋ฏ๋ก ์ฝ๋ ์์ ๋ถํ์.
์คํ(profiles/)๊ณผ ์ง๊ตํ๋ ๋ ๋ฒ์งธ ์ถ์
๋๋ค. ์
์ข
(KSIC ๋๋ถ๋ฅ)์ ์
๋ ฅํ๋ฉด ๊ทธ ์
์ข
์
๊ท์ ยท๋ฐ์ดํฐ๋ฑ๊ธยท์ ํธ์คํยท์ธํ๋ผยท์ํ์ ์ถ์ฒ์ ๋ฐ์ํ๊ณ , ์ค์บํด๋ฉ ์ COMPLIANCE.md ๋ก ์ถ๋ ฅํฉ๋๋ค.
ํ๊ตญ ๊ท์ ๋ฅผ 1์์๋ก ๋ฐ์ํ๊ณ 2025โ2026 ๊ธ๋ก๋ฒ ์คํ ํธ๋ ๋๋ฅผ ์๋ฒ ์ด๋ก ๋ณด๊ฐํ์ต๋๋ค(๊ฐ YAML references).
| ๋๋ฉ์ธ id | KSIC | ์ ํ | ํต์ฌ ๊ท์ (ํ๊ตญ, 1์์) | ์คํ ํธํฅ |
|---|---|---|---|---|
finance |
K | ๊ธ์ตยท๋ณดํ | ์ ์๊ธ์ต๊ฐ๋ ๊ท์ (2025)ยท์ ์ฉ์ ๋ณด๋ฒยทISMS-Pยท๋ง์ด๋ฐ์ดํฐ | Go/Rust ์ฝ์ด + Postgres ์์ฅ + Kafka |
healthcare |
Q | ๋ณด๊ฑดยท์๋ฃ | PIPA ๋ฏผ๊ฐ์ ๋ณดยท์๋ฃ๋ฒยทEMR์ธ์ฆ์ ยทSaMD(IEC62304)ยทCSAP | FHIR R4 + Python ML + ๋น์๋ณ |
commerce |
G | ๋์๋งคยท์ด์ปค๋จธ์ค | ์ ์์๊ฑฐ๋๋ฒยท์ ์๊ธ์ต๊ฑฐ๋๋ฒ(์ ์ฐ)ยทPCI-DSS | ํค๋๋ฆฌ์ค + ๋ฉฑ๋ฑ๊ฒฐ์ + ๊ฒ์ |
logistics |
H | ์ด์ยท๋ฌผ๋ฅยท๋ชจ๋น๋ฆฌํฐ | ์์น์ ๋ณด๋ฒ(6๊ฐ์ ํ๊ธฐ)ยทํ๋ฌผ์๋์ฐจ๋ฒ | PostGIS + TimescaleDB + Kafka |
manufacturing |
C | ์ ์กฐยท์ค๋งํธํฉํ ๋ฆฌ | ์ค๋งํธ๊ณต์ฅํ์คยท์ค๋์ฌํด์ฒ๋ฒ๋ฒยทIEC62443 | OPC-UA/MQTT + ์๊ณ์ดDB + ์ฃ์ง Rust/Go |
govtech |
O | ๊ณต๊ณตํ์ | ์ ์์ ๋ถ๋ฒยทeGovFrameยทN2SF/CSAPยทKWCAG2.2 | eGovFrame(Spring) + ์ ๊ทผ์ฑ |
edtech |
P | ๊ต์ก | PIPAยท๋ง14์ธ๋ฏธ๋ง ๋ณดํธ์๋์ยทCOPPA | WebRTC/HLS + ๋ฒ์คํธ์ค์ผ์ผ |
media-gaming |
R | ๋ฏธ๋์ดยท๊ฒ์ | ๊ฒ์์ฐ์ ๋ฒ ํ๋ฅ ๊ณต๊ฐยท๋ฑ๊ธ๋ถ๋ฅ(GRAC/IARC) | UDP/QUIC ์ ์ฉ์๋ฒ + ์ํฐ์นํธ |
ict-saas |
J | ์ ๋ณดํต์ ยทSaaS | ์ ๋ณดํต์ ๋ง๋ฒยทPIPAยทISMS-PยทCSAP | ๊ธฐ๋ณธ ๋ฒ ์ด์ค๋ผ์ธ: ๋ฉํฐํ ๋์ + OTel |
agriculture |
A | ๋๋ฆผ์ด์ ยทํธ๋ํ ํฌ | ๋์์ฐ๋ฌผ์ด๋ ฅ์ถ์ ยท์ํ์์๋ฒยทHACCPยท์์น์ ๋ณด๋ฒ | ์ฃ์ง/MQTT + TimescaleDB + PostGIS |
construction |
F | ๊ฑด์คยท๊ฑด์ถ | ์ค๋์ฌํด์ฒ๋ฒ๋ฒยท์ฐ์ ์์ ๋ณด๊ฑด๋ฒยทBIM(ISO 19650) | BIM/IFC + PostGIS + ์์ ํ ๋ ๋ฉํธ๋ฆฌ |
hospitality |
I | ์๋ฐยท์์ยท์ฌํ | ์ ์์๊ฑฐ๋๋ฒยท์ํ์์๋ฒยท๊ด๊ด์งํฅ๋ฒยทPCI-DSS | ์์ฝ ๋์์ฑ(์ค๋ฒ๋ถํน ๋ฐฉ์ง) + ๋ฉฑ๋ฑ๊ฒฐ์ |
energy-utilities |
DยทE | ์ ๊ธฐยท๊ฐ์คยท์๋ยทํ๊ฒฝ | ์ ๋ณดํต์ ๊ธฐ๋ฐ๋ณดํธ๋ฒยท์ ๊ธฐ์ฌ์ ๋ฒยทIEC 62443 | OT/IT ๋ง๋ถ๋ฆฌ + AMI ์๊ณ์ด + ์ด์๊ฐ์ง |
ict-saas(J) ๊ฐ ํญ์ ๋ฒ ์ด์ค๋ผ์ธ์ ๋๋ค โ ๋ค๋ฅธ ์ ์ข ๋ SW ํ๋ ์์ฒด๋ J ๋ก ์ด์ค๋ถ๋ฅ๋๋ฏ๋ก, ์ ์ข ์ค๋ฒ๋ ์ด๋ ๊ทธ ์์ ๊ท์ ยท์คํ ๋ธํ๋ฅผ ์น๋ ๋ฐฉ์์ผ๋ก ์ ์ฉ๋ฉ๋๋ค. ๋ถ๋์ฐ(L)์finance(์ ์ฐ) ๋๋ict-saas+PostGIS, ์ฐ๊ตฌ๊ฐ๋ฐ(M)์bio-rag-research๋๋ict-saas๋ก ๋งคํํฉ๋๋ค(stack-advisor ยง1.5).
plugins/wise-dev-std/domains/_schema.md์ ์ค๋ฒ๋ ์ด ์คํค๋ง๋ฅผ ๋ฐ๋ฅธ๋ค.domains/<new-id>.yamlํ ๊ฐ๋ฅผ ์ถ๊ฐํ๋ค (KSIC ์น์ + ๊ท์ + ์ ํธ ํ๋กํ์ผ + ๋ฐ์ดํฐ๋ฑ๊ธ).- ๋. recommend/scaffold ๊ฐ ๋ฐํ์์ ์ค์บํ๋ฏ๋ก ์ฝ๋ ์์ ๋ถํ์.
๋๋ฉ์ธ์ ์คํ์ ๊ต์ฒดํ์ง ์๊ณ ํธํฅํฉ๋๋ค. ์คํ์ด ์ ์ข ์ ๊ฐ๊ฒฐํฉ(์ญํ ๋ถ๋ฆฌ RAG ๋ฑ)์ด๋ฉด ์ฌ์ ํ
profiles/*.yaml+extends:๋ก ์์ฑํฉ๋๋ค(์:bio-rag-research).
Cursor ์ Antigravity ๋ ํ๋ก์ ํธ ๋ฃจํธ์ AGENTS.md ๋ฅผ ์ปจํ
์คํธ๋ก ์ฝ์ต๋๋ค. Cursor ๋ .cursor/rules/*.mdc ๋ ์ฝ์ต๋๋ค.
/wise-dev-std:standardize # Claude ์์์ ๋ด๋ณด๋ด๊ธฐ
# ๋๋ ์์์ ์ง์ :
bash plugins/wise-dev-std/scripts/export-portable.sh /path/to/your/project
์์ฑ๋ฌผ:
AGENTS.mdโ Claude Code / Cursor / Antigravity ๊ณตํต ํ์ค.cursor/rules/wise-dev-std.mdcโalwaysApply: true
์ธ ๋๊ตฌ๊ฐ ๋์ผํ ์ธ์ดยทํจํค์ง๋งค๋์ ยทํ๊ฒฝยท์คํ ํ์ค์ ๋ฐ๋ฅด๊ฒ ๋ฉ๋๋ค.
ํ์ค์ ์ํ์ด ํฌํจ๋ฉ๋๋ค. ํ์ค ํ๊ฒฝ ๊ตฌ์ฑ ์งํ์ ๋ชจ๋ ๊ตฌํ ๋จ๊ณ์์ ๋์ผํ ์ํ ์ฌ์ดํด์ ์ ์ฉํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ํ๋ก์ ํธ ๋ฃจํธ test/ ์ ์ ์ฅํฉ๋๋ค. (test-runner ์คํฌ)
- ์ํ ์๋๋ฆฌ์ค ์์ฑ โ PRD ์ ์๊ตฌ์ฌํญยท์์ฉ๊ธฐ์ค์ ์ผ์ด์ค ํ๋ก ๋ถํด โ
scenario.md - ์ํ ์งํ โ
make test๋๋ ์ง์ ๋ฌ๋ ์คํ, ์๋ณธ ์ถ๋ ฅ์logs/์ - ์ค๋ฅ ๋ฐ๊ฒฌ ์ ์์ ยท์ฌ์ํ โ ๊ทผ๋ณธ ์์ธ ๋ถ์ โ ์ฝ๋ ์์ โ ์ฌ์คํ, ๊ฐ ๋ผ์ด๋ ๊ธฐ๋ก(loop)
- ์ํ๊ฒฐ๊ณผ ์์ฑ โ ์ผ์ด์ค๋ณ pass/failยท๋ฐ๊ฒฌ ์ค๋ฅยท์์ ๋ด์ญยท์ฌ์ํ ๋ผ์ด๋ยท์ต์ข
ํ์ โ
result.md
test/
โโโ README.md # ์ํ ํ์ค ์์ฝ
โโโ dev-env/ # ํ์ค ํ๊ฒฝ ๊ตฌ์ฑ ๊ฒ์ฆ (1ํ) โ scaffold + env-init ํ
โ โโโ scenario.md # ์์กด์ฑ ์ค์น, make up, DB ์ฐ๊ฒฐ, ํฌ์ค ์ฒดํฌ, make test
โ โโโ result.md
โ โโโ logs/
โโโ impl/ # ๊ตฌํ ์๋ง๋ค (implement ๋ช
๋ น)
โโโ 1st/ # ์ฐจ์๋ ๊ธฐ์กด ๋๋ ํฐ๋ฆฌ ์ค์บ ํ ์๋ ์ฆ๊ฐ
โ โโโ scenario.md
โ โโโ result.md
โ โโโ logs/
โโโ 2nd/
โโโ ... # 3rd, 4th, โฆ
test/dev-env/๋ ํ์ค ํ๊ฒฝ(์ธ์ดยทํจํค์ง๋งค๋์ ยทDBยท์คํ๋ฐฉ์ยทcompose)์ด ์ ๋๋ก ๊ตฌ์ฑ๋๋์ง 1ํ ๊ฒ์ฆ.test/impl/<Nth>/๋ ๊ตฌํ๋ง๋ค ์ ์ฐจ์ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง๋ค์ด ๊ทธ ํ์ฐจ์ ์๋๋ฆฌ์คยท๊ฒฐ๊ณผ๋ฅผ ๋ณด์กด(๋ฎ์ด์ฐ๊ธฐ ๊ธ์ง).- ๋ฌ๋: ํ๋กํ์ผ๋ณ
testing.framework(Vitest+Playwright / pytest / go test / cargo test / Ragas). - ์๋ณธ ๋ก๊ทธ(
test/**/logs/)๋ ๋น์ปค๋ฐ ๊ถ์ฅ(.gitignore).
์์ : ์ํ์ ์ฝ๋ ์์ ์ ๋๋ฐํ ์ ์์ผ๋(3๋จ๊ณ), ํ๊ดด์ ๋ช ๋ น(DB dropยทprod ๋ฐฐํฌ)ยท์ค๋ฐ์ดํฐยท์ค์ํฌ๋ฆฟ์ ๊ธ์งํฉ๋๋ค.
- ์ฐ์ ์์ ์ธ์ด: Node/TS ยท Python ยท Rust ยท Go ยท C/C++
- ํจํค์ง๋งค๋์ : Python=
uv(๋์ pip), Node=pnpm(๋์ npm), Go=modules, Rust=cargo.forever๊ธ์ง - DB: ์ ๊ท ๊ธฐ๋ณธ PostgreSQL + Redis, local/test ๋ง SQLite. ๋ฒกํฐ=PGVector/Chroma, ๊ทธ๋ํ=Neo4j
- ํ๊ฒฝ: local(sqlite) / devยทstagingยทprod(postgres), dev+ ๋ compose
- ์คํ: ์ง์ ์คํ +
docker compose up, ํ๋ก๋์ K8s + Helm + GitOps - Ops: GitHub Actions(or GitLab CI), Docker/Compose, K8s/Helm, Argo CD/Flux, SonarQube/Sentry
- ๋ชจ๋ฐ์ผ(App): ๋ค์ดํฐ๋ธ iOS(Swift/SwiftUI)ยทAndroid(Kotlin/Compose), ํฌ๋ก์ค Flutter(Dart)ยทReact Native(Expo/TS). ์จ๋๋ฐ์ด์ค ์ ์ฅ(SwiftData/Room/Drift/expo-sqlite), ๋น๋ ํ๋ ์ด๋ฒ(local/dev/staging/prod), FastlaneโTestFlight/Play, iOS ๋น๋=macOS CI
python3 -c "import json; json.load(open('.claude-plugin/marketplace.json'))" # ๋ง์ผํ๋ ์ด์ค JSON
bash -n plugins/wise-dev-std/scripts/*.sh # ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ
bash plugins/wise-dev-std/scripts/refresh-trends.sh # ํธ๋ ๋ ์บ์ ์ ์ ๋(FRESH/STALE)
# ํ๋กํ์ผยท๋๋ฉ์ธยท์บ์ YAML ๋ฌธ๋ฒ (PyYAML ์์ผ๋ฉด):
python3 -c "import glob,yaml; P='plugins/wise-dev-std'; fs=glob.glob(P+'/profiles/*.yaml')+glob.glob(P+'/domains/*.yaml')+[P+'/data/trends-cache.yaml']; [yaml.safe_load(open(f)) for f in fs]; print('YAML OK', len(fs))"
๋ผ์ด์ ์ค: ๋ด๋ถ ์ฌ์ฉ.