proto-socket/agent-ops/rules/project/domain/tools/rules.md

1.7 KiB

domain last_rule_review_commit last_rule_updated_at
tools 34692aec18 2026-05-21

tools

목적 / 책임

Proto 생성·동기화 스크립트를 담당한다. 현재 Dart/Go proto 바인딩 생성과 Go/Kotlin proto 스키마 동기화 검증 도구를 관리한다.

포함 경로

  • tools/ — proto 생성/검증 스크립트
  • PORTING_GUIDE.md — 새 언어 구현 절차 가이드

제외 경로

  • */crosstest/ — 각 언어 구현체 도메인에 속함
  • dart/lib/, go/*.go, kotlin/src/, python/proto_socket/, typescript/src/ — 각 언어 구현체 또는 protocol 도메인
  • proto/, */packets/, kotlin/src/main/proto/ — protocol 도메인

주요 구성 요소

  • tools/generate_proto.sh — Dart/Go proto 바인딩 생성 후 동기화 검사 실행
  • tools/check_proto_sync.shproto/message_common.proto와 Go/Kotlin proto 복사본의 스키마 동기화 검증

유지할 패턴

  • proto 변경 후 항상 generate → check_sync 순서로 실행
  • Bash 스크립트는 set -euo pipefail과 repo root 기준 경로 계산 패턴을 유지
  • 동기화 검사는 언어별 option 차이를 normalize한 뒤 schema 차이만 비교

다른 도메인과의 경계

  • protocol: 스크립트가 proto 파일을 읽지만, proto 파일 자체는 protocol 도메인
  • dart/go/kotlin/python/typescript: crosstest 코드는 각 언어 도메인에 속함. tools 도메인은 tools/ 스크립트만 담당

금지 사항

  • check_proto_sync.sh 실패를 무시하고 다음 단계로 진행하지 않는다
  • tools 스크립트에 언어별 런타임 구현 로직을 넣지 않는다