Commit Graph

10 Commits

Author SHA1 Message Date
swanadiva b3878de9af feat: Go SSH interactive shell default, --native flag for system SSH 2026-06-23 14:26:58 +07:00
swanadiva 513492e6ee feat: add short ID column to list, improve connect error with hint 2026-06-23 14:23:11 +07:00
swanadiva 1869cff590 fix: host lookup by hostname, interactive input with spaces 2026-06-23 14:16:49 +07:00
swanadiva 30b57f6084 feat: implement export and import commands
- Add export command with JSON file output and size summary
- Add import command with replace/merge strategies and dry-run preview
- Add integration test for export/import round-trip via storage layer
- Update project state documentation
2026-06-23 13:58:51 +07:00
swanadiva fbe444c3ab feat: implement basic TUI framework with host list
- Add Bubble Tea TUI model with Init/Update/View
- Implement host list screen with keyboard navigation (up/down/enter/q)
- Add styled rendering for hosts, selection, tags
- Create hostkeeper tui CLI command
- Add tests for TUI initialization and host loading
- Update project state documentation
2026-06-23 13:54:49 +07:00
swanadiva d6b810de47 feat: implement edit and delete host commands
- Add edit command with flag-based and interactive update modes
- Add delete command with confirmation prompt and --force flag
- Include delete alias 'rm' for convenience
- Add comprehensive tests for both commands
- Update project state documentation
2026-06-23 13:52:10 +07:00
swanadiva 368b7cdadb feat: implement connect host command with native SSH
- Add connect command with native SSH (default) and direct Go SSH (--direct) modes
- Support host lookup by name or ID
- Build SSH arguments for system SSH client
- Include timeout configuration flag
- Add comprehensive tests for command and SSH arg building
- Update project state documentation
2026-06-23 13:48:05 +07:00
Swana Diva Borneos 4087c5fdc7 feat: add & list commands with deadlock fix
- Add 'add' command: register hosts via flags or interactive prompts
  Supports password/key/both auth, groups, tags, notes, port override
- Add 'list' command: display hosts with filtering and formatting
  Supports --group, --tag filters, --sort, table/json/wide output
- Fix deadlock bug in JSON storage (RLock within Lock)
  Introduced internal list functions that don't lock
  Affects: ListHosts/GetHost/SaveHost/DeleteHost + KeyPair + Snippet
- Add comprehensive tests for add and list commands
- Update PROJECT_STATE.md (Tasks 1-8 complete, ~55% done)
2026-06-23 10:56:04 +07:00
swanadiva 2bb9d18f57 feat: Implement CLI framework with Cobra
- Add root command with Cobra framework
- Implement shell completion support for bash/zsh/fish/powershell
- Add version command
- Add configuration initialization on startup via PersistentPreRunE
- Include verbose (-v/-vv) and debug flags
- Set up proper error handling and exit codes

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-22 16:21:43 +07:00
swanadiva 33947816b7 feat: complete Tasks 1-3 (setup, models+storage, config management)
- Task 1: Project setup (go.mod, Makefile, .gitignore, main.go)
- Task 2: Core data models (Host, KeyPair, Snippet, AppConfig) + JSON storage layer
- Task 3: Configuration management with cross-platform path support (macOS/Linux/Windows)
- Updated PROJECT_STATE.md with progress tracking
2026-06-22 16:09:02 +07:00