docs(#70): sync project structure in README with actual codebase (#96)

- Removed references to HermesControlApp.kt, EmptyState.kt, LoadingState.kt
  (none of these files exist)
- Replaced with StateViews.kt, SharedComponents.kt
- Added data/ws/ (WebSocket TUI Gateway layer)
- Added notification/ (ChatNotificationService foreground service)
- Added util/ (CronExpressionFormatter)
- Added missing theme files: HermesStatusColors.kt, Spacing.kt, Shapes.kt
- Added settings/ and connect/ screen directories

Co-authored-by: M57 <hy4ri@users.noreply.github.com>
This commit is contained in:
M57andM57 authored and GitHub committed 2026-06-19 22:15:41 +03:00
1 parent 451412851f
commit 27a896c634
1 file changed
+41 -33
+41 -33
View File
@@ -141,43 +141,52 @@ hermes-mobile/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/com/m57/hermescontrol/
│ │ │ │ ├── Navigation.kt # NavHost + screen routing
│ │ │ │ ├── NavigationController.kt # Drawer + bottom nav controller
│ │ │ │ ├── NavigationKeys.kt # Route constants
│ │ │ │ ├── Navigation.kt # Drawer + NavDisplay + entry wiring
│ │ │ │ ├── NavigationController.kt # Central navigation guard (dedup)
│ │ │ │ ├── NavigationKeys.kt # Screen key definitions
│ │ │ │ ├── MainActivity.kt # Single activity entry point
│ │ │ │ ├── HermesControlApp.kt # App-level composable root
│ │ │ │ ├── data/
│ │ │ │ │ ├── model/ # API models (DTOs)
│ │ │ │ │ ├── remote/ # Retrofit API client
│ │ │ │ │ └── local/ # Room database
│ │ │ │ │ ├── model/ # API models / DTOs (20+ files)
│ │ │ │ │ ├── remote/ # Retrofit + OkHttp API client
│ │ │ │ │ ├── local/ # Room DB (Dao, Entity, Mapper)
│ │ │ │ │ └── ws/ # WebSocket TUI Gateway (JSON-RPC 2.0)
│ │ │ │ ├── notification/
│ │ │ │ │ └── ChatNotificationService.kt # Foreground service for reply alerts
│ │ │ │ ├── theme/
│ │ │ │ │ ├── Theme.kt # Material You dynamic theming
│ │ │ │ │ ├── Color.kt # Color palette definitions
│ │ │ │ │ ├── HermesStatusColors.kt # Semantic status colours (CompositionLocal)
│ │ │ │ │ ├── Type.kt # Typography scale
│ │ │ │ │ └── Motion.kt # Shared transition animations
│ │ │ │ └── ui/
│ │ │ │ ├── common/ # Shared components
│ │ │ │ │ ├── HermesScaffold.kt # Standardized screen layout
│ │ │ │ │ ├── EmptyState.kt # Empty list placeholder
│ │ │ │ │ └── LoadingState.kt # Loading spinner component
│ │ │ │ ├── chat/ # Chat screen
│ │ │ │ ├── config/ # Raw config viewer
│ │ │ │ ├── profiles/ # Profile management
│ │ │ │ ├── skills/ # Skills browser
│ │ │ │ ├── plugins/ # Plugin management
│ │ │ │ ├── toolsets/ # Toolset viewer
│ │ │ │ ├── cron/ # Cron job viewer
│ │ │ │ ├── webhooks/ # Webhook management
│ │ │ │ ├── logs/ # Log stream viewer
│ │ │ │ ├── keys/ # Environment variable manager
│ │ │ │ ├── gateway/ # Gateway health monitor
│ │ │ │ ├── mcp/ # MCP server manager
│ │ │ │ ├── channels/ # Messaging channels
│ │ │ │ ├── pairing/ # Device pairing
│ │ │ │ ├── kanban/ # Kanban board viewer
│ │ │ │ ├── model/ # LLM model selector
│ │ │ │ ├── system/ # System info screen
│ │ │ │ └── achievements/ # Agent achievements
│ │ │ │ │ ├── Motion.kt # Shared transition animations
│ │ │ │ │ ├── Spacing.kt # Spacing tokens (CompositionLocal)
│ │ │ │ │ └── Shapes.kt # Shape tokens
│ │ │ │ ├── ui/
│ │ │ │ │ ├── common/ # Shared components
│ │ │ │ │ │ ├── HermesScaffold.kt # Standardised screen layout
│ │ │ │ │ │ ├── StateViews.kt # Loading, error, empty placeholders
│ │ │ │ │ │ └── SharedComponents.kt # SearchBar, FilterChips, ToggleRow, etc.
│ │ │ │ │ ├── chat/ # Chat screen + view model
│ │ │ │ │ ├── settings/ # Settings screen + view model
│ │ │ │ │ ├── connect/ # Connect / pairing screen
│ │ │ │ │ ├── profiles/ # Profile management
│ │ │ │ │ ├── skills/ # Skills browser
│ │ │ │ │ ├── plugins/ # Plugin management
│ │ │ │ │ ├── toolsets/ # Toolset viewer
│ │ │ │ │ ├── cron/ # Cron job viewer
│ │ │ │ │ ├── webhooks/ # Webhook management
│ │ │ │ │ ├── logs/ # Log stream viewer
│ │ │ │ │ ├── keys/ # Environment variable manager
│ │ │ │ │ ├── gateway/ # Gateway health monitor
│ │ │ │ │ ├── mcp/ # MCP server manager
│ │ │ │ │ ├── model/ # LLM model selector
│ │ │ │ │ ├── channels/ # Messaging channels
│ │ │ │ │ ├── pairing/ # Device pairing
│ │ │ │ │ ├── config/ # Raw config viewer
│ │ │ │ │ ├── system/ # System info screen
│ │ │ │ │ ├── kanban/ # Kanban board viewer
│ │ │ │ │ └── achievements/ # Agent achievements
│ │ │ │ └── util/ # Utility classes
│ │ │ │ └── CronExpressionFormatter.kt
│ │ │ ├── res/
│ │ │ │ ├── values/
│ │ │ │ │ └── strings.xml # String resources
@@ -197,8 +206,7 @@ hermes-mobile/
├── settings.gradle.kts # Project settings
└── gradlew # Gradle wrapper
```
---
\n---
## Tech Stack