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:
swanadiva
2026-07-07 12:15:19 +07:00
parent c215d68c81
commit a0c8483c0e
8 changed files with 1442 additions and 2500 deletions
+15 -31
View File
@@ -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