๐ง Understand Anything โ ์์ ๋ถ์ ๊ฐ์ด๋
โ์ฝ๋๋ฅผ ์ฝ๋ ์๋๋ ๋๋ฌ๋ค. ์ด์ ๋ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ดํดํ๋ ์๋๋ค.โ
๐ ๊ฐ์
Understand Anything์ Lum1104๊ฐ ๊ฐ๋ฐํ ์คํ์์ค Claude Code ํ๋ฌ๊ทธ์ธ์ผ๋ก, ์ด๋ค ์ฝ๋๋ฒ ์ด์ค๋ ์ธํฐ๋ํฐ๋ธ ์ง์ ๊ทธ๋ํ(Interactive Knowledge Graph) ๋ก ๋ณํํด์ฃผ๋ ๋๊ตฌ์ ๋๋ค.
- ๐ GitHub: https://github.com/Lum1104/Understand-Anything
- ๐ ๋ผ์ด์ ์ค: MIT
- ๐ป ์ธ์ด: TypeScript (98.4%), CSS (1.3%), HTML (0.3%)
- โญ Stars: 5 (2026๋ 3์ ๊ธฐ์ค, ์ ๊ท ํ๋ก์ ํธ)
๐ฏ ์ด ๋๊ตฌ๊ฐ ํ์ํ ๋ฐฐ๊ฒฝ
ํ์ค์ ์ธ ๋ฌธ์
๊ฐ๋ฐ ํ์ฅ์์ ์ฝ๋ ์ดํด๋ ํญ์ ๊ณจ์นซ๊ฑฐ๋ฆฌ์์ต๋๋ค.
โ๋น์ ์ด ์ ํ์ ํฉ๋ฅํ์ต๋๋ค. ์ฝ๋๋ฒ ์ด์ค๋ 200,000์ค์ ๋๋ค. ์ด๋์๋ถํฐ ์์ํ๊ฒ ์ต๋๊น?โ
์ด๊ฒ์ด Understand Anything์ด ํด๊ฒฐํ๋ ค๋ ํต์ฌ ๋ฌธ์ ์ ๋๋ค.
์ฝ๋๋ฅผ ์ดํดํ๋ ๊ฒ์ ๋จ์ํ ์ฝ๋ ๊ฒ ์ด์์ ๋๋ค. ์ ํต์ ์ธ ๋ฐฉ์์ ๊ณ ํต์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ฌธ์๋ ํญ์ ์ค๋๋จ: ์ฝ๋๋ ๋ฐ๋์ง๋ง ๋ฌธ์๋ ๋ฐ๋ผ๊ฐ์ง ๋ชปํฉ๋๋ค.
- ์จ๋ณด๋ฉ์ ์ ์ฃผ ์์: ์ ๊ท ํ์์ด ํ๋ก์ ํธ๋ฅผ ํ์ ํ๋ ๋ฐ ๋ณดํต 2~4์ฃผ๊ฐ ๊ฑธ๋ฆฝ๋๋ค.
- ์ ๊ธฐ๋ฅ ์ถ๊ฐ = ๊ณ ๊ณ ํ: ๊ธฐ์กด ์ฝ๋์ ์ํฅ ๋ฒ์๋ฅผ ํ์ ํ๋ ๊ฒ์ด ๋ง์น ์ ๋ฌผ ๋ฐ๊ตด ๊ฐ์ต๋๋ค.
- LLM ๋๊ตฌ์ ๋งน์ : ChatGPT๋ Claude์๊ฒ ์ฝ๋ ์ง๋ฌธ์ ํด๋ ์ ์ฒด ๋งฅ๋ฝ์ด ์์ด ๋ต๋ณ์ด ๋ถ์ ํํฉ๋๋ค.
ํด๊ฒฐ์ฑ
Understand Anything์ LLM ์ธํ ๋ฆฌ์ ์ค + ์ ์ ๋ถ์(Static Analysis) ์ ๊ฒฐํฉํ์ฌ, ํ๋ก์ ํธ์ ์ด์์๋ ํ์ ๊ฐ๋ฅํ ์ง๋๋ฅผ ๋ง๋ค์ด๋ ๋๋ค. ๋ชจ๋ ๊ตฌ์ฑ ์์์ ์์ฐ์ด ์ค๋ช ์ด ํฌํจ๋ฉ๋๋ค.
๐บ๏ธ ์ ์ฒด ๋์ ํ๋ฆ
flowchart TD
A["์ฌ์ฉ์์ ์ฝ๋๋ฒ ์ด์ค<br/>ํ์ผ, ํจ์, ํด๋์ค, ์์กด์ฑ"] --> B["/understand ๋ช
๋ น ์คํ"]
B --> C{"๋ฉํฐ์์ด์ ํธ ํ์ดํ๋ผ์ธ"}
C --> D["project-scanner<br/>ํ์ผ ํ์ ๋ฐ ์ธ์ด/ํ๋ ์์ํฌ ๊ฐ์ง"]
C --> E["file-analyzer<br/>ํจ์/ํด๋์ค/์ํฌํธ ์ถ์ถ<br/>๊ทธ๋ํ ๋
ธ๋ ๋ฐ ์ฃ์ง ์์ฑ"]
C --> F["architecture-analyzer<br/>์ํคํ
์ฒ ๋ ์ด์ด ์๋ณ"]
C --> G["tour-builder<br/>๊ฐ์ด๋ ํ์ต ํฌ์ด ์์ฑ"]
C --> H["graph-reviewer<br/>๊ทธ๋ํ ์์ ์ฑ ๋ฐ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ"]
D & E & F & G & H --> I["knowledge-graph.json<br/>.understand-anything/ ๋๋ ํฐ๋ฆฌ์ ์ ์ฅ"]
I --> J["/understand-dashboard<br/>์ธํฐ๋ํฐ๋ธ ์น ๋์๋ณด๋ ์คํ"]
J --> K["React Flow ๊ธฐ๋ฐ ์๊ฐํ<br/>์์ ์ฝ๋ฉ๋ ์ํคํ
์ฒ ๋ ์ด์ด<br/>ํด๋ฆญ ๊ฐ๋ฅํ ๋
ธ๋"]
K --> L["/understand-chat<br/>์์ฐ์ด ์ง์์๋ต"]
K --> M["/understand-diff<br/>๋ณ๊ฒฝ ์ํฅ ๋ถ์"]
K --> N["/understand-explain<br/>ํน์ ํ์ผ/ํจ์ ์ฌ์ธต ๋ถ์"]
K --> O["/understand-onboard<br/>์จ๋ณด๋ฉ ๊ฐ์ด๋ ์๋ ์์ฑ"]
๐ง ํต์ฌ ๋ช ๋ น์ด ์์ ํด์ค
1. /understand โ ์ฝ๋๋ฒ ์ด์ค ์ ์ฒด ๋ถ์
๊ฐ์ฅ ๊ธฐ๋ณธ์ด ๋๋ ๋ช ๋ น์ ๋๋ค. ์คํํ๋ฉด ๋ฉํฐ์์ด์ ํธ ํ์ดํ๋ผ์ธ์ด ๊ฐ๋๋๋ฉฐ ํ๋ก์ ํธ ์ ์ฒด๋ฅผ ์ค์บํฉ๋๋ค.
์ฒ๋ฆฌ ๊ณผ์ :
- ๋ชจ๋ ํ์ผ์ ํ์ํ๊ณ ์ฌ์ฉ ์ธ์ด ๋ฐ ํ๋ ์์ํฌ๋ฅผ ์๋ ๊ฐ์งํฉ๋๋ค.
- ๊ฐ ํ์ผ์์ ํจ์, ํด๋์ค, ์ํฌํธ ๊ตฌ์กฐ๋ฅผ ์ถ์ถํฉ๋๋ค.
- ํ์ผ ๋ถ์๊ธฐ๋ ์ต๋ 3๊ฐ๊ฐ ๋ณ๋ ฌ๋ก ์คํ๋์ด ์ฒ๋ฆฌ ์๋๋ฅผ ๋์ ๋๋ค.
- ๊ฒฐ๊ณผ๋ฌผ์
.understand-anything/knowledge-graph.json์ ์ ์ฅ๋ฉ๋๋ค. - ์ฆ๋ถ ์ ๋ฐ์ดํธ(Incremental Update) ์ง์: ๋ง์ง๋ง ์คํ ์ดํ ๋ณ๊ฒฝ๋ ํ์ผ๋ง ์ฌ๋ถ์ํ๋ฏ๋ก ๋ํ ํ๋ก์ ํธ์์๋ ๋น ๋ฆ ๋๋ค.
2. /understand-dashboard โ ์ธํฐ๋ํฐ๋ธ ๋์๋ณด๋
์ง์ ๊ทธ๋ํ๋ฅผ ์๊ฐ์ ์ผ๋ก ํ์ํ ์ ์๋ ์น ๋์๋ณด๋๋ฅผ ์คํํฉ๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ:
- ์์ ์ฝ๋ฉ: ์ํคํ ์ฒ ๋ ์ด์ด(API, Service, Data, UI, Utility)๋ณ๋ก ์์ด ๋ค๋ฆ ๋๋ค.
- ํด๋ฆญ ํ์: ๋ ธ๋๋ฅผ ํด๋ฆญํ๋ฉด ํด๋น ์ฝ๋, ๊ด๊ณ, ์์ฐ์ด ์ค๋ช ์ด ํ์๋ฉ๋๋ค.
- ๊ฒ์: ์ด๋ฆ ๋๋ ์๋ฏธ๋ก ํผ์ง ๊ฒ์ ๋ฐ ์๋งจํฑ ๊ฒ์ ๋ชจ๋ ์ง์ํฉ๋๋ค.
- ํ๋ฅด์๋ ์ ์ํ UI: ์ฃผ๋์ด ๊ฐ๋ฐ์, PM, ํ์์ ์ ์ ๋ฐ๋ผ ์์ธ ์์ค์ด ์๋ ์กฐ์ ๋ฉ๋๋ค.
3. /understand-chat โ ์์ฐ์ด ์ง์์๋ต
1
2
3
/understand-chat How does the payment flow work?
/understand-chat ์ธ์ฆ ๋ก์ง์ด ์ด๋์ ๊ตฌํ๋์ด ์๋์?
/understand-chat ์ด ์๋น์ค์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ์ด๋ป๊ฒ ๊ด๋ฆฌ๋๋์?
์ฝ๋๋ฒ ์ด์ค ์ ๋ฐ์ ๋ํด ์์ฐ์ด๋ก ์ง๋ฌธํ๋ฉด, LLM์ด ์ง์ ๊ทธ๋ํ๋ฅผ ๊ทผ๊ฑฐ๋ก ์ ํํ ๋ต๋ณ์ ์ ๊ณตํฉ๋๋ค. ์ผ๋ฐ์ ์ธ LLM๊ณผ ๋ฌ๋ฆฌ, ์ค์ ์ฝ๋ ๊ตฌ์กฐ์ ๊ธฐ๋ฐํ ๋ต๋ณ์ด ๊ฐ๋ฅํฉ๋๋ค.
4. /understand-diff โ ๋ณ๊ฒฝ ์ํฅ ๋ถ์
ํ์ฌ ๋ณ๊ฒฝ ์ฌํญ์ด ์์คํ ์ ์ฒด์ ์ด๋ค ์ํฅ์ ๋ฏธ์น๋์ง ์ปค๋ฐ ์ ์ ๋ฏธ๋ฆฌ ํ์ธํฉ๋๋ค.
ํ์ฉ ์๋๋ฆฌ์ค:
- ์ฝ๋ ๋ฆฌ๋ทฐ ์ ์ํฅ ๋ฒ์ ์ฌ์ ํ์
- ๋ฆฌํฉํ ๋ง ์ ์์์น ๋ชปํ ์ฌ์ด๋ ์ดํํธ ์๋ฐฉ
- ์์กด์ฑ ์ฒด์ธ์ ๋ฐ๋ผ ํ๊ธ ํจ๊ณผ(Ripple Effect) ์๊ฐํ
5. /understand-explain โ ํน์ ๋ชจ๋ ์ฌ์ธต ๋ถ์
1
2
/understand-explain src/auth/login.ts
/understand-explain components/UserProfile.tsx
ํน์ ํ์ผ์ด๋ ํจ์๋ฅผ ์ง์ ํด ๊ทธ ์ญํ , ์์กด์ฑ, ์ฌ์ฉ ํจํด์ ์์ธํ ์ค๋ช ๋ฐ์ต๋๋ค.
6. /understand-onboard โ ์จ๋ณด๋ฉ ๊ฐ์ด๋ ์๋ ์์ฑ
์ ๊ท ํ์์ ์ํ ์จ๋ณด๋ฉ ๋ฌธ์๋ฅผ ์๋์ผ๋ก ์์ฑํฉ๋๋ค. ์ํคํ ์ฒ ๊ฐ์๋ถํฐ ํต์ฌ ๋ชจ๋ ์ค๋ช ๊น์ง, ์์กด์ฑ ์์์ ๋ฐ๋ผ ํ์ต ์์๋ฅผ ์ ๋ ฌํด์ค๋๋ค.
๐๏ธ ๋ด๋ถ ์ํคํ ์ฒ ์ฌ์ธต ๋ถ์
๋ฉํฐ์์ด์ ํธ ํ์ดํ๋ผ์ธ
graph LR
subgraph ๋ฉํฐ์์ด์ ํธ ํ์ดํ๋ผ์ธ
direction TB
A[project-scanner] --> |ํ์ผ ๋ชฉ๋ก, ์ธ์ด ๊ฐ์ง| B
B[file-analyzer x3<br/>๋ณ๋ ฌ ์ฒ๋ฆฌ] --> |๋
ธ๋ & ์ฃ์ง| C
C[architecture-analyzer] --> |๋ ์ด์ด ๋ถ๋ฅ| D
D[tour-builder] --> |ํ์ต ํฌ์ด| E
E[graph-reviewer] --> |๊ฒ์ฆ๋ ๊ทธ๋ํ| F
end
F[(knowledge-graph.json)]
| ์์ด์ ํธ | ์ญํ | ์ฃผ์ ์ถ๋ ฅ |
|---|---|---|
project-scanner | ํ์ผ ํ์, ์ธ์ด/ํ๋ ์์ํฌ ๊ฐ์ง | ํ์ผ ๋ชฉ๋ก, ๋ฉํ๋ฐ์ดํฐ |
file-analyzer | ํจ์, ํด๋์ค, ์ํฌํธ ์ถ์ถ | ๊ทธ๋ํ ๋ ธ๋ ๋ฐ ์ฃ์ง |
architecture-analyzer | ์ํคํ ์ฒ ๋ ์ด์ด ์๋ณ | ๋ ์ด์ด ๋ถ๋ฅ ์ ๋ณด |
tour-builder | ๊ฐ์ด๋ ํฌ์ด ์์ฑ | ์์ํ๋ ํ์ต ๊ฒฝ๋ก |
graph-reviewer | ์์ ์ฑ ๋ฐ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ | ๊ฒ์ฆ๋ ์ต์ข ๊ทธ๋ํ |
ํ๋ก์ ํธ ๊ตฌ์กฐ
graph TD
Root[understand-anything-plugin/] --> A[.claude-plugin/<br/>ํ๋ฌ๊ทธ์ธ ๋งค๋ํ์คํธ]
Root --> B[agents/<br/>์ ๋ฌธ AI ์์ด์ ํธ]
Root --> C[skills/<br/>์คํฌ ์ ์<br/>/understand, /chat ๋ฑ]
Root --> D[src/<br/>TypeScript ์์ค<br/>context-builder, diff-analyzer]
Root --> E[packages/]
E --> F[core/<br/>๋ถ์ ์์ง<br/>types, persistence,<br/>tree-sitter, search,<br/>schema, tours]
E --> G[dashboard/<br/>React + TypeScript<br/>์น ๋์๋ณด๋]
๊ธฐ์ ์คํ
mindmap
root((Understand Anything))
๋ฐฑ์๋/๋ถ์
TypeScript
pnpm workspaces
web-tree-sitter
Zod ์คํค๋ง ๊ฒ์ฆ
Dagre ๊ทธ๋ํ ๋ ์ด์์
ํ๋ก ํธ์๋ ๋์๋ณด๋
React 18
Vite
TailwindCSS v4
React Flow
Zustand ์ํ๊ด๋ฆฌ
๊ฒ์
Fuse.js ํผ์ง ๊ฒ์
์๋งจํฑ ๊ฒ์
AI
Claude Code LLM
๋ฉํฐ์์ด์ ํธ ํ์ดํ๋ผ์ธ
๐ฏ ๋์ ์ฌ์ฉ์๋ณ ํ์ฉ๋ฒ
๐ฉโ๐ป ์ฃผ๋์ด ๊ฐ๋ฐ์
๊ณ ํต ํฌ์ธํธ: ๋ฏ์ ์ฝ๋์ ์๋๋๊ณ , ์ด๋์๋ถํฐ ์์ํด์ผ ํ ์ง ๋ชจ๋ฆ.
ํ์ฉ ๋ฐฉ๋ฒ:
/understand๋ก ์ ์ฒด ์ค์บ/understand-dashboard๋ก ์ํคํ ์ฒ ์ ์ฒด ๊ทธ๋ฆผ ํ์/understand-onboard๋ก ๋จ๊ณ๋ณ ํ์ต ๊ฐ์ด๋ ์์ฑ- ๋ชจ๋ฅด๋ ๋ถ๋ถ์
/understand-explain ํ์ผ๊ฒฝ๋ก๋ก ์์ธ ์ค๋ช ์์ฒญ
๐ PM / ๋์์ด๋
๊ณ ํต ํฌ์ธํธ: ์ฝ๋๋ฅผ ์ฝ์ง ์๊ณ ๋ ์์คํ ์ด ์ค์ ๋ก ์ด๋ป๊ฒ ๋์ํ๋์ง ์ดํดํ๊ณ ์ถ์.
ํ์ฉ ๋ฐฉ๋ฒ:
/understand-chat "์ธ์ฆ์ ์ด๋ป๊ฒ ๋์ํ๋์?"์ฒ๋ผ ์์ฐ์ด๋ก ์ง๋ฌธ- ๋์๋ณด๋์์ ๋น๊ธฐ์ ์ ์ค๋ช (plain-English summaries)์ผ๋ก ์์คํ ํ์
- ๊ธฐ๋ฅ ์์ฒญ ์
/understand-chat "์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ฉด ์ด๋ค ๋ถ๋ถ์ด ์ํฅ๋ฐ๋์?"ํ์ธ
๐ค AI ํ์ฉ ๊ฐ๋ฐ์
๊ณ ํต ํฌ์ธํธ: AI ๋๊ตฌ์ ์ฝ๋ ๋งฅ๋ฝ์ ์ ๋๋ก ์ ๊ณตํ์ง ๋ชปํด ๋ถ์ ํํ ๋ต๋ณ์ ๋ฐ์.
ํ์ฉ ๋ฐฉ๋ฒ:
/understand-diff๋ก ์ฝ๋ ๋ฆฌ๋ทฐ ์ ์ํฅ ๋ถ์/understand-explain์ผ๋ก ํน์ ๋ชจ๋ ์ฌ์ธต ์ดํด/understand-chat์ผ๋ก ์ํคํ ์ฒ ์์ฌ๊ฒฐ์ ์ ๋ํ ์ง์์๋ต
๐ ๋ฉํฐํ๋ซํผ ์ง์
Understand Anything์ Claude Code์๋ง ๊ตญํ๋์ง ์๊ณ ๋ค์ํ AI ์ฝ๋ฉ ํ๋ซํผ์ ์ง์ํฉ๋๋ค.
graph TD
UA[Understand Anything ํ๋ฌ๊ทธ์ธ] --> CC[Claude Code<br/>โ
๋ค์ดํฐ๋ธ ์ง์<br/>ํ๋ฌ๊ทธ์ธ ๋ง์ผํ๋ ์ด์ค]
UA --> CX[Codex<br/>โ
์ง์<br/>AI ์ฃผ๋ ์ค์น]
UA --> OC[OpenCode<br/>โ
์ง์<br/>opencode.json ์ค์ ]
UA --> OCL[OpenClaw<br/>โ
์ง์<br/>AI ์ฃผ๋ ์ค์น]
UA --> CUR[Cursor<br/>โ
์ง์<br/>์๋ ํ์<br/>.cursor-plugin/plugin.json]
UA --> AG[Antigravity<br/>โ
์ง์<br/>AI ์ฃผ๋ ์ค์น]
ํ๋ซํผ๋ณ ์ค์น ๋ฐฉ๋ฒ
Claude Code (๋ค์ดํฐ๋ธ)
1
2
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
Codex
1
2
Fetch and follow instructions from
https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.codex/INSTALL.md
OpenCode (opencode.json ์์ )
1
2
3
{
"plugin": ["understand-anything@git+https://github.com/Lum1104/Understand-Anything.git"]
}
Cursor
- ์ ์ฅ์๋ฅผ ํด๋ก ํ๋ฉด
.cursor-plugin/plugin.json์ ํตํด ์๋ ํ์๋จ. ๋ณ๋ ์ค์น ๋ถํ์.
OpenClaw / Antigravity
- ๊ฐ ํ๋ซํผ์ INSTALL.md URL์ AI์๊ฒ ์ ๋ฌํ์ฌ ์ค์น ์งํ.
โจ ์ฃผ์ ๊ธฐ๋ฅ ์์ธ
๐บ๏ธ ์ธํฐ๋ํฐ๋ธ ์ง์ ๊ทธ๋ํ
React Flow ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ๋ ์๊ฐํ ๋์๋ณด๋์ ๋๋ค. ํ์ผ, ํจ์, ํด๋์ค ๋ฐ ๊ทธ ๊ด๊ณ๊ฐ ๊ทธ๋ํ ํํ๋ก ํ์๋ฉ๋๋ค. ๋ ธ๋๋ฅผ ํด๋ฆญํ๋ฉด ํด๋น ์ฝ๋์ ์ฐ๊ฒฐ ๊ด๊ณ, LLM์ด ์์ฑํ ์์ฐ์ด ์ค๋ช ์ด ํจ๊ป ํ์๋ฉ๋๋ค.
๐ฌ ์์ฐ์ด ์ค๋ช (Plain-English Summaries)
๊ธฐ์ ์ ์ด๋ ๋น๊ธฐ์ ์ ์ด๋ ๋๊ตฌ๋ ์ดํดํ ์ ์๋๋ก, ๋ชจ๋ ์ฝ๋ ๊ตฌ์ฑ ์์์ LLM์ด ์์ฑํ ์ค๋ช ์ด ๋ถ์ด ์์ต๋๋ค. โ์ด ํจ์๊ฐ ๋ฌด์์ ํ๋๊ฐ?โ ๊ฐ์ ๋จ์ํ ์ง๋ฌธ์๋ ์ฆ์ ๋ต์ด ๋์ต๋๋ค.
๐งญ ๊ฐ์ด๋ ํฌ์ด
์ํคํ ์ฒ์ ์์กด์ฑ ์์์ ๋ฐ๋ผ ์๋์ผ๋ก ํ์ต ์์๋ฅผ ์์ฑํฉ๋๋ค. ํต์ฌ ๊ธฐ๋ฐ ๋ชจ๋๋ถํฐ ์์ํด ์ ์ง์ ์ผ๋ก ์์ ๋ ์ด์ด๋ก ์ฌ๋ผ๊ฐ๋ฉฐ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ํ์ตํ ์ ์์ต๋๋ค.
๐ ํผ์ง & ์๋งจํฑ ๊ฒ์
์ด๋ฆ์ผ๋ก ๊ฒ์(Fuse.js ๊ธฐ๋ฐ ํผ์ง ๊ฒ์)ํ๊ฑฐ๋ ์๋ฏธ๋ก ๊ฒ์(์๋งจํฑ ๊ฒ์)ํ ์ ์์ต๋๋ค. "auth ๊ด๋ จ ๋ถ๋ถ์ด ์ด๋ ์์ง?" ๊ฐ์ ์์ฐ์ด ๊ฒ์๋ ์ง์ํฉ๋๋ค.
๐ Diff ์ํฅ ๋ถ์
ํ์ฌ ์์ ์ค์ธ ์ฝ๋๊ฐ ์์คํ ์ ์ฒด์ ๋ฏธ์น๋ ์ํฅ์ ์ปค๋ฐ ์ ์ ๋ฏธ๋ฆฌ ํ์ธํฉ๋๋ค. ํ๊ธ ํจ๊ณผ(Ripple Effect)๋ฅผ ๊ทธ๋ํ ์์ ์๊ฐํํด์ค๋๋ค.
๐ญ ํ๋ฅด์๋ ์ ์ํ UI
์ฌ์ฉ์ ์ ํ(์ฃผ๋์ด ๊ฐ๋ฐ์, PM, ํ์์ ์ )์ ๋ฐ๋ผ ๋์๋ณด๋์ ์์ธ ์์ค์ด ์๋์ผ๋ก ์กฐ์ ๋ฉ๋๋ค. ๊ฐ์ ํ๋ก์ ํธ๋ผ๋ ๋ค๋ฅธ ์๊ฐ์ผ๋ก ๋ณผ ์ ์์ต๋๋ค.
๐๏ธ ๋ ์ด์ด ์๊ฐํ
์ฝ๋๋ฅผ ์๋์ผ๋ก ์ํคํ ์ฒ ๋ ์ด์ด๋ก ๋ถ๋ฅํฉ๋๋ค. API, Service, Data, UI, Utility ๋ ์ด์ด๋ฅผ ์์์ผ๋ก ๊ตฌ๋ถํ์ฌ ์ ์ฒด ๊ตฌ์กฐ๋ฅผ ํ๋์ ํ์ ํ ์ ์์ต๋๋ค.
graph BT
subgraph ์ํคํ
์ฒ ๋ ์ด์ด ์๊ฐํ
U[๐ฆ Utility Layer<br/>์ ํธ๋ฆฌํฐ / ํฌํผ]
D[๐ฉ Data Layer<br/>๋ฐ์ดํฐ / ๋ชจ๋ธ]
S[๐จ Service Layer<br/>๋น์ฆ๋์ค ๋ก์ง]
A[๐ง API Layer<br/>์ธ๋ถ ์ธํฐํ์ด์ค]
UI[๐ช UI Layer<br/>ํ๋ก ํธ์๋ ์ปดํฌ๋ํธ]
U --> D --> S --> A
S --> UI
end
๐ ์ธ์ด ๊ฐ๋ ์ค๋ช
์ ๋๋ฆญ(Generics), ํด๋ก์ (Closures), ๋ฐ์ฝ๋ ์ดํฐ(Decorators) ๋ฑ 12๊ฐ์ง ํ๋ก๊ทธ๋๋ฐ ํจํด์ ์ฝ๋ ๋ฌธ๋งฅ ์์์ ์ค๋ช ํด์ค๋๋ค. ๋ฏ์ ํจํด์ ๋ง๋ฌ์ ๋ ์ฆ์ ๊ฐ๋ ์ ์ดํดํ ์ ์์ต๋๋ค.
๐ ๋น ๋ฅธ ์์ ์ฒดํฌ๋ฆฌ์คํธ
flowchart LR
A[โ
1. ํ๋ฌ๊ทธ์ธ ์ค์น<br/>/plugin marketplace add<br/>Lum1104/Understand-Anything] --> B
B[โ
2. ์ฝ๋๋ฒ ์ด์ค ๋ถ์<br/>/understand] --> C
C[โ
3. ๋์๋ณด๋ ์คํ<br/>/understand-dashboard] --> D
D[โ
4. ์์ ๋กญ๊ฒ ํ์<br/>/understand-chat<br/>/understand-diff<br/>/understand-explain<br/>/understand-onboard]
๐ฌ ๊ธฐ์ ์ ์ธ๋ถ ์ฌํญ
์ง์ ๊ทธ๋ํ ๊ตฌ์กฐ
erDiagram
NODE {
string id PK
string name
string type "file, function, class"
string filePath
string summary "LLM ์์ฑ ์์ฐ์ด ์ค๋ช
"
string layer "API, Service, Data, UI, Utility"
string[] concepts "์ ์ฉ๋ ํ๋ก๊ทธ๋๋ฐ ํจํด"
}
EDGE {
string id PK
string sourceId FK
string targetId FK
string type "imports, calls, extends, implements"
}
TOUR {
string id PK
string title
string[] nodeIds FK
string description
}
NODE ||--o{ EDGE : "has"
NODE }|--o{ TOUR : "included in"
์ฆ๋ถ ์ ๋ฐ์ดํธ ๋ฉ์ปค๋์ฆ
๋๊ท๋ชจ ์ฝ๋๋ฒ ์ด์ค์์ ๋งค๋ฒ ์ ์ฒด๋ฅผ ์ฌ๋ถ์ํ๋ ๊ฒ์ ๋นํจ์จ์ ์ ๋๋ค. Understand Anything์ ํ์ผ์ ๋ณ๊ฒฝ ํ์์คํฌํ๋ฅผ ์ถ์ ํ์ฌ ๋ง์ง๋ง ์คํ ์ดํ ๋ณ๊ฒฝ๋ ํ์ผ๋ง ์ฌ๋ถ์ํฉ๋๋ค. ์ด๊ธฐ ๋ถ์ ํ ์ผ์์ ์ธ ๊ฐ๋ฐ ์ฌ์ดํด์์๋ ๋งค์ฐ ๋น ๋ฅด๊ฒ ์ง์ ๊ทธ๋ํ๋ฅผ ์ต์ ์ํ๋ก ์ ์งํ ์ ์์ต๋๋ค.
๐ ๊ธฐ์กด ๋๊ตฌ๋ค๊ณผ์ ๋น๊ต
| ๊ธฐ๋ฅ | Understand Anything | ์ผ๋ฐ ๋ฌธ์ | IDE ์ฝ๋ ํ์ | ์ผ๋ฐ LLM |
|---|---|---|---|---|
| ์ ์ฒด ์ํคํ ์ฒ ์๊ฐํ | โ | โ | โ | โ |
| ์์ฐ์ด ์ง์์๋ต | โ | โ | โ | โ (๋งฅ๋ฝ ์์) |
| ์ฝ๋ ๋ณ๊ฒฝ ์ํฅ ๋ถ์ | โ | โ | ๋ถ๋ถ์ | โ |
| ์๋ ์จ๋ณด๋ฉ ๊ฐ์ด๋ | โ | โ | โ | โ |
| ํญ์ ์ต์ ์ํ ์ ์ง | โ (์ฆ๋ถ ์ ๋ฐ์ดํธ) | โ | โ | N/A |
| ๋น๊ธฐ์ ์ง๊ตฐ๋ ์ฌ์ฉ ๊ฐ๋ฅ | โ | ๋ถ๋ถ์ | โ | ๋ถ๋ถ์ |
๐ก ์ค์ ์ฌ์ฉ ์๋๋ฆฌ์ค
์๋๋ฆฌ์ค 1: ์ ๊ท ํ์ ์จ๋ณด๋ฉ
1
2
3
4
5
6
7
8
9
10
11
# 1. ์ ์ฒด ๋ถ์
/understand
# 2. ์จ๋ณด๋ฉ ๊ฐ์ด๋ ์์ฑ
/understand-onboard
# 3. ๋ชจ๋ฅด๋ ๋ถ๋ถ ์ง๋ฌธ
/understand-chat ์ด ํ๋ก์ ํธ์ ํต์ฌ ๋น์ฆ๋์ค ๋ก์ง์ ์ด๋์ ์๋์?
# 4. ํน์ ๋ชจ๋ ์ฌ์ธต ๋ถ์
/understand-explain src/core/engine.ts
์๋๋ฆฌ์ค 2: ๋ฒ๊ทธ ์์ ์ ์ํฅ ๋ฒ์ ํ์
1
2
3
4
5
# ๋ณ๊ฒฝ ์ฌํญ์ ๋ง๋ ํ
/understand-diff
# ์ํฅ๋ฐ๋ ๋ชจ๋ ํ์ธ ํ ๊ด๋ จ ์ฝ๋ ์ดํด
/understand-explain src/affected/module.ts
์๋๋ฆฌ์ค 3: ์ ๊ธฐ๋ฅ ์ค๊ณ
1
2
3
4
5
# ๊ธฐ์กด ์ํคํ
์ฒ ํ์
/understand-chat ํ์ฌ ๊ฒฐ์ ์์คํ
์ ์ด๋ป๊ฒ ๊ตฌ์ฑ๋์ด ์๋์?
# ์ถ๊ฐํ ์์น ๊ฒฐ์
/understand-chat ์ ๊ฒฐ์ ์๋จ์ ์ถ๊ฐํ๋ ค๋ฉด ์ด๋ค ํ์ผ์ ์์ ํด์ผ ํ๋์?
๐ ๊ฐ๋ฐ ํ๊ฒฝ ์ค์
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# ์ ์ฅ์ ํด๋ก
git clone https://github.com/Lum1104/Understand-Anything.git
cd Understand-Anything
# ์์กด์ฑ ์ค์น
pnpm install
# ์ฝ์ด ํจํค์ง ๋น๋
pnpm --filter @understand-anything/core build
# ์ฝ์ด ํ
์คํธ ์คํ
pnpm --filter @understand-anything/core test
# ํ๋ฌ๊ทธ์ธ ํจํค์ง ๋น๋
pnpm --filter @understand-anything/skill build
# ๋์๋ณด๋ ๋น๋
pnpm --filter @understand-anything/dashboard build
# ๋์๋ณด๋ ๊ฐ๋ฐ ์๋ฒ ์คํ
pnpm dev:dashboard
๐ค ๊ธฐ์ฌ ๋ฐฉ๋ฒ
- ์ ์ฅ์๋ฅผ Forkํฉ๋๋ค.
- ํผ์ฒ ๋ธ๋์น๋ฅผ ์์ฑํฉ๋๋ค:
git checkout -b feature/my-feature - ํ
์คํธ๋ฅผ ์คํํฉ๋๋ค:
pnpm --filter @understand-anything/core test - ๋ณ๊ฒฝ ์ฌํญ์ ์ปค๋ฐํ๊ณ Pull Request๋ฅผ ์ฝ๋๋ค.
์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ฌ์ ์ Issue๋ฅผ ์ด์ด ๋ ผ์ํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
๐ฎ ์์ ๋ฐ ์ ๋ง
Understand Anything์ ๋จ์ํ ์ฝ๋ ๋ถ์ ๋๊ตฌ๋ฅผ ๋์ด, ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ธ๊ฐ์ด ์ดํดํ ์ ์๋ ์ง์์ผ๋ก ๋ณํํ๋ ์๋ก์ด ํจ๋ฌ๋ค์์ ์ ์ํฉ๋๋ค.
- AI ์๋์ ์ฝ๋ ์ดํด: LLM๊ณผ ์ ์ ๋ถ์์ ๊ฒฐํฉ์ผ๋ก ๊ธฐ์กด์ ๋ถ๊ฐ๋ฅํ๋ ์์ค์ ์ฝ๋ ์ดํด๊ฐ ๊ฐ๋ฅํด์ง๋๋ค.
- ๋ฏผ์ฃผํ๋ ์ฝ๋ ์ ๊ทผ์ฑ: ๊ฐ๋ฐ์๊ฐ ์๋ PM, ๋์์ด๋๋ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ดํดํ ์ ์๊ฒ ๋ฉ๋๋ค.
- ๋ฉํฐํ๋ซํผ ํ์ฅ์ฑ: Claude Code ์ธ์๋ Codex, Cursor ๋ฑ ๋ค์ํ ํ๋ซํผ์ ์ง์ํจ์ผ๋ก์จ ๊ด๋ฒ์ํ ์ฑํ ๊ฐ๋ฅ์ฑ์ ์ด์ด๋๊ณ ์์ต๋๋ค.
๐ ์ฐธ๊ณ ๋งํฌ
- GitHub ์ ์ฅ์: https://github.com/Lum1104/Understand-Anything
- Claude Code ๊ณต์ ๋ฌธ์: https://docs.anthropic.com/en/docs/claude-code
- ์๊ฐ ํธ์: https://x.com/_vmlops/status/2035174281475498139
์์ฑ์ผ: 2026๋
3์ 22์ผ
๋ผ์ด์ ์ค: MIT License ยฉ Lum1104
โ์ฝ๋๋ฅผ ์ฝ๋ ๊ฒ์ ๋ฉ์ถ๊ณ , ๋ชจ๋ ๊ฒ์ ์ดํดํ๊ธฐ ์์ํ์ธ์.โ