docs: update README with new flags, examples, and dependencies

This commit is contained in:
mitchell 2026-05-14 03:06:46 -04:00
parent 0ed6a23334
commit 7441a9fc19

View file

@ -8,7 +8,7 @@ A Bun-based CLI tool for LLM chats with terminal native streaming.
- **Conversation persistence** — chat history saved to JSON
- **Model configuration** — persist model preferences to JSON
- **Reasoning display** — thinking tokens rendered _in style_ on stderr
- **Usage stats** — input/output tokens and elapsed time after each response
- **Usage stats** — input/output tokens and tokens/sec rate after each response
- **TTY-aware** — automatically disables markdown rendering when output is piped
- **Text-to-speech**`ttsc` sub-command for streaming TTS via Kokoro model
@ -38,22 +38,22 @@ _Package to come later_
lmc [options] <prompt...>
```
| Flag | Short | Type | Description |
| ------------ | ----- | ------- | ------------------------------------------------- |
| `--new` | `-n` | boolean | Start a new conversation (clear history) |
| `--model` | `-m` | string | Set model name for this session |
| `--save` | `-s` | boolean | Save the specified model (--model) as the default |
| `--plain` | — | boolean | Disable markdown rendering (plain text output) |
| `--plainOut` | — | boolean | Disable markdown rendering for stdout only |
| `--plainErr` | — | boolean | Disable markdown rendering for stderr only |
| Flag | Short | Type | Description |
| ------------ | ----- | ------- | ----------------------------------------------------- |
| `--new` | `-n` | boolean | Start a new conversation (clear history) |
| `--model` | `-m` | string | Set model name for this session |
| `--config` | `-c` | boolean | Initialize a new config file (`~/.lmc_config.json`) |
| `--plain` | — | boolean | Disable markdown rendering for both stdout and stderr |
| `--plainOut` | — | boolean | Disable markdown rendering for stdout only |
| `--plainErr` | — | boolean | Disable markdown rendering for stderr only |
**Examples:**
```bash
lmc --config # Initialize/edit config
lmc --new "Introduce yourself." # New conversation
lmc "What is TypeScript?" # Continue most recent chat
lmc -m llama3 "Explain quantum computing" # Chat with specific model
lmc --model llama3 --save # Set default model
lmc -m llama3 "Explain quantum computing" # Chat with specific model on-the-fly
lmc --plain "Plain text output" # No markdown rendering
```
@ -66,12 +66,14 @@ echo "text" | ttsc [options]
| Flag | Short | Type | Description |
| -------- | ----- | ------- | -------------------------------------------------------- |
| `--wait` | `-w` | boolean | Wait for all processing before exiting (don't auto-play) |
| `--url` | `-u` | boolean | Fetch text from a URL instead of stdin |
**Examples:**
```bash
echo "Hello, world!" | ttsc
echo "Read this aloud" | ttsc --wait
echo "https://example.com" | ttsc --url
```
Requires: [uv](https://docs.astral.sh/uv/)
@ -113,8 +115,10 @@ out/ — Bundled output (index.js, tts.js)
| Package | Purpose |
| --------------------------- | ----------------------------------------- |
| `ai` (Vercel AI SDK) | Streaming text/usage |
| `@ai-sdk/openai-compatible` | OpenAI-compatible API client |
| `shiki` | Syntax highlighting (kanagawa-wave theme) |
| `cli-table3` | ASCII table rendering |
| `@clack/prompts` | Interactive prompts and spinner |
| `@cliffy/table` | ASCII table rendering |
| `@mozilla/readability` | HTML-to-text extraction (ttsc) |
| `chalk` | Terminal string styling |
| `happy-dom` | DOM parsing for URLs (ttsc) |
| `shiki` | Syntax highlighting (kanagawa-wave theme) |
| `terminal-link` | Clickable terminal hyperlinks |