feat: complete MVP — all 14 tasks done
- Task 13: Full documentation (README, INSTALLATION, USAGE, ARCHITECTURE) - Task 14: Release prep (CHANGELOG, RELEASE_CHECKLIST) - Update PROJECT_STATE.md to reflect 100% completion
This commit is contained in:
@@ -1,209 +1,137 @@
|
||||
# Hostkeeper 🔐
|
||||
# Hostkeeper
|
||||
|
||||
> **Cross-platform SSH/SFTP management tool with secure credential storage**
|
||||
**Cross-platform SSH/SFTP management tool with secure credential storage**
|
||||
|
||||
**🚨 IMPORTANT**: If you're an AI agent or joining this project mid-development, **[read PROJECT_STATE.md first](PROJECT_STATE.md)** for current status and handoff instructions.
|
||||
## Features
|
||||
|
||||
---
|
||||
- **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
|
||||
|
||||
## 📋 Project Status
|
||||
## Quick Start
|
||||
|
||||
**Current Phase**: Planning Complete → Ready for Implementation
|
||||
**Progress**: 0% implementation, 100% planning
|
||||
**Estimated Timeline**: 3-4 weeks to MVP
|
||||
|
||||
### Quick Links
|
||||
|
||||
- 📊 **[PROJECT_STATE.md](PROJECT_STATE.md)** - **START HERE** - Current status & handoff guide
|
||||
- 🏗️ **[Design Document](docs/plans/2024-06-22-hostkeeper-design.md)** - Architecture & technical decisions
|
||||
- 📝 **[Implementation Plan](docs/plans/2024-06-22-hostkeeper-implementation.md)** - Detailed development tasks
|
||||
- 📚 **Documentation Index** - All project documentation
|
||||
|
||||
---
|
||||
|
||||
## ✨ What is Hostkeeper?
|
||||
|
||||
Hostkeeper is a comprehensive SSH/SFTP management tool inspired by [Termius](https://termius.com/), built with Go for maximum cross-platform compatibility.
|
||||
|
||||
### Key Features
|
||||
|
||||
- 🔐 **Secure credential management** - Safe SSH key and password storage
|
||||
- 📁 **SFTP file operations** - Built-in file transfer capabilities
|
||||
- 🔑 **SSH key management** - Generate, import, organize keys
|
||||
- 📤 **Cross-device sync** - Export/import credentials between devices
|
||||
- 🖥️ **Cross-platform** - Linux, macOS, Windows, Termux (Android)
|
||||
- 🎨 **TUI interface** - Interactive terminal user interface
|
||||
- ⚡ **Fast CLI** - Quick commands for power users
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Quick Start (For Users)
|
||||
|
||||
**Note**: This project is currently in early development. Not yet ready for production use.
|
||||
|
||||
### Installation (when ready)
|
||||
### Installation
|
||||
|
||||
```bash
|
||||
# From source
|
||||
go install github.com/yourusername/hostkeeper/cmd/hostkeeper@latest
|
||||
|
||||
# Or build from source
|
||||
git clone https://github.com/username/hostkeeper.git
|
||||
# Build from source
|
||||
git clone https://git.tukangketik.id/swanadiva/HostKeeper.git
|
||||
cd hostkeeper
|
||||
make build
|
||||
|
||||
# Or install directly
|
||||
go install git.tukangketik.id/swanadiva/hostkeeper/cmd/hostkeeper@latest
|
||||
```
|
||||
|
||||
### Usage (planned)
|
||||
### Usage
|
||||
|
||||
```bash
|
||||
# Add your first host
|
||||
# Add a host (interactive)
|
||||
hostkeeper add
|
||||
|
||||
# List all hosts
|
||||
# Or with flags
|
||||
hostkeeper add myserver --host 192.168.1.10 --user admin --password mypass
|
||||
|
||||
# List all hosts
|
||||
hostkeeper list
|
||||
|
||||
# Connect to host
|
||||
hostkeeper connect myserver
|
||||
|
||||
# Launch TUI interface
|
||||
# Edit host
|
||||
hostkeeper edit myserver
|
||||
|
||||
# Delete host
|
||||
hostkeeper delete myserver
|
||||
|
||||
# Launch TUI
|
||||
hostkeeper tui
|
||||
```
|
||||
|
||||
---
|
||||
## Core Commands
|
||||
|
||||
## 🛠️ Development
|
||||
| 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 |
|
||||
|
||||
### For Developers
|
||||
## Installation
|
||||
|
||||
**👋 If you're joining development:**
|
||||
1. **[Read PROJECT_STATE.md first](PROJECT_STATE.md)** - This shows current progress
|
||||
2. Check [Implementation Plan](docs/plans/2024-06-22-hostkeeper-implementation.md) - See what needs doing
|
||||
3. Pick up next incomplete task and follow TDD approach
|
||||
See [Installation Guide](docs/INSTALLATION.md) for detailed instructions for all platforms.
|
||||
|
||||
### Getting Started
|
||||
## 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
|
||||
# Clone repository
|
||||
git clone https://github.com/username/hostkeeper.git
|
||||
git clone https://git.tukangketik.id/swanadiva/HostKeeper.git
|
||||
cd hostkeeper
|
||||
|
||||
# Install dependencies
|
||||
go mod download
|
||||
|
||||
# Run tests
|
||||
make test
|
||||
|
||||
# Build project
|
||||
make deps
|
||||
make build
|
||||
|
||||
# Run application
|
||||
./build/hostkeeper --help
|
||||
```
|
||||
|
||||
### Tech Stack
|
||||
### 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
|
||||
|
||||
## 📚 Documentation Structure
|
||||
Project is in active development. See [PROJECT_STATE.md](PROJECT_STATE.md) for current progress.
|
||||
|
||||
```
|
||||
docs/
|
||||
├── plans/
|
||||
│ ├── 2024-06-22-hostkeeper-design.md # Architecture & design decisions
|
||||
│ └── 2024-06-22-hostkeeper-implementation.md # Step-by-step implementation guide
|
||||
├── INSTALLATION.md # Installation guide (to be created)
|
||||
├── USAGE.md # User documentation (to be created)
|
||||
└── ARCHITECTURE.md # Technical architecture (to be created)
|
||||
```
|
||||
## License
|
||||
|
||||
### Recommended Reading Order
|
||||
|
||||
1. **[PROJECT_STATE.md](PROJECT_STATE.md)** ⭐ *Start here for current status*
|
||||
2. **[Design Document](docs/plans/2024-06-22-hostkeeper-design.md)** - Understanding the system
|
||||
3. **[Implementation Plan](docs/plans/2024-06-22-hostkeeper-implementation.md)** - How to build it
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Development Roadmap
|
||||
|
||||
### MVP (Current Focus)
|
||||
- ✅ Complete planning and design
|
||||
- 🔲 Core SSH connection management
|
||||
- 🔲 Host CRUD operations
|
||||
- 🔲 Basic TUI interface
|
||||
- 🔲 Export/import functionality
|
||||
- 🔲 Cross-platform builds
|
||||
|
||||
### Phase 2 (Enhanced Features)
|
||||
- 🔳 Encrypted credential storage
|
||||
- 🔳 SFTP TUI browser
|
||||
- 🔳 SSH key generation
|
||||
- 🔳 Connection snippets
|
||||
|
||||
### Phase 3 (Advanced Features)
|
||||
- 🔳 Cloud sync
|
||||
- 🔳 Custom terminal emulator
|
||||
- 🔳 Web interface
|
||||
- 🔳 Plugin system
|
||||
|
||||
---
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
**For new contributors and AI agents:**
|
||||
|
||||
1. **[Read PROJECT_STATE.md](PROJECT_STATE.md)** first to understand current progress
|
||||
2. Check [implementation plan](docs/plans/2024-06-22-hostkeeper-implementation.md) for next tasks
|
||||
3. Follow TDD approach (test → code → refactor)
|
||||
4. Update PROJECT_STATE.md after completing work
|
||||
|
||||
### Development Setup
|
||||
|
||||
See [PROJECT_STATE.md](PROJECT_STATE.md) for detailed development workflow and handoff procedures.
|
||||
|
||||
---
|
||||
|
||||
## 📊 Current Status
|
||||
|
||||
| Component | Status |
|
||||
|-----------|--------|
|
||||
| Planning & Design | ✅ Complete |
|
||||
| Implementation | 🔲 Not Started |
|
||||
| Testing | 🔲 Not Started |
|
||||
| Documentation | ✅ Complete (technical docs) |
|
||||
|
||||
**Next Steps**: Start implementation following the [implementation plan](docs/plans/2024-06-22-hostkeeper-implementation.md)
|
||||
|
||||
---
|
||||
|
||||
## 📞 Support
|
||||
|
||||
- 📖 **[Documentation](docs/)**
|
||||
- 🐛 [Issue Tracker](https://github.com/username/hostkeeper/issues)
|
||||
- 💬 [Discussions](https://github.com/username/hostkeeper/discussions)
|
||||
|
||||
---
|
||||
|
||||
## 📄 License
|
||||
|
||||
MIT License - see [LICENSE](LICENSE) file for details
|
||||
|
||||
---
|
||||
|
||||
## 🙏 Acknowledgments
|
||||
|
||||
- Inspired by [Termius](https://termius.com/)
|
||||
- Reference implementation: [tamagosh](https://github.com/Candratama/tamagosh)
|
||||
- Built with excellent open-source tools:
|
||||
- [Cobra](https://github.com/spf13/cobra) - CLI framework
|
||||
- [Bubble Tea](https://github.com/charmbracelet/bubbletea) - TUI framework
|
||||
- [golang.org/x/crypto/ssh](https://pkg.go.dev/golang.org/x/crypto/ssh) - SSH library
|
||||
|
||||
---
|
||||
|
||||
**📌 Remember**: If you're continuing development work, always check [PROJECT_STATE.md](PROJECT_STATE.md) first to see what's been done and what needs to happen next!
|
||||
MIT
|
||||
|
||||
Reference in New Issue
Block a user