Hostkeeper V2 — Progress Tracker
Purpose : Enable seamless continuation of development by any agent/LLM across sessions.
How to use : Read this file first. Find the first unchecked [ ] item. That's where you continue.
Last Updated : 2026-06-29
Status : Planning complete, implementation not started.
1. Overview
Hostkeeper V2 is a Termius-like cross-platform SSH/SFTP management GUI application.
Item
Value
Goal
Build a free, open-source Termius alternative with full feature parity
Desktop
GoFiber backend + React/xterm.js UI + Electron wrapper
Mobile
Go mobile library + WebView wrapper (Android/iOS)
Backend language
Go 1.26
HTTP framework
GoFiber v2 (fasthttp-based)
Frontend
React 19, TypeScript, xterm.js, Zustand, Vite
Desktop wrapper
Electron (electron-builder)
Mobile wrapper
gomobile + WebView
V1 (existing)
CLI/TUI SSH/SFTP manager — 105 tests, all passing. Frozen.
2. Current Status Summary
Item
Status
Planning documents
DONE
Sprint 0 — Scaffolding
NOT STARTED
Sprint 1 — Foundation
NOT STARTED
Sprint 2 — Core Features
NOT STARTED
Sprint 3 — SFTP + Polish
NOT STARTED
Sprint 4 — Advanced
NOT STARTED
Sprint 5 — Platform Polish
NOT STARTED
3. Sprint Checklist
Sprint 0 — Project Scaffolding (Day 0)
Sprint 1 — Foundation (Day 1-5)
Day 1-2: Data API Layer
Day 3: Groups + Config API
Day 4: Web UI Scaffold
React Router setup — routes for all screens (placeholder)
Layout component — Sidebar + TabBar + MainContent + StatusBar
Sidebar component — GroupTree (recursive), SearchBar, QuickActions
Theme system — CSS variables (dark, light, high-contrast)
API client layer — fetch wrapper + error handling + retry logic
State management — Zustand stores (hosts, keys, snippets, ui, terminal)
Keyboard shortcuts — Cmd+N new host, Cmd+K search, Cmd+D dark mode
Verify: Navigation between screens works
Day 5: Host List Screen
HostList screen — HostCard components (grid + list view toggle)
GroupTree — collapsible, recursive, drag-and-drop (host -> group)
Search — filter by name, hostname, tag
Tag filter bar — chips for each tag, click to filter
Favorite toggle — star icon, filter favorites only
Context menu — right-click: connect, edit, delete, duplicate
Empty state — illustration + "Add your first host" CTA
Loading skeleton states
Verify: Host appears in list, can search, can filter, can favorite
Sprint 2 — Core Features (Day 6-10)
Day 6-7: Host Form + CRUD UI
HostForm screen — add mode + edit mode
Basic info fields — name, hostname, port, username
Auth section — type selector (password/key/agent)
Password field — show/hide toggle, strength indicator
Key picker — dropdown from stored keys
TagsInput — type + Enter to add, backspace to remove, autocomplete
GroupPicker — tree picker component
Advanced settings — proxy, jump host, keepalive interval
Validation — required fields, hostname regex, port range 1-65535
Error display — inline validation + toast notifications
Keyboard shortcuts — Cmd+S save, Esc cancel, Tab next field
Verify: Create host -> appears in list -> edit -> update -> delete
Day 8-10: SSH Terminal (MOST CRITICAL)
Sprint 3 — SFTP + Polish (Day 11-15)
Day 11-12: SFTP Browser
Go: SFTP REST handlers app/backend/bridge/sftp.go
React: SFTPScreen
LocalPane + RemotePane (dual pane split view)
File list table — name, size, date, permissions (sortable)
Navigation — cd, back, forward, path breadcrumb
Upload/download with progress bars
Transfer queue — multiple files, cancel, retry
Drag & drop from desktop to upload
Context menu — download, delete, rename, chmod, mkdir
Keyboard shortcuts — Delete, F2 rename, Ctrl+C/V copy/move
Verify: Browse remote files -> upload -> download -> delete -> rename
Day 13: Security + Vault
Day 14: Settings Screen
Appearance tab — theme switcher, font selection, font size, background opacity
Terminal tab — scrollback (100-10000), cursor style, cursor blink, bell, copy-on-select
Connection tab — default timeout, keepalive interval, auto-reconnect
Vault tab — change password, auto-lock timer, lock on sleep
General tab — data directory, export/import buttons, about/version
Verify: Change settings -> restart -> settings persist
Day 15: Mobile Setup
Sprint 4 — Advanced Features (Day 16-20)
Day 16-17: Port Forwarding
Day 18: Import/Export
Go: Import from ~/.ssh/config — parse host, hostname, port, user, identity
Go: Import from CSV — columns: name, hostname, port, username, group, tags
Go: Export all data — encrypted JSON with all entities
React: Import/Export UI — drag & drop, progress, preview, confirm
Verify: Export -> delete all -> import -> all data restored
Day 19-20: Jump Hosts + Proxy
Sprint 5 — Platform Polish (Day 21-25)
Day 21-22: Desktop Enhancements
Electron native menu bar — File, Edit, View, Window, Help
System tray icon — quick actions, recent hosts
Global keyboard shortcuts — Cmd+` toggle, Cmd+N new host
Window state persistence — position, size, maximized
Auto-update via electron-updater
OS Keychain integration — macOS Keychain, Windows Credential Manager, Linux Secret Service
Verify: Install .dmg -> app appears -> open -> works
Day 23: Performance Optimization
Day 24-25: Mobile Polish
4. Known Issues
#
Issue
Severity
Status
(none)
—
—
—
5. Last Session Notes
Date
What was done
Commits
2026-06-29
V2 planning documents created (9 files)
—
6. How to Continue
For a new AI agent:
Read this file (docs/v2/PROGRESS.md) — find the first [ ] item
Read the relevant spec doc — for the current task:
REST API endpoints -> docs/v2/API.md
UI components -> docs/v2/UI_COMPONENTS.md
Data models -> docs/v2/DATA_MODELS.md
Visual reference -> docs/v2/UI_TERMIUS_REFERENCE.md
Performance notes -> docs/v2/PERFORMANCE.md
Build pipeline -> docs/v2/BUILD_SYSTEM.md
Read docs/v2/ARCHITECTURE.md — understand the system
Implement in app/backend/ (Go) or app/frontend/ (React)
Test — run go test ./app/backend/... and npm test in app/frontend/
Update this file — mark [x] the completed task, update "Last Session Notes"
For a returning AI agent:
Read this file — check "Last Session Notes" for context
Check git log — git log --oneline -10 for recent commits
Find the first [ ] — that's where you continue
Update this file when done
7. Reference Documents Index
Document
When to read
docs/v2/PROGRESS.md
Always (first) — know where to continue
docs/v2/ARCHITECTURE.md
Understanding the system
docs/v2/API.md
Implementing REST endpoints or WebSocket handlers
docs/v2/DATA_MODELS.md
Creating/modifying Go structs or JSON schemas
docs/v2/UI_COMPONENTS.md
Building React components
docs/v2/UI_TERMIUS_REFERENCE.md
Designing UI layout, colors, typography
docs/v2/SPRINT_PLAN.md
Detailed file-by-file task instructions
docs/v2/BUILD_SYSTEM.md
Setting up build pipeline
docs/v2/PERFORMANCE.md
Tuning for speed and stability
8. Git History Reference
Commit
Description
(V2 commits will be listed here)
—
IMPORTANT : This file MUST be updated after every development session to ensure continuity.