docs: migrate all planning docs from React to GoFiber + HTMX
- New ARCHITECTURE_HTMX.md — comprehensive HTMX architecture doc - ARCHITECTURE.md — updated to point to HTMX version - UI_COMPONENTS.md — replaced React tree with HTMX partials - SPRINT_PLAN.md — all sprint tasks updated for HTMX - BUILD_SYSTEM.md — simplified (no Vite, no npm) - TIMELINE.md — 3.5 week HTMX timeline - PROGRESS.md — updated status + HTMX - AGENTS.md — updated checkpoint with HTMX decision
This commit is contained in:
+15
-31
@@ -1,42 +1,26 @@
|
||||
# Hostkeeper V2 — Architecture
|
||||
|
||||
> **Status**: V2 Planning Complete
|
||||
> **Last Updated**: 2026-06-29
|
||||
> **Status**: Migrasi React → HTMX
|
||||
> **Last Updated**: 2026-07-07
|
||||
> **Dokumen arsitektur baru**: [ARCHITECTURE_HTMX.md](ARCHITECTURE_HTMX.md)
|
||||
> **V1 (existing)**: CLI/TUI SSH/SFTP manager — frozen, no changes.
|
||||
|
||||
---
|
||||
|
||||
## 1. System Overview
|
||||
## ⚠️ Keputusan Arsitektur
|
||||
|
||||
Hostkeeper V2 is a Termius-like cross-platform SSH/SFTP management GUI. The architecture follows a **Go backend + Web UI + Electron/WebView** pattern — the same approach used by Termius, VS Code, Discord, Slack, and Figma.
|
||||
Hostkeeper V2 menggunakan **GoFiber + HTMX**, **bukan React/SPA**.
|
||||
|
||||
```
|
||||
┌──────────────────────────────────────────────────────┐
|
||||
│ ELECTRON / WEBVIEW │
|
||||
│ Native window, menu bar, tray icon, auto-updater │
|
||||
│ │
|
||||
│ ┌─────────────────────────────────────────────────┐ │
|
||||
│ │ WEB UI (React + TypeScript) │ │
|
||||
│ │ Host List │ Terminal │ SFTP │ Keys │ Settings │ │
|
||||
│ │ ┌───────────────────────────────────────────┐ │ │
|
||||
│ │ │ xterm.js (terminal) │ │ │
|
||||
│ │ └───────────────────────────────────────────┘ │ │
|
||||
│ └─────────────────────────────────────────────────┘ │
|
||||
│ │ HTTP + WebSocket │
|
||||
│ ┌─────────────────────────────────────────────────┐ │
|
||||
│ │ GO BACKEND (GoFiber v2) │ │
|
||||
│ │ REST API │ WebSocket │ SSH │ SFTP │ │
|
||||
│ │ ┌───────────────────────────────────────────┐ │ │
|
||||
│ │ │ pkg/ssh │ pkg/sftp │ pkg/crypto │ ... │ │ │
|
||||
│ │ └───────────────────────────────────────────┘ │ │
|
||||
│ └─────────────────────────────────────────────────┘ │
|
||||
└──────────────────────────────────────────────────────┘
|
||||
│ Distributed as:
|
||||
├── .dmg (macOS)
|
||||
├── .exe (Windows)
|
||||
├── .AppImage (Linux)
|
||||
└── .aab / .ipa (Android / iOS)
|
||||
```
|
||||
Keputusan ini diambil karena:
|
||||
1. Developer lebih nyaman dengan Go daripada JavaScript
|
||||
2. ~90% kode adalah Go + HTML template
|
||||
3. Hanya ~410 baris JS yang diperlukan (xterm.js, clipboard, toggle)
|
||||
4. Build lebih sederhana — tanpa Vite, npm, TypeScript
|
||||
5. Bisa berjalan di browser biasa tanpa Electron
|
||||
|
||||
**Dokumen arsitektur lengkap ada di** [`ARCHITECTURE_HTMX.md`](ARCHITECTURE_HTMX.md).
|
||||
|
||||
---
|
||||
|
||||
### Communication Flow
|
||||
|
||||
|
||||
Reference in New Issue
Block a user