์ด ํ์ด์ง์ ์ํ๋ AI ์ด์์คํดํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์๋ฅผ ์์ฝํฉ๋๋ค
๋ฒ์ ๊ธฐ๋ก
- "--log ์ต์
์ถ๊ฐ"v9.0.02026. 6. 17.
์ด ํ์ด์ง์ ์ฝํ ์ธ ๋ AI๋ฅผ ์ฌ์ฉํ์ฌ ๋ฒ์ญ๋์์ต๋๋ค.
์์ด ์๋ณธ ๋ด์ฉ์ ์ต์ ๋ฒ์ ์ ๋ณด๊ธฐ์ด ๋ฌธ์๋ฅผ ๊ฐ์ ํ ์์ด๋์ด๊ฐ ์์ผ์๋ฉด GitHub์ ํ ๋ฆฌํ์คํธ๋ฅผ ์ ์ถํ์ฌ ์์ ๋กญ๊ฒ ๊ธฐ์ฌํด ์ฃผ์ธ์.
๋ฌธ์์ ๋ํ GitHub ๋งํฌ๋ฌธ์์ Markdown์ ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌ
๋ฌธ์ ๊ฒํ
doc review ๋ช
๋ น์ด๋ ๋ค์ํ ๋ก์ผ์ผ์์ ๋ฌธ์ ํ์ผ์ ํ์ง, ์ผ๊ด์ฑ ๋ฐ ์์ ์ฑ์ ๋ถ์ํฉ๋๋ค.
์ฃผ์ ์ฌํญ:
- AI ๋ชจ๋ธ์ ์ปจํ ์คํธ ์ฐฝ ์ ํ ๋ด์์ ์ ์งํ๊ธฐ ์ํด ํฐ ๋งํฌ๋ค์ด ํ์ผ์ ์ฒญํฌ๋ก ๋ถํ ํฉ๋๋ค.
- ๊ฒํ ํ ์ฒญํฌ๋ฅผ ์ต์ ํํ๊ณ ์ด๋ฏธ ๋ฒ์ญ๋์์ผ๋ฉฐ ๋ณ๊ฒฝ๋์ง ์์ ๋ถ๋ถ์ ๊ฑด๋๋๋๋ค.
- ํ ์์คํ ์ ์ฌ์ฉํ์ฌ ํ์ผ, ์ฒญํฌ ๋ฐ ๋ก์ผ์ผ์ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํ์ฌ ์๋๋ฅผ ๋์ ๋๋ค.
์ฝ๋๋ฅผ ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌ
์ด๋ฏธ ๋ฒ์ญ๋ ํ์ผ์ ๊ฒํ ํ๊ฑฐ๋ ๋ฒ์ญ์ด ์ฌ๋ฐ๋ฅธ์ง ํ์ธํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋๋ถ๋ถ์ ์ฌ์ฉ ์ฌ๋ก์์,
- ์ด ํ์ผ์ ๋ฒ์ญ๋ณธ์ด ์๋ ๊ฒฝ์ฐ
doc translate๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. - ์ด ํ์ผ์ ๋ฒ์ญ๋ณธ์ด ์ด๋ฏธ ์กด์ฌํ๋ ๊ฒฝ์ฐ
doc review๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๊ฒํ ํ๋ก์ธ์ค๋ ๋์ผํ ํ์ผ์ ์์ ํ ๊ฒํ ํ๊ธฐ ์ํด ๋ฒ์ญ ํ๋ก์ธ์ค๋ณด๋ค ๋ ๋ง์ ์ ๋ ฅ ํ ํฐ์ ์๋นํ๋ค๋ ์ ์ ์ ์ํ์ธ์. ๊ทธ๋ฌ๋ ๊ฒํ ํ๋ก์ธ์ค๋ ๊ฒํ ํ ์ฒญํฌ๋ฅผ ์ต์ ํํ๊ณ ๋ณ๊ฒฝ๋์ง ์์ ๋ถ๋ถ์ ๊ฑด๋๋๋๋ค.
์ธ์:
ํ์ผ ๋ชฉ๋ก ์ต์ :
--doc-pattern [docPattern...]: ๊ฒํ ํ ๋ฌธ์ ํ์ผ๊ณผ ์ผ์นํ๋ Glob ํจํด์ ๋๋ค.์์:
npx intlayer doc review --doc-pattern "docs/**/*.md" "src/**/*.mdx"--excluded-glob-pattern [excludedGlobPattern...]: ๊ฒํ ์์ ์ ์ธํ Glob ํจํด์ ๋๋ค.์์:
npx intlayer doc review --excluded-glob-pattern "docs/internal/**"--skip-if-modified-before [skipIfModifiedBefore]: ์ง์ ๋ ์๊ฐ ์ด์ ์ ์์ ๋ ํ์ผ์ ๊ฑด๋๋๋๋ค.- "2025-12-05"์ ๊ฐ์ ์ ๋ ์๊ฐ (๋ฌธ์์ด ๋๋ Date)์ผ ์ ์์ต๋๋ค.
1 * 60 * 60 * 1000(1์๊ฐ)๊ณผ ๊ฐ์ ์๋ ์๊ฐ(ms)์ผ ์ ์์ต๋๋ค.- ์ด ์ต์
์
fs.stat๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ ์์ ์๊ฐ์ ํ์ธํฉ๋๋ค. ๋ฐ๋ผ์ Git์ด๋ ํ์ผ์ ์์ ํ๋ ๋ค๋ฅธ ๋๊ตฌ์ ์ํฅ์ ๋ฐ์ ์ ์์ต๋๋ค.
์์:
npx intlayer doc review --skip-if-modified-before "2025-12-05"--skip-if-modified-after [skipIfModifiedAfter]: ์ง์ ๋ ์๊ฐ ์ด๋ด์ ์์ ๋ ํ์ผ์ ๊ฑด๋๋๋๋ค.- "2025-12-05"์ ๊ฐ์ ์ ๋ ์๊ฐ(๋ฌธ์์ด ๋๋ Date)์ผ ์ ์์ต๋๋ค.
1 * 60 * 60 * 1000(1์๊ฐ)๊ณผ ๊ฐ์ ์๋ ์๊ฐ(ms)์ผ ์ ์์ต๋๋ค.- ์ด ์ต์
์
fs.stat๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ ์์ ์๊ฐ์ ํ์ธํฉ๋๋ค. ๋ฐ๋ผ์ Git์ด๋ ํ์ผ์ ์์ ํ๋ ๋ค๋ฅธ ๋๊ตฌ์ ์ํฅ์ ๋ฐ์ ์ ์์ต๋๋ค.
์์:
npx intlayer doc review --skip-if-modified-after "2025-12-05"--skip-if-exists: ํ์ผ์ด ์ด๋ฏธ ์กด์ฌํ๋ฉด ๊ฑด๋๋๋๋ค.์์:
npx intlayer doc review --skip-if-exists
๊ฒํ ๋ชจ๋ ์ต์ :
--log: ๋ก๊ทธ ์ ์ฉ ๋ชจ๋. AI๋ก ๋ฒ์ญํ์ง ์๊ณ , ๋์ ๋ค๋ฅธ ์์ด์ ํธ๊ฐ ๋ฒ์ญ์ ์์ฑํ ์ ์๋๋ก ๊ธฐ๋ณธ ๋ฐ ๋์ ๋ก์ผ์ผ์ ๋ํด ์ฃผ์๊ฐ ํ์ํ ๋ธ๋ก(์ค ๋ฒํธ ๋ฐ ๋ด์ฉ ํฌํจ)์ ๊ธฐ๋กํฉ๋๋ค.apply: Translate diverging blocks and provide the complete updated file in Korean (ko)report: Log blocks needing attention with line numbers and content (no AI translation)synthesis: Skip per-block output and provide only a final recap of up-to-date vs. documents needing edits์์:
npx intlayer doc review --log
์์: npx intlayer doc review --mode synthesis
์ด๋ค ๋ชจ๋์ด๋ , ์คํ์ ๊ธฐ๋ณธ ๋ฌธ์์ ์ผ์นํ๋ ๋ฌธ์์ ํธ์งํ ๋ธ๋ก์ด ๋จ์ ์๋ ๋ฌธ์๋ฅผ ๋์ดํ๋ ์ข ํฉ ๋ณด๊ณ ์๋ก ๋๋ฉ๋๋ค.
์ถ๋ ฅ ์ต์ :
--locales [locales...]: ๋ฌธ์๋ฅผ ๊ฒํ ํ ๋์ ๋ก์ผ์ผ์ ๋๋ค.์์:
npx intlayer doc review --locales fr es de--base-locale [baseLocale]: ๋น๊ตํ ์๋ณธ ๋ก์ผ์ผ(๊ธฐ๋ณธ ๋ฌธ์)์ ๋๋ค.์์:
npx intlayer doc review --base-locale en
ํ์ผ ์ฒ๋ฆฌ ์ต์ :
--nb-simultaneous-file-processed [nbSimultaneousFileProcessed]: ๋์์ ๊ฒํ ํ ํ์ผ ์์ ๋๋ค.์์:
npx intlayer doc review --nb-simultaneous-file-processed 5
AI ์ต์ :
--model [model]: ๊ฒํ ์ ์ฌ์ฉํ AI ๋ชจ๋ธ (์:gpt-3.5-turbo).--provider [provider]: ๊ฒํ ์ ์ฌ์ฉํ AI ์ ๊ณต์.--temperature [temperature]: AI ๋ชจ๋ธ์ ์จ๋ ์ค์ .--api-key [apiKey]: AI ์๋น์ค์ ์ฌ์ฉํ API ํค๋ฅผ ์ ๊ณตํฉ๋๋ค.--application-context [applicationContext]: AI ๊ฒํ ์ ์ถ๊ฐ ์ปจํ ์คํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.--data-serialization [dataSerialization]: Intlayer์ AI ๊ธฐ๋ฅ์ ์ฌ์ฉํ ๋ฐ์ดํฐ ์ง๋ ฌํ ํ์. ์ต์ :json(ํ์ค, ์ ๋ขฐํ ์ ์์),toon(ํ ํฐ ์ ์, ์ผ๊ด์ฑ ๋ฎ์).--custom-prompt [prompt]: ๊ฒํ ์ ์ฌ์ฉ๋๋ ๊ธฐ๋ณธ ํ๋กฌํํธ๋ฅผ ์ฌ์ฉ์ ์ ์ํฉ๋๋ค. (์ฐธ๊ณ : ๋๋ถ๋ถ์ ์ฌ์ฉ ์ฌ๋ก์์๋ ๋์์ ๋ ์ ์ ์ดํ ์ ์๋--custom-instructions์ต์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ถ์ฅ๋ฉ๋๋ค.)์์:
npx intlayer doc review --model deepseek-chat --provider deepseek --temperature 0.5 --api-key sk-1234567890 --application-context "My application is a cat store"
ํ๊ฒฝ ๋ณ์ ์ต์ :
--env: ํ๊ฒฝ์ ์ง์ ํฉ๋๋ค (์:development,production).--env-file [envFile]: ๋ณ์๋ฅผ ๋ก๋ํ ์ฌ์ฉ์ ์ ์ ํ๊ฒฝ ํ์ผ์ ์ ๊ณตํฉ๋๋ค.--base-dir: ํ๋ก์ ํธ์ ๊ธฐ๋ณธ ๋๋ ํ ๋ฆฌ๋ฅผ ์ง์ ํฉ๋๋ค.--no-cache: ์บ์๋ฅผ ๋นํ์ฑํํฉ๋๋ค.์์:
npx intlayer doc review --base-dir ./docs --env-file .env.production.local
๋ก๊ทธ ์ต์ :
--verbose: ๋๋ฒ๊น ์ ์ํ ์์ธ ๋ก๊ทธ ํ์ฑํ. (CLI์์ ๊ธฐ๋ณธ๊ฐ์ true)์์:
npx intlayer doc review --verbose
์ฌ์ฉ์ ์ง์ ์ง์นจ ์ต์ :
--custom-instructions [customInstructions]: ํ๋กฌํํธ์ ์ถ๊ฐ๋๋ ์ฌ์ฉ์ ์ง์ ์ง์นจ. ํฌ๋งทํ , URL ๋ฒ์ญ ๋ฑ ํน์ ๊ท์น์ ์ ์ฉํ ๋ ์ ์ฉํฉ๋๋ค.์์:
npx intlayer doc review --custom-instructions "URL ๋ฒ์ญ์ ํผํ๊ณ , ๋งํฌ๋ค์ด ํ์์ ์ ์งํ์ธ์"์์:
npx intlayer doc review --custom-instructions "$(cat ./instructions.md)"
Git ์ต์ :
--git-diff: ๊ธฐ์ค(๊ธฐ๋ณธ๊ฐorigin/main)์์ ํ์ฌ ๋ธ๋์น(๊ธฐ๋ณธ๊ฐHEAD)๋ก ๋ณ๊ฒฝ๋ ํ์ผ๋ง ์คํํฉ๋๋ค.--git-diff-base: git diff์ ๊ธฐ์ค ์ฐธ์กฐ๋ฅผ ์ง์ ํฉ๋๋ค (๊ธฐ๋ณธ๊ฐorigin/main).--git-diff-current: git diff์ ํ์ฌ ์ฐธ์กฐ๋ฅผ ์ง์ ํฉ๋๋ค (๊ธฐ๋ณธ๊ฐHEAD).--uncommitted: ์ปค๋ฐ๋์ง ์์ ๋ณ๊ฒฝ์ฌํญ์ ํฌํจํฉ๋๋ค.--unpushed: ํธ์๋์ง ์์ ๋ณ๊ฒฝ์ฌํญ์ ํฌํจํฉ๋๋ค.--untracked: ์ถ์ ๋์ง ์์ ํ์ผ์ ํฌํจํฉ๋๋ค.์์:
npx intlayer doc review --git-diff --git-diff-base origin/main --git-diff-current HEAD์์:
npx intlayer doc review --uncommitted --unpushed --untracked
์ถ๋ ฅ ํ์ผ ๊ฒฝ๋ก๋ ๋ค์ ํจํด์ ๋์ฒดํ์ฌ ๊ฒฐ์ ๋ฉ๋๋ค:
/{{baseLocale}}/๋/{{locale}}/๋ก ๋์ฒด (Unix){{baseLocale}}` ๋{{locale}}` ๋ก ๋์ฒด (Windows)_{{baseLocale}}.๋_{{locale}}.๋ก ๋์ฒด{{baseLocale}}_๋{{locale}}_๋ก ๋์ฒด.{{baseLocaleName}}.๋.{{localeName}}.๋ก ๋์ฒด๋ง์ฝ ํจํด์ด ๋ฐ๊ฒฌ๋์ง ์์ผ๋ฉด, ์ถ๋ ฅ ํ์ผ์ ํ์ผ ํ์ฅ์์
.{{locale}}๋ฅผ ์ถ๊ฐํฉ๋๋ค. ์๋ฅผ ๋ค์ด./my/file.md๋ ๊ฒํ ๋๊ณ , ํ๋์ค์ด ๋ก์ผ์ผ์ ๊ฒฝ์ฐ./my/file.fr.md๋ก ์ ๋ฐ์ดํธ๋ฉ๋๋ค.
