# agent-shell project rules ## 응답 언어 - 기본 응답은 한국어로 한다. ## 프로젝트 개요 `agent-shell`은 Flutter 기반 agent interaction package다. 제품 앱, backend, runtime, WebView 조작, IOP Control Plane, NomadCode workflow를 직접 소유하지 않고, host 앱이 주입하는 메시지와 capability를 표시하고 상호작용하는 공통 UI/인터페이스만 제공한다. ## 주요 구조 - `lib/agent_shell.dart` - public export entrypoint. - `lib/src/domain/` - message, tool call, command, event, capability model. - `lib/src/widgets/` - embeddable chat surface와 UI primitives. - `test/` - widget/model tests. ## 기술 스택 - Flutter package - Dart SDK `^3.11.0` - `flutter_test` ## 프로젝트 특화 컨벤션 - `lib/`는 package 코드만 둔다. `runApp`, `MaterialApp`, Firebase/SystemChrome bootstrap은 host 앱 책임이다. - 제품별 package를 import하지 않는다. IOP/NomadCode 연결은 각 제품의 capability pack 또는 optional composition layer에서 구현한다. - Public API는 `lib/agent_shell.dart`에서 export한다. - Host가 theme, navigation, transport, auth, endpoint, persistence를 주입한다. - UI는 좌측 rail, 우측 rail, center content, modal 등 다양한 host layout에 들어갈 수 있어야 한다. - 변경 후 가능한 경우 `flutter test`를 실행한다. ## 도메인 매핑 | 경로 패턴 | 도메인 | rules.md | |----------|--------|----------| | `lib/src/domain/**`, `lib/agent_shell.dart` | domain-model | `agent-ops/rules/project/domain/domain-model/rules.md` | | `lib/src/widgets/**` | widgets | `agent-ops/rules/project/domain/widgets/rules.md` | | `test/**`, `pubspec.yaml`, `analysis_options.yaml`, `README.md`, `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, `.cursorrules`, `.clinerules`, `agent-ops/**` | project-ops | `agent-ops/rules/project/rules.md` | ## 스킬 라우팅 현재 프로젝트 전용 스킬은 없다. 반복 작업이 안정적으로 드러난 뒤 `agent-ops/skills/project/`에 추가한다.