···67676868LLMs can't read error messages buried in HTML or long stack traces. Provide a `--no-input` flag that forces the CLI to error if it can't resolve context or if required flags are missing.
69697070+### Rule 4: Flexible Input for Issue Bodies
7171+7272+Following `gh`'s pattern, `tangled issue create` will support various ways to provide the issue body, making it LLM-friendly and flexible for scripting. It will accept:
7373+- `--body "Text"` or `-b "Text"` for a direct string.
7474+- `--body-file ./file.md` or `-F ./file.md` to read from a file.
7575+- `--body-file -` or `-F -` to read from standard input (stdin).
7676+7077### Summary of Improvements
71787272-- **Context Inference:** This is the "killer feature" of gh that we are copying. It makes the tool usable for humans and safer for LLMs (less typing \= fewer errors).
7979+- **Context Inference:** This is the "killer feature" of gh that we are copying. It makes the tool usable for humans and safer for LLMs (less typing = fewer errors).
7380- **Filtered JSON:** Saves tokens for LLM context windows.
7481- **Git Config Integration:** Treats the local .git folder as a database of configuration, reducing the need for environment variables or complex flags.
8282+- **Flexible Issue Body Input:** Improves usability for both humans and LLMs by allowing diverse input methods for issue descriptions.
75837684## 6. Examples Tangled CLI Usage
7785···7987tangled auth login (opens a browser for auth)
8088tangled repo create my-new-repo
8189cd my-new-repo
8282-tangled issue create "Bug: Something is broken"
9090+tangled issue create "Bug: Something is broken" --body "Detailed description of the bug here."
9191+echo "Another bug description from stdin." | tangled issue create "Bug: From stdin" --body-file -
8392tangled issue list --json "id,title"
8493```
85949595+## 7. Basic Commands
9696+9797+Basic commands include auth, key management, repo creation, and issue management.
9898+9999+`tangled auth login`
100100+101101+- Logs in the user, ideally through a web browser flow for security.
102102+ `tangled auth logout`
103103+- Logs out the user, clearing the session.
104104+ `tangled ssh-key add <public-key-path>`
105105+- Uploads the provided public SSH key to the user's tangled.org account via the API.
106106+ `tangled ssh-key verify`
107107+- Verifies that the user's SSH key is correctly set up and can authenticate with tangled.org. Returns the associated DID and handle if successful.
108108+ `tangled repo create <repo-name>`
109109+- Creates a new repository under the user's account.
110110+ `tangled repo view [--json <fields>]`
111111+- Displays details about the current repository. If `--json` is provided, outputs only the specified fields in JSON format.
112112+ `tangled issue create "<title>" [--body "<body>" | --body-file <file> | -F -]`
113113+- Creates a new issue in the current repository with the given title and optional body, which can be provided via flag, file, or stdin.
114114+86115## 7. Task Management
8711688117We're bootstrapping task tracking with TODO.md, but will migrate all tasks into Tangled issues and dog food the product as soon as we have basic issue creation and listing working.
···921211. Can we allow auth through the web browser, rather than just CLI username/password? This would be more secure and user-friendly.
931222. The GitHub CLI manages the private keys allowing you to authenticate git operations. Can we do something similar, or will users have to manage SSH keys separately? Currently, I store my SSH keys in 1Password which signs requests for me. It would be great if tangled CLI could detect this and use it seamlessly, itentifying the user by the signed ssh key.
941233. How should we handle storing the AT Proto session securely? The GitHub CLI uses the OS keychain. We could do something similar. How does this work across different platforms (Windows, macOS, Linux)? We want to avoid storing sensitive tokens in plaintext files.
9595-4. How are settings resolved (e.g. local config file, home folder, command-line flags)? We should define a clear precedence order.
124124+4. How are settings resolved (e.g. local config file, home folder, command-line flags)? We should define a clear precedence order.