| name | tidy-as-you-go |
| description | Small grooming each time code is finished, named, reviewed, or committed โ removing unused imports, variables, and dead code; tightening identifier names to expose intent; and leaving the file one notch cleaner than it was found. Never expands into unrelated refactors that bloat the PR. ์ฝ๋๋ฅผ ์์ฑยท์์ ยท๋ฆฌ๋ทฐยท์ปค๋ฐยท์๋ฃํ ๋๋ง๋ค ์์ ์ ๋์ ์ต๊ดํํ๋ ์์ง๋์ด๋ง ์ฒ ํ ์คํฌ. |
| when_to_use | Use whenever code is being wrapped up, named, reviewed, or committed โ phrases like "done", "ready to commit", "wrap up", "clean up", "tidy", "naming", "๋ค ๋์ด", "์ด์ ๋๋ฌ์ด", "์ปค๋ฐํ ๊ฒ", "PR ์ฌ๋ฆด๊ฒ", "์ ๋ฆฌ ์ข", "์ด ์ด๋ฆ ๊ด์ฐฎ์?" โ and immediately after finishing a feature, just before closing a file, or whenever unused code is noticed mid-work. |
| allowed-tools | Read Edit Grep |
ํ ์ค. ๋ ๋๊ธฐ ์ ์, ๋ค์ด์์ ๋๋ณด๋ค ํ ๋จ๊ณ ๊นจ๋ํ๊ฒ.
Why this mindset
ํญ์ ์ ๋ํ๋ ์ต๊ด์ ๋ค์ด์.
์ฌ์ฉํ์ง ์๋ ๋ณ์, import๋ฅผ ์ ๋ฆฌํ์.
์๋๊ฐ ๋๋ฌ๋๋ ๋ณ์๋ช
์ ์ง์ ์ ์๋๋ก ๋
ธ๋ ฅํ์.
๊ทธ ์ด์ธ์๋ ์ด๋ป๊ฒ ํ๋ฉด ์ฝ๋๋ฅผ ๊นจ๋ํ๊ฒ ๊ด๋ฆฌํ ์ ์์์ง์ ๋ํด ๊ณ ๋ฏผํ์.
Instructions
์ ๋์ ๋ฐ๋ก ์ก๋ ํฐ ํ์ฌ๊ฐ ์๋๋ค. ์ฝ๋๋ฅผ ๋ง์ง ๋๋ง๋ค ๊ณ๋ค์ด๋ ์์ ๋์์ด๋ค.
-
๋ง๋ฌด๋ฆฌ ์ง์ , ํ ๋ฒ ํ๋๋ค.
๊ธฐ๋ฅ์ ๋ค ์ง ๋คยท์ปค๋ฐ ์ง์ ยท"์ด์ ๋๋ค" ์์ ์ ํ์ผ์ ํ ๋ฒ ๋ ์์์ ์๋๋ก ๋ณธ๋ค. ์ ์ฐ๋ import, ์ ์ฐ๋ ๋ณ์, ๋๋ฒ๊ทธ์ฉ print/console.log, ์ฃผ์ ์ฒ๋ฆฌ๋ง ํด๋์ ์ฃฝ์ ์ฝ๋ โ ๋ณด์ด๋ฉด ๊ทธ ์๋ฆฌ์์ ์ง์ด๋ค.
-
์ด๋ฆ์ ํ ๋ฒ ๋ ์์ฌํ๋ค.
๋ณ์ยทํจ์ยทํ์ผ ์ด๋ฆ์ด "์ด๊ฒ ๋ญ ํ๋ ๊ฑด์ง" ํ๋์ ๋๋ฌ๋๋์ง ๋ค์ ๋ณธ๋ค.
data, temp, result, handle, doStuff ๊ฐ์ ์ด๋ฆ์ ๊ฑฐ์ ํญ์ ๋ ์ข์ ์ด๋ฆ์ด ์๋ค.
- ์ข์ ์ด๋ฆ์ ๊ธฐ์ค: ์ฝ๋ ์ฌ๋์ด ํจ์ ๋ณธ๋ฌธ์ ์ ๋ด๋ ์๋๋ฅผ ์ง์ํ ์ ์๋๊ฐ.
- ๋ ์ค๋ฅด์ง ์์ผ๋ฉด "์ด ํจ์ ํ ๋ฌธ์ฅ์ผ๋ก ์ค๋ช
ํด์ค"๋ฅผ ์๊ธฐ ์์ ํํ
๋ฌป๊ณ , ๊ทธ ๋ฌธ์ฅ์์ ๋์ฌยท๋ช
์ฌ๋ฅผ ๋ฝ๋๋ค.
-
๋ณด์ด์ค์นด์ฐํธ ๋ฃฐ.
์๋ ์์
๊ณผ ๋ฌด๊ดํด๋, ๊ฐ์ ํ์ผ์์ ๋ช
๋ฐฑํ ์๋ชป๋ ์์ ๊ฒ์ด ๋ณด์ด๋ฉด ์ง๋๊ฐ๋ ๊น์ ๊ณ ์น๋ค. ๋จ, ๋ณ๊ฑด ์๋์ง ์๋๋ค โ "์ง๋๊ฐ๋ ๊น์"๊ฐ ๋ฆฌํฉํฐ๋ง ํญ์ฃผ๊ฐ ๋๋ฉด ๊ทธ๊ฑด ์ ๋์ด ์๋๋ผ ์ ์์
์ด๋ค.
-
ํฌ๋งทยท์ ๋ ฌ์ ๋๊ตฌ์ ๋งก๊ธด๋ค.
prettier, eslint --fix, black, gofmt ๊ฐ์ ๊ฒ ๊น๋ ค ์์ผ๋ฉด ๊ทธ๊ฑธ ๋๋ฆฐ๋ค. ์์ผ๋ก ๋ค์ฌ์ฐ๊ธฐยท๋ฐ์ดํยท์ธ๋ฏธ์ฝ๋ก ์ ๋คํฌ์ง ์๋๋ค. ๋๊ตฌ๊ฐ ์๋ ํ๋ก์ ํธ๋ฉด ํ ๋ฒ ๊น์๊ณ ์ ์๋ง ํ๊ณ , ๋ณธ์
์ ๋ฉ์ถ์ง ์๋๋ค.
-
์ ๋ํ ๋งํผ๋ง ์ ๋ํ๋ค๊ณ ๋งํ๋ค.
์ฌ์ฉ์์๊ฒ ๋ง๋ฌด๋ฆฌ๋ฅผ ๋ณด๊ณ ํ ๋ "์ด๋ฒ์ ์ ๋ฆฌํ ๊ฒ"์ ์งง๊ฒ ํ ์ค ์ ๋๋ค. "์ ์ฐ๋ import 3๊ฐ, ๋๋ฒ๊ทธ ๋ก๊ทธ 2์ค ์ ๊ฑฐ. tmpData โ parsedRows๋ก ์ด๋ฆ ๋ณ๊ฒฝ." ์ด๊ฒ ๋ค์์ ๋๊ฐ ๋ดค์ ๋์ ์ด์ ํ๋ค.
Examples
๊ธฐ๋ฅ ๋๋ธ ์งํ:
- ์ฌ์ฉ์: "๊ฒ์ ๊ธฐ๋ฅ ๋ค ๋ง๋ค์์ด."
- Claude: "๋ง๋ฌด๋ฆฌ ์ ์ ํ ๋ฒ ํ์์ด โ
useState์์ ์ ์ฐ๋ loading, ์์ ๋๋ฒ๊ทธ console.log ํ ์ค, ๊ทธ๋ฆฌ๊ณ data๋ฅผ users๋ก ๋ฐ๊ฟจ์ด. ์ง๊ธ์ด ๋ ์ฝ๊ธฐ ์ข์. ์ปค๋ฐํด๋ ๋ ๊ฒ ๊ฐ์."
์ด๋ฆ์ด ์ ๋ ์ค๋ฅผ ๋:
- ์ฌ์ฉ์: "์ด ํจ์ ์ด๋ฆ ๋ญ๋ก ํ์ง?"
- Claude: "์ด ํจ์ ํ ๋ฌธ์ฅ์ผ๋ก ํ๋ฉด '์ด๋ฉ์ผ ํ์์ด ๋ง๋์ง ๊ฒ์ฌํด์ true/false ๋๋ ค์ค๋ค'์ผ. ๊ทธ๋ผ
isValidEmail ์ ๋๊ฐ ์์ฐ์ค๋ฌ์. checkEmail์ ๊ฒ์ฌ ํ ๋ญ ํ๋์ง ๋ชจํธํด์ ํ ๋จ๊ณ ์ฝํด."
์ ๊ธ๋ ํ๋ฆ:
- ์ฌ์ฉ์: ๊ธฐ๋ฅ ์์
์ค์ธ๋ฐ ์ ํ์ผ์ ๊ฑฐ๋ํ ํจ์๊ฐ ๋ณด์.
- Claude: "์ด ์ ํ์ผ์ 100์ค์ง๋ฆฌ ํจ์๊ฐ ์ข ์ด์์ ํด ๋ณด์ด๊ธด ํด. ๋ค๋ง ์ง๊ธ ์์
๋ฒ์ ๋ฐ์ด๋ผ, ํ์๋ง ํด๋๊ณ ์์ ์ ๋๊ฒ. ๋ฐ๋ก ์ ๋ฆฌํ ์ผ๊ฐ์ผ๋ก ๋นผ๋๋ฉด ์ข๊ฒ ์ด."
Pitfalls
- "๋์ค์ ํ๊บผ๋ฒ์ ์ ๋ฆฌํ์ง" โ ๊ทธ "๋์ค"์ ๊ฑฐ์ ์ค์ง ์๋๋ค.
- ์๋ฏธ ์๋ ์ด๋ฆ (
data1, temp, foo, value)์ด ๋ง์ด๊ทธ๋ ์ด์
์์ด ์ด์๋จ๋ ์ผ.
- ์ ์ฐ๋ importยท๋ณ์๊ฐ ๋์ ๋๋ฉด์ ํ์ผ์ด ๋ฌด๊ฑฐ์ ๋ณด์ด๋ ์ผ.
- ์ ๋ํ๋ต์๊ณ ์์
๋ฒ์ ๋ฐ๊น์ง ํํค์ณ PR์ด ๊ฑฐ๋ํด์ง๋ ์ผ.
์ ๋์ ์๋ฒฝ์ฃผ์๊ฐ ์๋๋ค. "๋ด๊ฐ ๋ ๋ ์๋ฆฌ๊ฐ ๋ค์ด์์ ๋๋ณด๋ค ํ ๋จ๊ณ๋ง ๊นจ๋ํ๋ฉด ๋๋ค." ๊ทธ ํ ๋จ๊ณ๊ฐ ๋งค๋ฒ ์์ด๋ ๊ฒ ๊นจ๋ํ ์ฝ๋๋ฒ ์ด์ค๋ค.