--- domain: workspace-ops last_rule_review_commit: 60eb73c2813f47e7157464bcd24b4db314c2ffce last_rule_updated_at: 2026-05-26 --- # workspace-ops ## 목적 / 책임 워크스페이스 공통 문서, helper command, 루트 수준 설정을 담당한다. 여러 모듈에 걸친 작업 흐름을 연결하되 각 모듈의 내부 책임을 침범하지 않는다. ## 포함 경로 - `bin/` — root helper entrypoints: `dev`, `test`, `lint`, `build` - `docs/` — 여러 모듈에 걸친 제품, migration, 운영 문서 - `README.md` — workspace overview - root `.gitignore`와 루트 수준 설정 파일 - `agent-ops/rules/project/**`, `agent-ops/skills/project/**` — 프로젝트 전용 agent-ops 규칙과 skill ## 제외 경로 - `services/core/` — core server, webapp, API 구현 책임 - `packages/messaging_flutter/` — Flutter push plugin 구현 책임 - `apps/client/` — client host app 구현 책임 - `agent-ops/rules/common/**`, `agent-ops/skills/common/**` — 공통 framework 파일이며 프로젝트에서 직접 수정하지 않는다. ## 주요 구성 요소 - `bin/test` — Flutter tests와 선택적 Go test 실행 - `bin/lint` — Flutter analyze와 선택적 Go vet 실행 - `bin/build` — Flutter web build와 선택적 Go build 실행 - `bin/dev` — 개발 entrypoint 안내 ## 유지할 패턴 - root helper script는 모듈별 command를 얇게 묶는 역할로 유지한다. - 로컬 도구가 없을 때 skip하는 기존 동작을 보존하고, skip된 검증은 작업 보고에 명시한다. - 여러 모듈에 걸친 문서는 `docs/`에 두고, 모듈 내부만 해당하는 설명은 해당 모듈 README나 docs에 둔다. - 프로젝트 전용 agent-ops 파일만 수정하고 common 파일은 원본 framework에서 동기화한다. ## 다른 도메인과의 경계 - **core-service**: workspace script가 core 검증을 호출할 수 있지만 core 내부 명령 선택은 core 규칙을 따른다. - **messaging-flutter**: plugin 검증은 workspace script로 실행할 수 있으나 API/플랫폼 계약은 plugin 도메인이 소유한다. - **client-app**: client 검증은 workspace script로 실행할 수 있으나 app behavior는 client 도메인이 소유한다. ## 금지 사항 - root helper에 모듈 내부 business logic을 넣지 않는다. - module-specific 문서를 이유 없이 root docs로 끌어올리지 않는다. - `agent-ops` common 파일을 타겟 프로젝트에서 직접 편집하지 않는다.