--- domain: operations last_rule_review_commit: no-commit-yet last_rule_updated_at: 2026-05-24 --- # operations ## 목적 / 책임 로컬 개발, workspace orchestration, operator CLI, and infrastructure entrypoints를 관리한다. 개발자가 반복적으로 쓰는 root-level commands and local services stay discoverable here. ## 포함 경로 - `bin/` - workspace helper scripts - `go.work` - Go workspace module membership - `apps/cli/` - Go operator CLI for local/admin workflows - `deployments/local/` - local Docker Compose infrastructure - `.gitignore` - repository-level ignore policy ## 제외 경로 - `services/api/` - API runtime implementation - `services/worker/` - worker runtime implementation - `apps/client/` - Flutter client code - `packages/domain/` and `packages/contracts/` - shared model and schema sources ## 주요 구성 요소 - `bin/dev` - prints local development entrypoints - `bin/test` - runs Go tests and Flutter tests - `bin/lint` - runs Go vet and Flutter analyze - `bin/build` - builds Go binaries and Flutter web - `deployments/local/docker-compose.yml` - PostgreSQL and Redis local stack - `apps/cli/cmd/alt/main.go` - operator CLI scaffold ## 유지할 패턴 - Keep root helper scripts executable, idempotent where practical, and `set -euo pipefail`. - Prefer root `bin/*` commands for whole-workspace workflows. - Keep local infrastructure defaults aligned with worker/API environment fallback values. - Add new Go modules to `go.work` when they are part of local development. ## 다른 도메인과의 경계 - **api** and **worker**: operations starts, tests, and builds services; service behavior belongs to each service domain. - **client**: operations invokes Flutter commands; UI implementation stays under `apps/client`. - **contracts**: operations may run codegen later; schema design remains in contracts. ## 금지 사항 - Do not put application business logic in shell scripts. - Do not commit local secrets or machine-specific state. - Do not make root scripts silently skip failing module checks.