Commit log

5eba5d4 feat(openai-compat): add dialect support

Click to expand commit body
Add Dialect type and parsing to support provider-specific
request/response handling for reasoning/thinking content.

- Map config dialects to starlet Dialect variants
- Support: generic, together, groq, cerebras, llamacpp, tags
- Remove old manual HTTP client code (now fully migrated)

The Generic dialect remains the default for most providers.

Amolith created

dbc2085 refactor(openai-compat): use starlet native module

Click to expand commit body
Replace custom openai_compat HTTP client with starlet's native module.

Changes:
- Remove src/openai_compat.gleam
- Add send_openai_compat() to clients.gleam
- Update garble.gleam dispatch
- Point starlet to GitHub fork (openai-completions branch)

The Generic dialect is currently hardcoded.

Amolith created

96c0904 docs: update git-format reference

Click to expand commit body
Rename from formatted-commit to git-format and update URL from
https://git.secluded.site/formatted-commit to
https://git.secluded.site/git-format

Amolith created

0d8202d docs: add cross-promo section

Click to expand commit body
Assisted-by: Claude Opus 4.5 via Amp

Amolith created

b48618b refactor: modularize API key and client logic

Click to expand commit body
- Add api_key.gleam for API key resolution (cmd, literal, env)
- Add clients.gleam for provider-specific client logic (openai,
  anthropic, gemini, ollama)
- Add reasoning support with --reasoning flag (low, medium, high)
- Add --endpoint flag for ollama and custom endpoints
- Parse can_reason, reasoning_levels, default_reasoning_effort from
  provider API
- Update openai_compat to support reasoning_effort parameter

Assisted-by: Claude Opus 4.5 via Amp

Amolith created

a97bba3 docs(readme): add link to Catwalk frontend for provider/model IDs

Click to expand commit body
Add a reference to the unofficial Catwalk frontend at catwalk-fe.secluded.site
where users can browse available provider and model IDs.

Assisted-by: Kimi K2 Thinking via Crush <crush@charm.land>

Amolith created

577832f docs(readme): remove hex.pm badges

Click to expand commit body
Removed Hex package manager badges as they're not applicable to this project.

Assisted-by: Kimi K2 Thinking via Crush <crush@charm.land>

Amolith created

607b67c chore(licensing): add REUSE compliance

Click to expand commit body
- Add SPDX-FileCopyrightText and SPDX-License-Identifier headers to all
  source files, configs, and documentation
- Include full license text for AGPL-3.0-or-later and CC0-1.0
- Add Makefile target for running REUSE lint
- Add crush.json.license file for tool configuration

Amolith created

4f6f66d docs(readme): link to voxtype with explanation

Amolith created

c4b4b31 docs: add personal config example to README

Click to expand commit body
Include my synthetic provider config with DeepSeek-V3.2 model and
detailed directions for dictation cleanup.

Assisted-by: Kimi K2 Thinking via Crush

Amolith created

9b1d1c0 docs: convert CLI flags section to table format

Click to expand commit body
Assisted-by: GLM 4.7 via Crush <crush@charm.land>

Amolith created

915b1e7 feat: initial implementation

Click to expand commit body
CLI that accepts text on stdin, sends it to an LLM for transformation
based on user directions, and prints the result to stdout.

- glint for CLI argument parsing
- TOML config from ~/.config/garble/config.toml
- Provider discovery from catwalk.charm.sh
- Support for OpenAI, Anthropic, Gemini via starlet
- Custom OpenAI-compatible endpoints

Assisted-by: Claude Opus 4.5 via Crush

Amolith created