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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user