---
domain: operations
last_rule_review_commit: 1f1527d7c6b8f115ba12c951c9919d779f071b23
last_rule_updated_at: 2026-06-01
---

# operations

## 목적 / 책임

로컬 개발, remote verification routing, workspace orchestration, operator CLI, generated output checks, and infrastructure entrypoints를 관리한다. 개발자와 agent가 반복적으로 쓰는 root-level commands, local/remote test rules, and service entrypoints stay discoverable here.

## 포함 경로

- `bin/` - workspace helper scripts
- `go.work` - Go workspace module membership
- `go.work.sum` - Go workspace dependency checksum
- `apps/cli/` - Go operator CLI for local/admin workflows
- `deployments/local/` - local Docker Compose infrastructure
- `agent-test/local/` - local profile test routing that executes on the remote test host
- `.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
- `bin/contracts-gen` - regenerates contract outputs
- `bin/contracts-check` - checks generated contract outputs are current
- `bin/infra-check` - checks PostgreSQL/Redis availability for the configured environment
- `bin/worker-storage-gen` - regenerates worker sqlc outputs
- `bin/worker-storage-check` - checks worker sqlc generated output drift
- `deployments/local/docker-compose.yml` - PostgreSQL and Redis local stack
- `apps/cli/cmd/alt/main.go` - operator CLI scaffold
- `agent-test/local/rules.md` - local profile routing with remote host execution policy

## 유지할 패턴

- Keep root helper scripts executable, idempotent where practical, and `set -euo pipefail`.
- Prefer root `bin/*` commands for whole-workspace workflows.
- Keep contract codegen/check scripts under `bin/` and route schema ownership back to `packages/contracts`.
- Keep worker storage codegen/check scripts under `bin/` and route schema/query ownership back to `services/worker/internal/storage/postgres`.
- 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.
- Treat `agent-test/local` as a local profile whose commands run from the remote ALT checkout; do not imply local shell execution when local testing is forbidden.
- Keep root scripts explicit: generated drift checks should fail loudly and tell the user which generation command to run.

## 다른 도메인과의 경계

- **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.
- **agent-test**: operations owns routing to test profiles, but domain-specific smoke criteria remain in each `agent-test/local/*-smoke.md` document.

## 금지 사항

- 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.
- Do not record raw remote paths, tokens, passwords, account numbers, or personal endpoints in tracked test rules or command output.
