|
1 | | -# TUSSHI Project Roadmap & Checklist |
| 1 | +# TUSSHI Project Roadmap |
2 | 2 |
|
3 | | -## Live Diagnostics & Organization |
4 | | -### Background Health Checks & Latency Checker (Instant Ping) |
| 3 | +This document outlines the planned design improvements, features, and core focus areas for TUSSHI. |
5 | 4 |
|
6 | | -**Goal:** Avoid standard 30-second SSH timeouts by knowing if a server is online before connecting. |
| 5 | +## 1. Live Diagnostics & Organization |
7 | 6 |
|
| 7 | +### Background Health Checks & Latency Checker (Instant Ping) |
8 | 8 | - [x] Pool of non-blocking background goroutines performing quick TCP handshakes (e.g., `net.DialTimeout` with a 1-2s limit on the target `HostName:Port`). |
9 | 9 | - [x] Dynamic Bubble Tea messages (`PingResultMsg`) to update the TUI model reactively. |
10 | | -- [x] Interactive status column displaying **Online (Green with latency in ms)** or **Offline (Red)**. |
| 10 | +- [x] Interactive status column displaying **Online (latency in ms)** or **Offline**. |
11 | 11 |
|
12 | 12 | ### Native Tagging via Lossless Comments |
13 | | - |
14 | | -**Goal:** Enable dynamic filtering and custom groupings in larger configurations without modifying the standard OpenSSH config schema. |
15 | | - |
16 | 13 | - [ ] Lossless parser support for custom hashtag metadata inside standard configuration comments (e.g., `# tags: production, database, aws`). |
17 | 14 | - [ ] Indexing tags on load to enable query filtering in the search input (e.g., `tag:production` or `#aws`). |
18 | | -- [ ] Categorized TUI split views based on tag groups. |
| 15 | +- [ ] Categorized TUI views or tab structures based on tag groups. |
19 | 16 |
|
20 | 17 | --- |
21 | 18 |
|
22 | | -## Password & Secret Manager Integrations |
23 | | - |
24 | | -### Bitwarden (`bw`) & 1Password (`op`) CLI Integration |
25 | | - |
26 | | -**Goal:** Securely fetch passwords and SSH key passphrases without manual entries or insecure hardcoding. |
27 | | - |
28 | | -- [ ] Allow declaration of custom properties inside host blocks that TUSSHI's lossless parser preserves (e.g., `_PassSource bitwarden:item-uuid` or `_PassSource op:vault/item`). |
29 | | -- [ ] Direct queries to local password manager CLIs to retrieve passwords or key passphrases prior to launching a connection. |
30 | | -- [ ] Secure TUI prompt flow for master password entry or biometric unlock if the user is unauthenticated with their manager CLI. |
31 | | - |
32 | | -### Dynamic `SSH_ASKPASS` Integration |
33 | | - |
34 | | -**Goal:** Provide secure, hands-off secret injection into the standard SSH client without putting sensitive data in process arguments or environment variables. |
| 19 | +## 2. Terminal & Theme Integration |
35 | 20 |
|
36 | | -- [ ] Act as a local, short-lived `SSH_ASKPASS` provider. |
37 | | -- [ ] Point the `SSH_ASKPASS` environment variable to a secure internal hook or custom short-lived local script. |
38 | | -- [ ] Dynamically pipe decrypted credentials from secret manager integrations directly to the native `ssh` prompt. |
| 21 | +### System Theme & Adaptive Color Palette |
| 22 | +- [ ] Integrate dynamic terminal color profile query (using libraries like `termenv` or ANSI queries) to auto-detect dark vs. light terminal backgrounds. |
| 23 | +- [ ] Adapt TUI element coloring dynamically to respect user terminal themes (ANSI palette colors) rather than using hardcoded hex color values. |
| 24 | +- [ ] Implement system-level accessibility support (respect `NO_COLOR` environment variable). |
39 | 25 |
|
40 | 26 | --- |
41 | 27 |
|
42 | | -## Advanced Connectivity & Tunnelling |
43 | | - |
44 | | -### Interactive Port Forwarding & SSH Tunnel Visualizer |
45 | | - |
46 | | -**Goal:** Simplify complex database and SOCKS5 proxy port forwarding setups (`LocalForward`, `RemoteForward`, `DynamicForward`). |
47 | | - |
48 | | -- [ ] Dedicated "Tunnels" pane (toggleable via `t`) for the highlighted host. |
49 | | -- [ ] Visual interface to list, add, or toggle active port-forwarding tunnels. |
50 | | -- [ ] Background connection keep-alives with a real-time status light (Green = Active, Red = Stopped). |
51 | | - |
52 | | -### Startup Snippets & Command Bookmarks |
53 | | - |
54 | | -**Goal:** Speed up repetitive remote administrative tasks. |
55 | | - |
56 | | -- [ ] Association of custom command bookmarks with individual hosts (e.g., `tail -f /var/log/nginx/access.log`). |
57 | | -- [ ] Command bookmark dropdown menu accessible via connection hotkeys (e.g., `Shift+Enter`). |
58 | | -- [ ] Auto-executing shell launcher to immediately connect and run the selected bookmark. |
59 | | - |
60 | | -### Multi-Host Command Broadcast (CSSH Mode) |
61 | | - |
62 | | -**Goal:** Run diagnostic or setup commands across multiple servers concurrently. |
| 28 | +## 3. Remote Execution Shortcuts |
63 | 29 |
|
64 | | -- [ ] Multi-select hosts in the TUI using `spacebar`. |
65 | | -- [ ] Unified command execution overlay to type a single broadcast command. |
66 | | -- [ ] Parallel command execution on all selected servers with a beautifully formatted, collapsable report of `stdout` and `stderr`. |
| 30 | +### Command Bookmarks & Startup Snippets |
| 31 | +- [ ] Support bookmarking remote commands inside the configuration file using lossless comments (e.g., `# bookmark: Tail access logs | tail -f /var/log/nginx/access.log`). |
| 32 | +- [ ] Interactive dropdown or list overlay to select a command bookmark for the active host. |
| 33 | +- [ ] Direct invocation of the system ssh binary with the selected command bookmark appended (e.g., `ssh host -t "command"`). |
0 commit comments