Skip to content

Latest commit

ย 

History

History
149 lines (107 loc) ยท 5.01 KB

File metadata and controls

149 lines (107 loc) ยท 5.01 KB

AI Development Policy

Purpose

AI-assisted ๋ณ€๊ฒฝ์˜ ์ฑ…์ž„, ๊ฒ€์ฆ, ๊ธฐ๋ก, ๋ณด์•ˆ ๊ธฐ์ค€์„ ํ‘œ์ค€ํ™”ํ•œ๋‹ค.

Scope

์ด ์ •์ฑ…์€ AI๊ฐ€ ์ดˆ์•ˆ ์ž‘์„ฑ, ๋ถ„์„, ๊ณ„ํš, ์ฝ”๋“œ/๋ฌธ์„œ ์ˆ˜์ •, ๋ฆฌ๋ทฐ, ๊ฒ€์ฆ ์ค€๋น„์— ๊ด€์—ฌํ•œ ๋ชจ๋“  ๋ณ€๊ฒฝ์— ์ ์šฉํ•œ๋‹ค.

Rule Priority

  1. AGENTS.md๋Š” agent ์‹คํ–‰ ์ง„์ž…์ ์ด๋‹ค.
  2. ๋ณธ ๋ฌธ์„œ๋Š” AI-assisted ์ž‘์—…์˜ ์ตœ์ƒ์œ„ ์ •์ฑ… ๊ธฐ์ค€์ด๋‹ค.
  3. CONTRIBUTING.md๋Š” Git ์ž‘์—… ์ ˆ์ฐจ๋ฅผ ์„ค๋ช…ํ•œ๋‹ค.
  4. SKILL.md๋Š” ์ด ํ…œํ”Œ๋ฆฟ ์ €์žฅ์†Œ ์ •๋น„ ๋ฐฉ์‹์— ์ ์šฉํ•œ๋‹ค.
  5. .codex/agents/*.toml๊ณผ docs/agents/*.md๋Š” ๋ช…์‹œ์ ์œผ๋กœ ์„ ํƒํ•œ subagent์—๋งŒ ์ ์šฉํ•œ๋‹ค.
  6. .codex/config.toml์€ ์„ ํƒ์  ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋‹ค.

๋” ๊ตฌ์ฒด์ ์ธ ๊ทœ์น™์ด ์žˆ์œผ๋ฉด ๊ทธ ๊ทœ์น™์„ ์šฐ์„ ํ•œ๋‹ค. ์ •์ฑ…, ๋ณด์•ˆ, ๊ฒ€์ฆ, issue/MR ํ…œํ”Œ๋ฆฟ, commit ํ˜•์‹์€ ๋ณธ ๋ฌธ์„œ๊ฐ€ ์šฐ์„ ํ•œ๋‹ค. Codex ์•ฑ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด .codex/config.toml์˜ agents.dir๋Š” ํ™œ์„ฑํ™”ํ•˜์ง€ ์•Š๋Š”๋‹ค.

Required Principles

  • Human owner๊ฐ€ ์ตœ์ข… ์ฑ…์ž„์„ ๊ฐ€์ง„๋‹ค.
  • AI ์ถœ๋ ฅ์€ ๊ฒ€ํ†  ์—†์ด ๋ณ‘ํ•ฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ๋ณ€๊ฒฝ์€ ์š”์ฒญ ๋ฒ”์œ„ ์•ˆ์—์„œ ์ตœ์†Œํ™”ํ•œ๋‹ค.
  • ๊ด€๋ จ ์—†๋Š” ๋ฆฌํŒฉํ„ฐ๋ง๊ณผ ํ˜•์‹ ๋ณ€๊ฒฝ์„ ์„ž์ง€ ์•Š๋Š”๋‹ค.
  • ๋น„๋ฐ€์ •๋ณด, ํ† ํฐ, ๋น„๋ฐ€๋ฒˆํ˜ธ, ๊ฐœ์ธ์ •๋ณด๋ฅผ ํ”„๋กฌํ”„ํŠธ, ๋กœ๊ทธ, ์ฃผ์„, ๋ฌธ์„œ์— ๋‚จ๊ธฐ์ง€ ์•Š๋Š”๋‹ค.
  • ๋ฏผ๊ฐ๊ฐ’์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋‚˜ secret store๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • GitLab ์ž๋™ํ™” ํ† ํฐ์€ .env.local ๋˜๋Š” secret store์—์„œ ๋กœ๋“œํ•˜๊ณ  ์ €์žฅ์†Œ์— ์ปค๋ฐ‹ํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • GitLab API ์ž๋™ํ™”๋Š” ์ „์ฒด JSON ์‘๋‹ต์„ ์ถœ๋ ฅํ•˜์ง€ ์•Š๊ณ  ํ•„์š”ํ•œ ๊ฒฐ๊ณผ ํ•„๋“œ๋งŒ ๋‚จ๊ธด๋‹ค.
  • ๋™์ผ ๊ทœ์น™์€ ์—ฌ๋Ÿฌ ๋ฌธ์„œ์— ๋ฐ˜๋ณตํ•˜์ง€ ์•Š๊ณ  ๊ธฐ์ค€ ๋ฌธ์„œ๋กœ ์—ฐ๊ฒฐํ•œ๋‹ค.

AI Workflow

  • Write or update the spec before implementation.
  • Build incrementally and keep changes traceable to the spec.
  • Run code-reviewer or equivalent review before merge.
  • Run security-auditor for auth, permission, token, secret, privacy, or data-handling changes.
  • Update documentation when behavior, policy, templates, scripts, or validation procedures change.

Issue Rules

  • Issue๋Š” .gitlab/issue_templates/default.md๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • Type์€ ์ •ํ™•ํžˆ ํ•˜๋‚˜๋งŒ ์„ ํƒํ•œ๋‹ค.
  • Size๋Š” ์ •ํ™•ํžˆ ํ•˜๋‚˜๋งŒ ์„ ํƒํ•œ๋‹ค.
  • AI-Assisted๋Š” ์ •ํ™•ํžˆ ํ•˜๋‚˜๋งŒ ์„ ํƒํ•œ๋‹ค.
  • AI๋ฅผ ์‚ฌ์šฉํ•œ ์ž‘์—…์€ AI-Assisted: Yes๋กœ ๊ธฐ๋กํ•œ๋‹ค.
  • Issue ์ƒ์„ฑ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉด ์‚ฌ์œ ์™€ ๋ฐฐ๊ฒฝ์„ commit body ๋˜๋Š” MR body์— ๋‚จ๊ธด๋‹ค.

Size ๊ธฐ์ค€:

  • Small (1): ๋‹จ์ˆœ ์ˆ˜์ • / ๋‹จ์ผ ํŒŒ์ผ
  • Medium (2): ๊ธฐ๋Šฅ ๋‹จ์œ„ ๋ณ€๊ฒฝ / ๋‹ค์ค‘ ํŒŒ์ผ
  • Large (3): ๊ตฌ์กฐ ๋ณ€๊ฒฝ / ๋ณต์ˆ˜ ๋ชจ๋“ˆ

Branch Rules

์ž‘์—… ๋ธŒ๋žœ์น˜๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

  • feature/*
  • bugfix/*
  • hotfix/*
  • refactor/*

main ์ง์ ‘ ๋ณ€๊ฒฝ์€ ์˜ˆ์™ธ๋‹ค. ์ง์ ‘ ๋ณ€๊ฒฝ ์‹œ ๋ฐฐ๊ฒฝ๊ณผ ๊ฒ€์ฆ ๊ธฐ๋ก์„ ๋” ๋ช…ํ™•ํžˆ ๋‚จ๊ธด๋‹ค.

Commit Rules

AI-assisted commit ์ œ๋ชฉ์€ ๋‹ค์Œ ํ˜•์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.

[ai-assisted] <type>(<scope>): <summary>

ํ—ˆ์šฉ ํƒ€์ž…:

  • feat
  • fix
  • refactor
  • test
  • docs
  • chore

AI-assisted commit ์ž‘์„ฑ ์‹œ .gitmessage-ai-assisted.txt๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

Validation Rules

AI-assisted ๋ณ€๊ฒฝ์€ ์ตœ์†Œ ํ•˜๋‚˜์˜ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๊ฒ€์ฆ ๊ธฐ๋ก์„ ๋‚จ๊ธด๋‹ค.

  • build
  • unit test
  • smoke test
  • manual verification
  • analysis only, when no file changes were made

๊ฒ€์ฆ ๋ช…๋ น๊ณผ ๊ฒฐ๊ณผ๋Š” commit body ๋˜๋Š” MR body์— ๊ธฐ๋กํ•œ๋‹ค. ์‹คํ–‰ํ•  ์ˆ˜ ์—†๋Š” ๊ฒ€์ฆ์€ ์ด์œ ๋ฅผ ๊ธฐ๋กํ•œ๋‹ค.

Subagent Rules

  • Subagent๋Š” ๋…๋ฆฝ ๊ฒ€ํ† ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๋ช…ํ™•ํ•œ ํ•˜์œ„ ์ž‘์—…์—๋งŒ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์œ„์ž„ ์ „ ํŒŒ์ผ, ๋ชจ๋“ˆ, ์ž‘์—… ๊ฒฝ๊ณ„๋ฅผ ์ •ํ•œ๋‹ค.
  • ์ฆ‰์‹œ ํ•„์š”ํ•œ ํ•ต์‹ฌ ํŒ๋‹จ์€ main author๊ฐ€ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  • Main author๊ฐ€ subagent ์‚ฐ์ถœ๋ฌผ์„ ํ†ตํ•ฉํ•˜๊ณ  ์ตœ์ข… ๊ฒ€์ฆํ•œ๋‹ค.
  • Subagent๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ Issue ๋˜๋Š” MR์— ์œ„์ž„ ๋ฒ”์œ„์™€ ํ†ตํ•ฉ ํ›„ ๊ฒ€์ฆ์„ ๊ธฐ๋กํ•œ๋‹ค.

Merge Request Rules

  • MR์€ .gitlab/merge_request_templates/default.md๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • Why, What, Validation์„ ์ž‘์„ฑํ•œ๋‹ค.
  • Checklist๋ฅผ ์™„๋ฃŒํ•œ๋‹ค.
  • AI-assisted ๋ณ€๊ฒฝ์€ merge ์ „ human review๋ฅผ ๊ฑฐ์นœ๋‹ค.

Review Rules

Merge ์ „ ๋‹ค์Œ์„ ํ™•์ธํ•œ๋‹ค.

  • commit message๊ฐ€ ์ •์ฑ… ํ˜•์‹์„ ๋”ฐ๋ฅธ๋‹ค.
  • issue template์„ ์‚ฌ์šฉํ–ˆ๊ฑฐ๋‚˜ ์˜ˆ์™ธ ์‚ฌ์œ ๋ฅผ ๊ธฐ๋กํ–ˆ๋‹ค.
  • AI-Assisted ๊ฐ’์ด ๋งž๋‹ค.
  • MR template์ด ์ž‘์„ฑ๋˜์—ˆ๋‹ค.
  • validation์ด ๊ธฐ๋ก๋˜์—ˆ๋‹ค.
  • CI ๋˜๋Š” ์ €์žฅ์†Œ ๊ฒ€์ฆ์ด ํ†ต๊ณผํ–ˆ๋‹ค.
  • unrelated change๊ฐ€ ์—†๋‹ค.

Changelog Rules

๋‹ค์Œ ๋ณ€๊ฒฝ์€ ๊ฐ™์€ ์ž‘์—… ๋‹จ์œ„์—์„œ CHANGELOG.md๋ฅผ ๊ฐฑ์‹ ํ•œ๋‹ค.

  • ์ •์ฑ…/์ ˆ์ฐจ ๋ณ€๊ฒฝ
  • issue/MR/commit ํ…œํ”Œ๋ฆฟ ๋ณ€๊ฒฝ
  • ์šด์˜ ์Šคํฌ๋ฆฝํŠธ ๋ณ€๊ฒฝ
  • ๊ฒ€์ฆ ์ ˆ์ฐจ ๋ณ€๊ฒฝ
  • ๋Œ€์ƒ ํ”„๋กœ์ ํŠธ์˜ ์‚ฌ์šฉ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

์˜คํƒˆ์ž์ฒ˜๋Ÿผ ์˜๋ฏธ ๋ณ€ํ™”๊ฐ€ ์—†๋Š” ๋ฌธ์„œ ์ˆ˜์ •์€ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค.

Document Ownership

  • README.md: ์ €์žฅ์†Œ ๋ชฉ์ , ํฌํ•จ ํŒŒ์ผ, ์„ค์น˜/์—…๋ฐ์ดํŠธ/์ ์šฉ ์ˆœ์„œ
  • AI_DEVELOPMENT_POLICY.md: AI-assisted ๊ฐ•์ œ ๊ธฐ์ค€
  • CONTRIBUTING.md: Git ์ž‘์—… ์ ˆ์ฐจ
  • SKILL.md: ํ…œํ”Œ๋ฆฟ ์ €์žฅ์†Œ ์ •๋น„ ๋ฐฉ์‹
  • POLICY_VERSION.md: ๋ฐฐํฌ ์ •์ฑ… ํŒŒ์ผ ์„ธํŠธ์˜ ๋ฒ„์ „ ๊ธฐ์ค€
  • CHANGELOG.md: ํ…œํ”Œ๋ฆฟ ์ €์žฅ์†Œ ๋ณ€๊ฒฝ ์ด๋ ฅ