Commit log

570b642 docs(readme): add badges

Amolith created

adbe86b chore(license): compliant with REUSE again

Amolith created

5ff8477 refactor: align with synu's UX and architecture

Click to expand commit body
This overhaul brings synclaude in line with synu's patterns for
consistency across the two wrappers. Major changes include:

**Caching System**
- Add persistent model preferences in ~/.config/synclaude/models.conf
- New helper functions: _synclaude_cache_get, _synclaude_cache_set,
_synclaude_default
- Cache respects XDG_CONFIG_HOME when set
- Interactive mode now offers "Save as defaults?" prompt

**Flag Restructuring** The group flags now match synu's
Heavy/Medium/Light naming:
- OLD: -L/--large (opus, sonnet, agent), -l/--light (haiku), -H/--haiku
- NEW: -H/--heavy (opus), -M/--medium (sonnet, agent), -l/--light
  (haiku),
-k/--haiku

This better reflects the actual model tiers and separates Sonnet from
Opus.

**Default Model Changes** Per-tier fallbacks instead of single default:
- Opus: hf:moonshotai/Kimi-K2-Thinking (was GLM-4.6)
- Sonnet: hf:zai-org/GLM-4.6 (unchanged)
- Haiku: hf:deepseek-ai/DeepSeek-V3.1-Terminus (was GLM-4.6)
- Sub-agent: hf:zai-org/GLM-4.6 (unchanged)

**Usage Subcommand** `synclaude u` displays current quota usage with
badge-style display.

**Quota Display** Changed from line-based colors to badge-style with
background color:
- OLD: "Remaining: [colored]580/1000[/colored] requests"
- NEW: "Overall: [badge 42%] (580/1000 remaining)"

**Interactive Mode Enhancements**
- Filter headers now show current model IDs
- Added gum availability check with helpful error message
- Groups renamed: "Large" -> "Heavy", added "Medium" group

**Code Quality**
- Extracted quota fetching to _synclaude_get_quota helper
- Added SYNTHETIC_API_KEY validation
- Better error handling with warnings instead of silent failures
- Consistent use of curl -f flag for HTTP error handling

Assisted-by: Claude Opus 4.5 via Crush

Amolith created

ca55e55 feat(crush): add config

Amolith created

ee14397 docs(license): use Unlicense

Amolith created

a702474 docs(readme): add gif

Amolith created

8d2dd68 initial commit

Amolith created