83 lines
3.8 KiB
Markdown
83 lines
3.8 KiB
Markdown
---
|
|
ui_doc_type: definition-index
|
|
surface_type: ops-dev
|
|
source_evidence:
|
|
- type: code
|
|
path: lib/src/features/app_shell.dart
|
|
notes: "NavigationRail 기반 shell과 builds/devices/console/settings page 연결"
|
|
- type: code
|
|
path: lib/src/features/builds/builds_page.dart
|
|
notes: "Jenkins job/build 탐색과 APK download/install handoff UI"
|
|
- type: code
|
|
path: lib/src/features/devices/devices_page.dart
|
|
notes: "ADB device grid, pending install, install result UI"
|
|
- type: code
|
|
path: lib/src/features/console/console_page.dart
|
|
notes: "logcat filter, level segmented control, log viewer UI"
|
|
- type: code
|
|
path: lib/src/features/settings/settings_page.dart
|
|
notes: "Jenkins credential, Web Login, ADB diagnostics UI"
|
|
- type: code
|
|
path: lib/src/features/settings/jenkins_web_login_page.dart
|
|
notes: "fullscreen Jenkins WebView login dialog"
|
|
- type: docs
|
|
path: README.md
|
|
notes: "Jenkins artifact, ADB install, logcat, deep link scope"
|
|
- type: docs
|
|
path: agent-ops/rules/project/rules.md
|
|
notes: "Flutter macOS 앱 구조와 feature/service 분리 기준"
|
|
- type: docs
|
|
path: agent-roadmap/phase/security-distribution/milestones/auth-broker-evaluation.md
|
|
notes: "Jenkins WebView token 자동화와 credential 수명주기 검토 맥락"
|
|
- type: user
|
|
path: null
|
|
notes: "agent-ui 생성 요청"
|
|
---
|
|
|
|
# UI Definition
|
|
|
|
## Purpose
|
|
|
|
AppSok의 현재 Flutter macOS 화면 구조를 코드 근거와 동기화한다. 이 정의는 Jenkins artifact 탐색, APK 설치 handoff, ADB device 관리, logcat 확인, Jenkins/ADB 설정을 다루는 ops/dev UI 기준이다.
|
|
|
|
## Surface Type
|
|
|
|
- Type: ops-dev
|
|
- Notes: 현재는 내부 개발/운영 도구 UI 기준이다. product UI 레이어가 필요해지면 브랜드/콘텐츠/asset/tokens/motion 문서를 추가한다.
|
|
|
|
## Source Evidence
|
|
|
|
| Type | Path | Notes |
|
|
|------|------|-------|
|
|
| code | `lib/src/features/app_shell.dart` | NavigationRail 기반 shell과 builds/devices/console/settings page 연결 |
|
|
| code | `lib/src/features/builds/builds_page.dart` | Jenkins job/build 탐색과 APK download/install handoff UI |
|
|
| code | `lib/src/features/devices/devices_page.dart` | ADB device grid, pending install, install result UI |
|
|
| code | `lib/src/features/console/console_page.dart` | logcat filter, level segmented control, log viewer UI |
|
|
| code | `lib/src/features/settings/settings_page.dart` | Jenkins credential, Web Login, ADB diagnostics UI |
|
|
| code | `lib/src/features/settings/jenkins_web_login_page.dart` | fullscreen Jenkins WebView login dialog |
|
|
| docs | `README.md` | Jenkins artifact, ADB install, logcat, deep link scope |
|
|
| docs | `agent-ops/rules/project/rules.md` | Flutter macOS 앱 구조와 feature/service 분리 기준 |
|
|
| docs | `agent-roadmap/phase/security-distribution/milestones/auth-broker-evaluation.md` | Jenkins WebView token 자동화와 credential 수명주기 검토 맥락 |
|
|
| user | 없음 | agent-ui 생성 요청 |
|
|
|
|
## Structure
|
|
|
|
- `views/`: 화면 또는 업무 단위 정의
|
|
- `components/`: 반복 UI 구성요소 정의
|
|
- `archive/`: 현재 기준이 아닌 과거 정의/결정 로그
|
|
|
|
## Reading Rules
|
|
|
|
- 현재 UI 동기화는 이 디렉터리의 활성 문서를 기준으로 한다.
|
|
- `archive/**`는 과거 비교, 복원, 특정 근거 확인 요청이 있을 때만 읽는다.
|
|
|
|
## Sync Rules
|
|
|
|
- frame-view가 있으면 view region id와 frame region id는 동일해야 한다.
|
|
- view에서 참조한 component id는 `components/` 아래에 정의되어야 한다.
|
|
- frame은 definition을 대체하지 않는다.
|
|
- `구현됨`, `계획`, `가정`, `불명확` 상태를 구현 근거 없이 섞어 쓰지 않는다.
|
|
|
|
## Decision History
|
|
|
|
- 2026-06-25: 기존 Flutter UI 코드와 README/로드맵 근거를 바탕으로 `code-first` agent-ui 초안을 생성했다.
|