alt/agent-ops/rules/project/domain/client/rules.md

1.8 KiB

domain last_rule_review_commit last_rule_updated_at
client no-commit-yet 2026-05-24

client

목적 / 책임

ALT의 Flutter client surface를 담당한다. web/mobile/desktop targets, application shell, routing, feature presentation, and client-side tests belong here.

포함 경로

  • apps/client/lib/main.dart - Flutter app bootstrap
  • apps/client/lib/src/app/ - app shell, theme, router
  • apps/client/lib/src/features/ - feature presentation code
  • apps/client/test/ - Flutter widget/unit tests
  • apps/client/pubspec.yaml - Flutter package dependencies

제외 경로

  • services/api/ - socket server runtime
  • packages/contracts/ - schema source for generated contracts
  • packages/domain/ - Go domain models

주요 구성 요소

  • AltClientApp - Material app shell using Riverpod
  • appRouterProvider - go_router configuration
  • DashboardScreen - initial responsive dashboard surface

유지할 패턴

  • Keep app-level shell and router under lib/src/app.
  • Put user-facing screens under the lib/src/features/feature-name/presentation pattern.
  • Use Material 3 components and responsive navigation patterns.
  • Test user-visible app shell behavior through Flutter tests.

다른 도메인과의 경계

  • api: client connects to API; server lifecycle and socket parsing stay in services/api.
  • contracts: client consumes generated/mapped contracts; protobuf source stays in packages/contracts.
  • operations: bin/test, bin/lint, and bin/build run client checks from the workspace root.

금지 사항

  • Do not place backend service code or Go module files under apps/client.
  • Do not hand-edit platform generated files unless the Flutter platform integration explicitly requires it.
  • Do not hard-code production endpoint assumptions in presentation widgets.