Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/azihsoyn_noman.json
T

1 line
6.6 KiB
JSON

{"repo": "azihsoyn/noman", "files": {"README.md": {"68df3b0597f3ff3c3c450b1f28753e5eff1b91d7": {"t": 1785674410.335832, "n": 6238, "h": "bdd519612da14c47", "c": "# noman\n\n> **No** **Man**ual.\n> **No**t **Man** (= AI).\n> **No** **M**ore **A**rcane **N**otation.\n\nTurn natural language into CLI arguments.\n\nStop digging through man pages.\nJust tell `noman` what you want to do.\n\nExample:\n\n```bash\n$ noman tar \"compress src directory into backup.tar.gz\"\n[noman] tar -czf backup.tar.gz src\n```\n\n---\n\n## Demo\n\nReal terminal session:\n\n![demo](./demo.svg)\n\n```bash\n$ echo '[{\"title\":\"ABC news\",\"count\":1},{\"title\":\"XYZ report\",\"count\":2}]' | noman jq \"filter items where title contains XYZ\"\n[noman] jq .[] | select(.title | test(\"XYZ\"))\n{\n \"title\": \"XYZ report\",\n \"count\": 2\n}\n```\n\n---\n\n# Install\n\n### From source (requires Go 1.22+)\n\n```bash\ngo install github.com/azihsoyn/noman@latest\n```\n\n### Build manually\n\n```bash\ngit clone https://github.com/azihsoyn/noman.git\ncd noman\ngo build -o noman .\ncp noman /usr/local/bin/\n```\n\n---\n\n# Usage\n\n```\nnoman [options] <command> \"<prompt>\"\nnoman which \"<prompt>\"\n```\n\n### Options\n\n| Option | Description |\n| ----------------- | --------------------------------------------------------- |\n| `--no-cache` | Skip cache and always call AI |\n| `--confirm`, `-c` | Show generated args and ask Y/n/r(retry) before executing |\n| `--shell`, `-s` | Execute via shell (enables glob `*`, pipes, etc.) |\n| `--dry-run` | Show generated args without executing |\n| `--help`, `-h` | Show help |\n\n---\n\n## Subcommands\n\n| Subcommand | Description |\n| ------------------ | -------------------------------------------- |\n| `which \"<prompt>\"` | AI picks the best command for the task |\n| `man` | Show all past usage grouped by command |\n| `man <command>` | Show detailed history for a specific command |\n| `noman \"<prompt>\"` | Ask how to use noman itself |\n\n### Examples\n\n```bash\n# Show your personal man pages for all commands\nnoman man\n\n# Show history for a specific command\nnoman man jq\n\n# Ask how to use noman\nnoman noman \"how do I skip the cache?\"\nnoman noman \"I don't know which command to use\"\n```\n\n---\n\n# Examples\n\n```bash\n# jq: filter JSON\ncat data.json | noman jq \"filter items where title contains XYZ\"\n\n# curl: fetch a URL\nnoman curl \"fetch HTML from example.com\"\n\n# grep: search logs\ncat log.txt | noman grep \"extract lines that look like errors\"\n\n# awk: text processing\ncat access.log | noman awk \"count requests per status code\"\n\n# find: search files (everyone forgets the syntax)\nnoman find \"log files older than 7 days\"\n\n# tar: always confusing flags\nnoman tar \"compress src directory into backup.tar.gz\"\n\n# ffmpeg: the ultimate \"just google it\" command\nnoman ffmpeg \"cut first 30 seconds of input.mp4 and convert to gif\"\n\n# imagemagick: another options nightmare\nnoman convert \"resize photo.png to 800px width, save as JPEG quality 85\"\n\n# rsync: too many flags to remember\nnoman rsync \"copy src to dst, exclude .git, dry run\"\n\n# docker: cleanup\nnoman docker \"remove all stopped containers and dangling images\"\n\n# git: complex log queries\nnoman git \"show only merge commits from last week\"\n\n# don't know which command? let AI pick\nnoman which \"find all TODO comments in current directory\"\ncat access.log | noman which \"count requests per status code\"\nnoman which \"disk usage of current directory, sorted by size\"\n```\n\n---\n\n# How it works\n\n1. Reads the target command's `--help` or `man` page\n2. If stdin is piped, samples the data to understand its structure\n3. Sends everything to AI to generate the right arguments\n4. Executes the command with the generated arguments\n\n---\n\n## History & caching\n\n* **Exact match cache**: Same command + prompt + stdin reuses cached args instantly (no AI call)\n* **Smart cache**: AI decides whether results should be cached (e.g. `jq` filters are cached, `git commit` messages are not)\n* **Few-shot learning**: Past conversions for the same command are included as examples to improve accuracy\n\nHistory is stored in:\n\n```\n~/.config/noman/history.json\n```\n\nBrowse it as a personal man page:\n\n```bash\nnoman man\n```\n\n---\n\n# Configuration\n\nSettings are loaded in order of priority:\n\n1. **Environment variables**\n2. **Config file** (`~/.config/noman/config.toml` or `config.json`)\n3. **Default values**\n\n---\n\n## Config file\n\nCreate:\n\n```\n~/.config/noman/config.toml\n```\n\n```toml\nbackend = \"cli\"\nclaude_path = \"/path/to/claude\"\nmodel = \"claude-sonnet-4-20250514\"\nmax_history = 500\n```\n\nOr JSON:\n\n```\n~/.config/noman/config.json\n```\n\n```json\n{\n \"backend\": \"cli\",\n \"claude_path\": \"/path/to/claude\",\n \"model\": \"claude-sonnet-4-20250514\",\n \"max_history\": 500\n}\n```\n\n---\n\n## All settings\n\n| Config key / Env var | Description | Default |\n| ----------------------------------- | ------------------------- | --------------------------- |\n| `backend` / `NOMAN_BACKEND` | `cli` or `api` | `cli` |\n| `claude_path` / `NOMAN_CLAUDE_PATH` | Path to `claude` command | auto-detect |\n| `api_key` / `NOMAN_API_KEY` | API key for `api` backend | `ANTHROPIC_API_KEY` |\n| `model` / `NOMAN_MODEL` | Model name | `claude-sonnet-4-20250514` |\n| `base_url` / `NOMAN_BASE_URL` | API base URL | `https://api.anthropic.com` |\n| `max_history` / `NOMAN_MAX_HISTORY` | Max history entries | `500` |\n| — / `NOMAN_CONFIG_DIR` | Config/history directory | `~/.config/noman` |\n\n---\n\n# Backends\n\n## Claude Code CLI (default)\n\nUses the `claude` command with your existing login.\nNo API key needed.\n\n```bash\nnoman jq \"sum all counts\"\n```\n\n---\n\n## Anthropic API\n\nSet via config file:\n\n```toml\nbackend = \"api\"\napi_key = \"sk-ant-...\"\n```\n\nOr environment variables:\n\n```bash\nexport NOMAN_BACKEND=api\nexport ANTHROPIC_API_KEY=sk-ant-...\nnoman jq \"sum all counts\"\n```\n\n---\n\n## Comparison\n\n| Tool | What it does |\n| ----- | ------------- |\n| `man` | Full manual pages |\n| `tldr` | Curated examples |\n| `noman` | Generate CLI arguments from natural language |\n\n---\n\n# License\n\nMIT\n\n"}}}}