| name | line-limit |
| description | Enforce file line count limits (200 recommended, 300 max) for CODE IMPLEMENTATION files only. Use this when reviewing code, creating files, or when files exceed line limits and need modularization. |
| allowed-tools | Read, Glob, Grep, Edit, Write, Bash |
| license | MIT |
| metadata | {"author":"antigravity-team","version":"1.0"} |
Line Limit Enforcement
์ฝ๋ ๊ตฌํ ํ์ผ์ ๋ํ ๋ผ์ธ ์ ์ ํ์ ๊ฐ์ ํ๋ ์คํฌ์
๋๋ค.
Scope
์ด ์คํฌ์ ์ฝ๋ ๊ตฌํ ํ์ผ์๋ง ์ ์ฉ๋ฉ๋๋ค.
โ
์ ์ฉ ๋์
| ํ์ผ ์ ํ | ํ์ฅ์ |
|---|
| JavaScript/TypeScript | .js, .ts, .jsx, .tsx |
| Python | .py |
| Go | .go |
| Rust | .rs |
| Java/Kotlin | .java, .kt |
| C/C++ | .c, .cpp, .h |
| ๊ธฐํ ์คํ ์ฝ๋ | ์ธ์ด๋ณ ์์ค ํ์ผ |
๐ซ ์์ธ (์ ์ฉ ์ ์ธ)
| ํ์ผ ์ ํ | ํ์ฅ์/์์น | ์ฌ์ |
|---|
| Jupyter Notebook | .ipynb | ์
๊ธฐ๋ฐ ๊ตฌ์กฐ, ์ถ๋ ฅ ํฌํจ |
| ์คํฌ ํ์ผ | SKILL.md | ๋ฌธ์/๊ฐ์ด๋ (500์ค๊น์ง ํ์ฉ) |
| ๋ฌธ์ ํ์ผ | .md, .mdx | ๋ฌธ์๋ ๊ธธ์ด๋ ๋ฌด๋ฐฉ |
| ์ค์ ํ์ผ | .json, .yaml, .toml | ๊ตฌ์กฐ์ ๋ฐ์ดํฐ |
| ํ
์คํธ ํฝ์ค์ฒ | fixtures/, __mocks__/ | ํ
์คํธ ๋ฐ์ดํฐ |
| ์๋ ์์ฑ ํ์ผ | *.generated.*, *.g.* | ์๋ ๊ด๋ฆฌ X |
| ํ์
์ ์ | .d.ts | ์ ์ธ ํ์ผ |
| CSS/์คํ์ผ | .css, .scss | ์คํ์ผ์ํธ |
Rules
| ์ํ | ๋ผ์ธ ์ | ์กฐ์น |
|---|
| โ
OK | 0-200 | ์ ์ |
| โ ๏ธ WARNING | 201-300 | ๊ถ์ฅ ๋ฆฌํฉํ ๋ง |
| ๐ด VIOLATION | 301+ | ํ์ ๋ถ๋ฆฌ |
When This Skill Activates
- ์ ํ์ผ ์์ฑ ์ ๋ผ์ธ ์ ์ฒดํฌ
- ์ฝ๋ ๋ฆฌ๋ทฐ ์์ฒญ ์
- "ํ์ผ์ด ๋๋ฌด ๊ธธ์ด", "๋ชจ๋ํ ํด์ค" ๋ฑ ์์ฒญ ์
- 300์ค ์ด๊ณผ ํ์ผ ๋ฐ๊ฒฌ ์
Enforcement Workflow
1. ๋ผ์ธ ์ ์ฒดํฌ
wc -l <file>
2. ์ํ ํ์
if lines <= 200: โ
OK
elif lines <= 300: โ ๏ธ WARNING - ๋ฆฌํฉํ ๋ง ๊ถ์ฅ
else: ๐ด VIOLATION - ๋ถ๋ฆฌ ํ์
3. ์๋ฐ ์ ์กฐ์น
๐ด 300์ค ์ด๊ณผ ํ์ผ ๋ฐ๊ฒฌ ์ ๋ฐ๋์:
- ํ์ผ ๊ตฌ์กฐ ๋ถ์ (ํจ์/ํด๋์ค/์น์
ํ์
)
- ๋ถ๋ฆฌ ๊ฐ๋ฅํ ๋จ์ ์๋ณ:
- ์ ํธ๋ฆฌํฐ ํจ์ โ
utils/ ๋๋ helpers/
- ํ์
์ ์ โ
types/ ๋๋ *.types.ts
- ์์/์ค์ โ
constants/ ๋๋ config/
- ํ์ ์ปดํฌ๋ํธ โ
components/
- ํ
โ
hooks/
- ๋ถ๋ฆฌ ๊ณํ ์ ์
- ์ฌ์ฉ์ ์น์ธ ํ ๋ฆฌํฉํ ๋ง ์คํ
Modularization Patterns
React/TypeScript
# Before (500 lines)
src/components/Dashboard.tsx
# After
src/components/Dashboard/
โโโ index.tsx # Main component (< 200 lines)
โโโ DashboardHeader.tsx
โโโ DashboardStats.tsx
โโโ DashboardChart.tsx
โโโ hooks/
โ โโโ useDashboardData.ts
โโโ types.ts
โโโ constants.ts
General Functions
# Before (400 lines)
src/utils/helpers.ts
# After
src/utils/
โโโ index.ts # Re-exports
โโโ string.utils.ts
โโโ date.utils.ts
โโโ array.utils.ts
โโโ validation.utils.ts
Examples
Example 1: ์ฝ๋ ๋ฆฌ๋ทฐ ์
User: ์ด ํ์ผ ๋ฆฌ๋ทฐํด์ค - src/services/api.ts
Claude: [ํ์ผ ์ฝ๊ธฐ ํ]
๐ ๋ผ์ธ ์ ์ฒดํฌ: 342 lines
๐ด VIOLATION: 300์ค ์ด๊ณผ - ๋ชจ๋ํ ํ์
๋ถ์ ๊ฒฐ๊ณผ:
- API ์๋ํฌ์ธํธ ํจ์: 15๊ฐ (240 lines)
- ํ์
์ ์: 12๊ฐ (45 lines)
- ํฌํผ ํจ์: 5๊ฐ (57 lines)
๊ถ์ฅ ๋ถ๋ฆฌ:
1. api/endpoints/ - ์๋ํฌ์ธํธ๋ณ ๋ถ๋ฆฌ
2. api/types.ts - ํ์
์ ์ ์ถ์ถ
3. api/helpers.ts - ํฌํผ ํจ์ ์ถ์ถ
๋ถ๋ฆฌ๋ฅผ ์งํํ ๊น์?
Example 2: ์ ํ์ผ ์์ฑ ์
User: ๋์๋ณด๋ ์ปดํฌ๋ํธ ๋ง๋ค์ด์ค
Claude: [์์ฑ ์ค 200์ค ๋๋ฌ ์]
โ ๏ธ WARNING: 200์ค ๋๋ฌ - ๋ถ๋ฆฌ ๊ถ์ฅ
ํ์ฌ ๊ตฌ์กฐ:
- DashboardHeader (40 lines)
- DashboardStats (60 lines)
- DashboardChart (80 lines)
- hooks (20 lines)
๊ฐ ์น์
์ ๋ณ๋ ํ์ผ๋ก ๋ถ๋ฆฌํ๋ฉด์ ๊ณ์ ์งํํ ๊น์?
Example 3: ๋ชจ๋ํ ์์ฒญ
User: ์ด ํ์ผ ๋๋ฌด ๊ธธ์ด, ์ ๋ฆฌํด์ค
Claude: [line-limit ์คํฌ ํ์ฑํ]
๐ ํ์ฌ: 456 lines
๐ด VIOLATION: 156์ค ์ด๊ณผ
[๋ถ์ ๋ฐ ๋ถ๋ฆฌ ๊ณํ ์ ์...]
References
์์ธ ๋ชจ๋ํ ๊ฐ์ด๋: references/modularization-guide.md