How joshh3ro/astra_lawnchair works
Astra Lawnchair is a Windows-focused Dart terminal launcher for AstraBot accounts and configs. Users discover or refresh account data, select account/config pairs, and launch them as detached processes with a configurable stagger. The interface also supports session control, config switching/copying, and obfuscation; the tree indicates separate tracking and statistics services. Source excerpts were unavailable, so links reflect the documented workflow and named modules, not verified call sites.
Main entry points: main_screen.dart Main screen · app.dart TUI app · scanner_service.dart Account scanner · launcher_service.dart Launcher service
Components 19
Terminal interface
- TUI app
lib/src/ui/app.dart - Main screen
lib/src/ui/screens/main_screen.dart - Setup screen
lib/src/ui/screens/setup_screen.dart - Stats chart
lib/src/ui/widgets/ascii_chart.dart
Runtime services
- Account scanner
lib/src/services/scanner_service.dart - Config service
lib/src/services/config_service.dart - Launcher service
lib/src/services/launcher_service.dart - Process tracker
lib/src/services/process_tracker_service.dart - Stats tracker
lib/src/services/stat_tracker_service.dart
Domain data
- Account
lib/src/models/account.dart - App config
lib/src/models/app_config.dart - Launch target
lib/src/models/launch_target.dart - Running session
lib/src/models/running_session.dart - Account stats
lib/src/models/account_stats.dart
Utilities
- Item classifier
lib/src/utils/item_classifier.dart - Obfuscator
lib/src/utils/obfuscator.dart
Other components
- User
- CLI entry
bin/astra_lawnchair.dart - Library entry
lib/astra_lawnchair.dart
Connections 19
- User → CLI entry: starts
- CLI entry → Library entry: enters
- Library entry → TUI app: starts
- User → Main screen: operates
- TUI app → Setup screen: initial setup
- TUI app → Main screen: shows
- Main screen → Account scanner: refreshes data
- Main screen → Config service: reads or saves cache
- Main screen → Launcher service: launches pairs
- Main screen → Process tracker: controls sessions
- Main screen → Stats tracker: tracks stats
- Main screen → Obfuscator: toggles obfuscation
- Account scanner → Account: discovers
- Account scanner → App config: discovers
- Main screen → Launch target: queues pairs
- Launcher service → Running session: starts sessions
- Process tracker → Running session: tracks
- Stats tracker → Account stats: records
- Main screen → Stats chart: renders stats