Commits
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.
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.
Rename from formatted-commit to git-format and update URL from
https://git.secluded.site/formatted-commit to
https://git.secluded.site/git-format
- 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
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>
Removed Hex package manager badges as they're not applicable to this project.
Assisted-by: Kimi K2 Thinking via Crush <crush@charm.land>
- 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
Include my synthetic provider config with DeepSeek-V3.2 model and
detailed directions for dictation cleanup.
Assisted-by: Kimi K2 Thinking via Crush
Assisted-by: GLM 4.7 via Crush <crush@charm.land>
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
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.
- 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
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