alt/apps/client
toki 7c1e36cefa feat(proto): common.proto에 multi-timeframe 필드를 추가하고 생성 코드를 업데이트한다
common.proto에 multi-timeframe 관련 필드 추가
Go/Dart 생성 코드 일괄 업데이트
2026-06-17 21:33:42 +09:00
..
android
assets
integration_test
ios
lib feat(proto): common.proto에 multi-timeframe 필드를 추가하고 생성 코드를 업데이트한다 2026-06-17 21:33:42 +09:00
linux
macos
test feat(live-trading): 계좌 동기화와 감사 추적을 추가한다 2026-06-08 11:18:41 +09:00
test_runtime
tool
web
windows
.gitignore
.metadata
analysis_options.yaml
pubspec.lock
pubspec.yaml
README.md

ALT Client

Flutter client for ALT web, mobile, and desktop targets.

This app uses Riverpod for state and dependency boundaries, and go_router for navigation. Generated ALT protobuf files live under lib/src/generated/alt/v1. Client parser map helpers live under lib/src/contracts. Do not edit generated files by hand; run ../../bin/contracts-gen.

Workbench Shell

lib/src/app/alt_workbench_shell.dart provides the current ALT client shell: top titlebar, right-side activity rail, center content switching, and a right Agent dock. The dock uses the sibling agent_shell package as a product-neutral chat/agent surface.

The shell is intentionally a skeleton. Quant-specific screens such as market data, backtests, portfolio, and research remain placeholders until the API/worker/domain headless paths are ready to mount real surfaces.

API/Core Readiness Handoff

Before adding operator console screens, client work should prove the screenless API boundary first:

  • request/response parser coverage for generated ALT protobuf messages
  • socket connect, disconnect, timeout, and transport failure states represented outside UI copy
  • market data status/list calls with parsed result/status keys
  • backtest list/detail/result/start calls with success and typed error paths
  • reproducible flutter test output plus fixture/fake notes for the next UI milestone

The CLI scenario evidence that feeds this client boundary lives in apps/cli/testdata/operator/headless_validation.md.

flutter pub get
flutter run -d chrome
flutter test
flutter analyze --no-fatal-infos