WIP: A simple cli for daily tangled use cases and AI integration. This is for my personal use right now, but happy if others get mileage from it! :)

Clean up TODO.md

markbennett.ca c03fa109 8199b6f8

verified
-41
-41
TODO.md
··· 78 78 - [ ] Implement `tangled repo create <repo-name>` command. 79 79 - [ ] Implement `tangled repo view` command (display repo details). 80 80 - [ ] Support `--json` output with field filtering (e.g., `--json name,cloneUrl,description`) using `lodash/pick`). 81 - 82 - ## SSH Key Upload & Management (Phase 4) 83 - 84 - This phase adds CLI-based SSH key management for users who want to upload keys programmatically. 85 - 86 - - [ ] Implement `tangled ssh-key add <public-key-path>` command. 87 - - [ ] This command should upload the provided public SSH key to the user's tangled.org account via the API, similar to how `gh ssh-key add` works. If no path is provided, it should default to `~/.ssh/id_ed25519.pub` or prompt the user for a path. 88 - - [ ] Support reading keys from SSH agent via `ssh-add -L` for 1Password SSH agent users. 89 - - [ ] The CLI is not responsible for generating SSH keys or managing the local ssh-agent; users are expected to handle these steps externally. 90 - - [ ] Implement `tangled ssh-key list` command. 91 - - [ ] List all SSH keys stored in the user's PDS. 92 - - [ ] Display key type, name, creation date, and URI. 93 - 94 - ## Output & LLM Integration 95 - 96 - - [ ] Implement output formatting based on `is-interactive` check. 97 - - [ ] "Human Mode" (TTY): Use `cli-table3` for pretty tables. 98 - - [ ] "Machine Mode" (Pipe/`--json`): Plain text or JSON output. 99 - - [ ] Implement `--json` flag for structured output. 100 - - [ ] Implement `--no-input` flag to force CLI to error on unresolved context or missing flags (Fail Fast, Fail Loud principle). 101 - 102 - ## Testing 103 - 104 - - [x] Set up a testing framework (Vitest). 105 - - [x] Write unit tests for core modules (Auth, Session, API client, Validation, Prompts). 106 - - [x] Write integration tests for CLI commands (Auth, SSH key verify). 107 - - [ ] Add integration tests for remaining commands as they are implemented. 108 - 109 - ## Documentation & Deployment 110 - 111 - - [ ] Generate CLI help documentation (`commander` usually handles this). 112 - - [ ] Consider packaging/distribution strategy (npm, standalone binary). 113 - 114 - ## Outstanding Issues / Future Considerations (from README) 115 - 116 - - [x] Secure cross-platform AT Proto session storage (OS keychain) - Implemented with @napi-rs/keyring. 117 - - [x] SSH key verification for Git authentication - Implemented `tangled ssh-key verify`. 118 - - [ ] SSH key upload management (See Phase 4 above). 119 - - [ ] 1Password SSH agent integration for key upload (See Phase 4 above). 120 - - [ ] Define clear precedence order for settings resolution (local config, home folder, CLI flags). 121 - - [ ] Consider adding extensions/plugins (Out of Scope for V1, but keep in mind).