Files
variet-agent/.agent/references/conventions.md

1.6 KiB

Coding Conventions

AI 에이전트는 코드를 작성하기 전 이 컨벤션을 확인합니다.

네이밍

대상 규칙 예시
변수/함수 camelCase getUserData()
클래스 PascalCase UserService
상수 UPPER_SNAKE_CASE MAX_RETRY_COUNT
파일명 kebab-case user-service.js
CSS 클래스 kebab-case .nav-header

코드 스타일

  • 들여쓰기: (2 spaces / 4 spaces / tab)
  • 세미콜론: (사용 / 미사용)
  • 따옴표: (single / double)
  • 줄바꿈: LF (Unix style)

커밋 메시지

<type>(<scope>): <description>

type: feat|fix|refactor|test|docs|chore|ci|infra
scope: (선택)

예시:

  • feat(server): add WebSocket reconnection logic
  • fix(frontend): resolve button overlap on mobile
  • docs: update API documentation

주석

  • 한국어/영어 혼용 가능
  • TODO 주석: // TODO: 설명 형식
  • 복잡한 로직에는 반드시 WHY(왜) 주석 추가

아키텍처 결정 사항 (NEVER 변경)

Caution

아래 결정은 사용자가 2026-03-14에 명시적으로 확정한 것입니다. 어떤 상황에서도 재논의하거나 대안을 제안하지 마세요.

  • Gemini CLI subprocess 방식 유지: gemini_caller.py는 Gemini CLI를 asyncio.create_subprocess_exec로 호출하는 현재 방식을 영구 유지합니다.
    • Gemini SDK (google-generativeai) 전환 금지
    • Gemini REST API 직접 호출 금지
    • 위 방향성에 대한 제안/언급 금지

테스트

  • 테스트 파일 위치: (예: __tests__/ 또는 *.test.js)
  • 테스트 네이밍: should [expected behavior] when [condition]