refactor: move V1 code into v1/ subdirectory

- git mv cmd/ internal/ pkg/ test/ go.mod go.sum Makefile build.sh docs/ v1/
- Create v1/README.md with V1 documentation
- Update root README for V1 + V2 structure
- V1 still builds (cd v1 && go build ./cmd/hostkeeper) and 105 tests pass
- Root is now clean for V2 development
This commit is contained in:
swanadiva
2026-07-07 11:56:27 +07:00
parent 8ebdebedc8
commit 847989df75
68 changed files with 58 additions and 116 deletions
+20 -116
View File
@@ -2,136 +2,40 @@
**Cross-platform SSH/SFTP management tool with secure credential storage**
## Features
## V1 (Legacy) — CLI/TUI
- **Secure Credential Management** — Store SSH credentials with proper file permissions (0600)
- **SSH Connection** — Connect to hosts via native SSH or Go SSH client
- **Host Management** — Add, list, connect, edit, delete hosts
- **Export/Import** — Backup and transfer credentials across devices
- **TUI Interface** — Interactive terminal user interface for host management
- **Cross-Platform** — Works on Linux, macOS, Windows, and Termux (Android)
- **Fast CLI** — Quick commands for power users
- **Tag-based Organization** — Categorize hosts with custom tags and groups
## Quick Start
### Installation
V1 adalah versi CLI/TUI yang sudah selesai dan di-freeze. Semua kode ada di folder [`v1/`](v1/).
```bash
# Build from source
git clone https://git.tukangketik.id/swanadiva/HostKeeper.git
cd hostkeeper
cd v1
make build
# Or install directly
go install git.tukangketik.id/swanadiva/hostkeeper/cmd/hostkeeper@latest
./hostkeeper tui
```
### Usage
Lihat [`v1/README.md`](v1/README.md) untuk dokumentasi lengkap.
```bash
# Add a host (interactive)
hostkeeper add
## V2 (In Development) — GoFiber + React + Electron
# Or with flags
hostkeeper add myserver --host 192.168.1.10 --user admin --password mypass
V2 adalah rewrite dengan arsitektur baru:
- **Backend**: GoFiber v2 (fasthttp) — lokal HTTP server di `app/backend/`
- **Frontend**: React + TypeScript + TailwindCSS v4 di `app/frontend/`
- **Desktop**: Electron wrapper di `app/electron/`
- **Mobile**: WebView shell di `mobile/`
# List all hosts
hostkeeper list
Lihat [docs/v2/](docs/v2/) untuk dokumentasi perencanaan.
# Connect to host
hostkeeper connect myserver
## Struktur Repository
# Edit host
hostkeeper edit myserver
# Delete host
hostkeeper delete myserver
# Launch TUI
hostkeeper tui
```
## Core Commands
| Command | Description |
|---------|-------------|
| `hostkeeper add [name]` | Add a new SSH host |
| `hostkeeper list` | List all saved hosts |
| `hostkeeper connect <name>` | Connect to a host |
| `hostkeeper edit <name>` | Edit a host configuration |
| `hostkeeper delete <name>` | Delete a host |
| `hostkeeper export <file>` | Export data to JSON file |
| `hostkeeper import <file>` | Import data from JSON file |
| `hostkeeper tui` | Launch TUI interface |
| `hostkeeper completion [shell]` | Generate shell completion |
| `hostkeeper version` | Print version info |
## Installation
See [Installation Guide](docs/INSTALLATION.md) for detailed instructions for all platforms.
## Usage
See [Usage Guide](docs/USAGE.md) for detailed command examples.
## Architecture
See [Architecture Overview](docs/ARCHITECTURE.md) for technical details.
## Security
- All credential files use `0600` permissions (owner read/write only)
- Passwords and keys are never logged or displayed in error messages
- Encrypted storage planned for Phase 2
## Development
### Prerequisites
- Go 1.21+
- Make (optional, for build automation)
### Setup
```bash
git clone https://git.tukangketik.id/swanadiva/HostKeeper.git
cd hostkeeper
make deps
make build
hostkeeper/
├── v1/ ← V1 CLI/TUI (frozen)
├── app/ ← V2 backend + frontend + electron
├── mobile/ ← V2 mobile wrapper
├── template/ ← Referensi UI React (Lumina System)
└── docs/
└── v2/ ← Dokumentasi perencanaan V2
```
### Testing
```bash
# All tests
make test
# With coverage
make test-coverage
```
### Build
```bash
# Current platform
make build
# All platforms
make release
```
## Tech Stack
- **Language**: Go 1.21+
- **CLI Framework**: [Cobra](https://github.com/spf13/cobra)
- **TUI Framework**: [Bubble Tea](https://github.com/charmbracelet/bubbletea)
- **SSH Library**: [golang.org/x/crypto/ssh](https://pkg.go.dev/golang.org/x/crypto/ssh)
## Project Status
Project is in active development. See [PROJECT_STATE.md](PROJECT_STATE.md) for current progress.
## License
MIT