From codeaware
์ฝ๋์ AI ์ดํด๋๋ฅผ 6๋จ๊ณ ์ฒ๋๋ก ์ง๋จํฉ๋๋ค. '/codeaware:scan' ๋๋ '/codeaware:scan path/to/file' ๋ก ์คํ. ์ธ์ ์์ด ์คํํ๋ฉด ํ์ฌ ํ๋ก์ ํธ ์ ์ฒด๋ฅผ ์ค์บํฉ๋๋ค.
npx claudepluginhub giwonn/giwonn-plugins --plugin codeawareThis skill uses the workspace's default tool permissions.
์ฝ๋์ AI ์ดํด๋(AI Comprehensibility)๋ฅผ 6๋จ๊ณ ์ฒ๋๋ก ์ง๋จํ๊ณ , AI๊ฐ ์ฝ๋ ๋งฅ๋ฝ์ ๋ถ์ํ์ฌ ์คํ ํํฐ๋ง ๋ฐ ์ข ํฉ ์๊ฒฌ์ ์ ๊ณตํฉ๋๋ค.
Implements Playwright E2E testing patterns: Page Object Model, test organization, configuration, reporters, artifacts, and CI/CD integration for stable suites.
Guides Next.js 16+ Turbopack for faster dev via incremental bundling, FS caching, and HMR; covers webpack comparison, bundle analysis, and production builds.
Discovers and evaluates Laravel packages via LaraPlugins.io MCP. Searches by keyword/feature, filters by health score, Laravel/PHP compatibility; fetches details, metrics, and version history.
์ฝ๋์ AI ์ดํด๋(AI Comprehensibility)๋ฅผ 6๋จ๊ณ ์ฒ๋๋ก ์ง๋จํ๊ณ , AI๊ฐ ์ฝ๋ ๋งฅ๋ฝ์ ๋ถ์ํ์ฌ ์คํ ํํฐ๋ง ๋ฐ ์ข ํฉ ์๊ฒฌ์ ์ ๊ณตํฉ๋๋ค.
scan_file MCP tool ํธ์ถscan_project MCP tool ํธ์ถscan_project MCP tool ํธ์ถMCP ๋๊ตฌ์ regex ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ ํ, ๋ค์ ์ ์ฐจ๋ก AI 2์ฐจ ํ๋จ์ ์ํํ์ธ์.
scan_file ๊ฒฐ๊ณผ์์ evidence๊ฐ 1๊ฐ ์ด์์ด๋ฉด AI ํ๋จ ์ํevidence๊ฐ ์์ผ๋ฉด AI ํ๋จ์ ์๋ตํ๊ณ ๊ธฐ์กด ํ์๋๋ก ์ถ๋ ฅํฉ๋๋ค.
scan_project ๊ฒฐ๊ณผ์ worstFiles (level ๋์ ์ ์ ๋ ฌ๋จ)์์ ์์ 10๊ฐ๋ฅผ AI ํ๋จ ๋์์ผ๋ก ์ ํ์ฌ์ฉ์์ ๋ํ ์ธ์ด์ ๋ง์ถฐ ์ถ๋ ฅํ์ธ์. ํ๊ตญ์ด๋ก ๋ํ ์ค์ด๋ฉด ์๊ทธ๋ ์ด๋ฆ, ์ฌ๊ฐ๋, ํ์ ๋ฑ ๋ชจ๋ ํญ๋ชฉ์ ํ๊ตญ์ด๋ก ํ์ํฉ๋๋ค.
magic_number โ ๋งค์ง ๋๋ฒhardcoded_date โ ํ๋์ฝ๋ฉ๋ ๋ ์งorder_dependent_init โ ์์ ์์กด ์ด๊ธฐํunexplained_catch โ ์ค๋ช
์๋ catchunexplained_value_comparison โ ์ค๋ช
์๋ ๊ฐ ๋น๊ตenv_specific_branch โ ํ๊ฒฝ๋ณ ๋ถ๊ธฐcommented_out_code โ ์ฃผ์ ์ฒ๋ฆฌ๋ ์ฝ๋todo_without_ticket โ ํฐ์ผ ์๋ TODOgeneric_name โ ๋ฒ์ฉ์ ์ด๋ฆsingle_letter_name โ ํ ๊ธ์ ์ด๋ฆinconsistent_casing โ ๋ค์ด๋ฐ ๊ท์น ํผ์ฌundocumented_export โ ๋ฌธ์ ์๋ exportuncommented_complex_condition โ ์ค๋ช
์๋ ๋ณต์ก ์กฐ๊ฑดunexplained_regex โ ์ค๋ช
์๋ ์ ๊ท์mixed_export_styles โ export ์คํ์ผ ํผ์ฌinconsistent_error_handling โ ์๋ฌ ์ฒ๋ฆฌ ๋ถ์ผ์นhigh_function_length_variance โ ํจ์ ๊ธธ์ด ํธ์ฐจ ํผhigh_import_count โ import ๊ณผ๋คglobal_state_access โ ์ ์ญ ์ํ ์ ๊ทผdeep_relative_import โ ๊น์ ์๋๊ฒฝ๋ก importunclear_test_name โ ๋ถ๋ช
ํํ ํ
์คํธ ์ด๋ฆmagic_value_in_test โ ํ
์คํธ ๋ด ๋งค์ง ๊ฐno_edge_case_tests โ ์ฃ์ง ์ผ์ด์ค ํ
์คํธ ๋ถ์ฌhigh โ ๋์medium โ ๋ณดํตlow โ ๋ฎ์๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ผ๋ฉด ๋ค์ ํ์์ผ๋ก ์ฌ์ฉ์์๊ฒ ๋ณด๊ณ ํ์ธ์:
## [ํ์ผ๋ช
] โ Level X: [Label]
| ์ฐจ์ | ์ ์ | ์๊ทธ๋ |
|------|------|--------|
| ... | ... | ... |
### AI ๋ถ์
#### Evidence ํ์
| # | Line | ์๊ทธ๋ | Regex ์ฌ๊ฐ๋ | AI ํ์ | ์ด์ |
|---|------|--------|-------------|---------|------|
| 1 | 42 | ๋งค์ง ๋๋ฒ | ๋์ | ์คํ | ์์ RETRY_COUNT์ ํ ๋น๋ ๊ฐ |
| 2 | 87 | ์ค๋ช
์๋ catch | ๋์ | ํ์ธ๋จ | ์๋ฌ ํ์
๋ณ ๋ถ๊ธฐ ์ด์ ๋ถ๋ช
|
| 3 | 120 | ๋งค์ง ๋๋ฒ | ๋์ | ์ฌ๊ฐ๋ ์กฐ์ โ๋ณดํต | ํ
์คํธ fixture |
#### ์ข
ํฉ ์๊ฒฌ
์ด ํ์ผ์ calculatePrice() ํจ์์๋ ํ ์ธ์จ ๊ณ์ฐ์ด ๋งค์ง ๋๋ฒ๋ก ์ธ์ฝ๋ฉ๋์ด ์์ต๋๋ค.
๋ฆฌํฉํ ๋ง ์ ๋น์ฆ๋์คํ์ ํ ์ธ ์ ์ฑ
์ ํ์ธํ์ธ์.
AI ํ์ ํ๊ธ ๋งคํ:
confirmed โ ํ์ธ๋จfalse_positive โ ์คํseverity_adjusted โ ์ฌ๊ฐ๋ ์กฐ์ evidence๊ฐ ์๋ ํ์ผ์ AI ๋ถ์ ์น์ ์ ์๋ตํฉ๋๋ค.
## ํ๋ก์ ํธ ์ง๋จ โ Level X: [Label]
- ์ด ํ์ผ ์: N
- ๋ ๋ฒจ ๋ถํฌ: Level 1: n๊ฐ, Level 2: n๊ฐ, ...
### Worst Files (Top 10) โ AI ๋ถ์ ํฌํจ
| # | File | Level | ํต์ฌ ๋ฌธ์ | AI ์๊ฒฌ ์์ฝ |
|---|------|-------|----------|-------------|
| 1 | src/pricing.ts | 6 | ๋งค์ง ๋๋ฒ ร5 | ํ ์ธ ์ ์ฑ
์ด ์ซ์๋ก ํ๋์ฝ๋ฉ |
| 2 | ... | ... | ... | ... |
> ๋๋จธ์ง N๊ฐ ํ์ผ์ AI ๋ถ์์ ๋ณด๋ ค๋ฉด "๋ ๋ณด์ฌ์ค"๋ผ๊ณ ๋ง์ํ์ธ์.
worstFiles๊ฐ 10๊ฐ ์ดํ์ด๋ฉด "๋ ๋ณด์ฌ์ค" ์๋ด๋ฅผ ์๋ตํฉ๋๋ค.
structuralSignals ๋ฐฐ์ด์ด ๋น์ด์์ง ์์ผ๋ฉด ์๋ ์น์
์ ์ถ๊ฐ๋ก ์ถ๋ ฅํ์ธ์:
### ๊ตฌ์กฐ์ ์ ํธ & ๋ฆฌํฉํ ๋ง ๋ฐฉํฅ
| # | ์ ํ | ์ฌ๊ฐ๋ | ์ค๋ช
| ๋ฆฌํฉํ ๋ง ๋ฐฉํฅ |
|---|------|--------|------|--------------|
| 1 | ... | ... | ... | ... |
์ ํ ๋งคํ:
excessive_responsibility โ ๊ณผ๋ค ์ฑ
์domain_duplication โ ๋๋ฉ์ธ ์ค๋ณตlayer_inconsistency โ ๊ณ์ธต ๋ถ์ผ์นdependency_violation โ ์์กด์ฑ ์๋ฐcircular_dependency โ ์ํ ์ฐธ์กฐgod_class โ God Class