f74a85f
chore(tools/fetch): improve jq fetch integration
Christian Rocha created
f74a85f
chore(tools/fetch): improve jq fetch integration
Christian Rocha created
2c6336f
chore(tests): re-record vhs cassettes
Christian Rocha created
a38fe8e
chore(jq,fetch): allow fetch to pass into jq, improve jq skill
By allowing fetch to send results directly into jq we can prevent a lot of tokens from entering the context, and compress several tool calls.
Christian Rocha created
82d373d
chore(legal): @gavmor has signed the CLA
Charm created
ea50d10
v0.61.0
Andrey Nering created
0a86d5f
refactor(skills): strip implementation hints from crush-owned descriptions
Descriptions should describe when a skill applies, not how it does its job. Leaving language like "using go doc", "the jq command-line processor", etc. in the trigger encourages the model to guess its way through without reading SKILL.md.
Christian Rocha created
e64db33
feat(prompt): require loading appropriate skills before acting
Models frequently skipped viewing a skill's SKILL.md and inferred its behavior from the description alone; making the load mandatory in <critical_rules> prevents LLMs from taking that shortcut.
Christian Rocha created
2da70c1
feat(skills): log skill activation to help diagnose load failures
Christian Rocha created
3138c8b
fix: use same chroma formatter as diffview for markdown (#2656)
Andrey Nering created
0e9e0a6
chore(deps): bump the all group with 2 updates (#2659)
dependabot[bot] created
f15c2d7
chore(deps): bump the all group with 6 updates (#2660)
dependabot[bot] created
be3e81f
chore(legal): @enrell has signed the CLA
Charm created
3af50fd
chore(legal): @pi128 has signed the CLA
Charm created
e74253e
fix(oauth): fix copy to clipboard on terminals that don't support osc52 (#2642)
For example: Apple Terminal.
Andrey Nering created
2f32c9b
feat: enable progress bar on iterm2 (#2641)
Andrey Nering created
f1a931d
v0.60.0
Andrey Nering created
ea86101
feat(hyper): use openai-compatible endpoint for hyper (#2640)
Andrey Nering created
ce34984
v0.59.0
Andrey Nering created
73fec04
ci: fix test race condition
Do not run these two new tests in parallel.
Andrey Nering created
52dcef6
ci: only run `build` and `lint` workflows once in pull requests
Andrey Nering created
8bab8b3
test: re-record vcr cassettes
Andrey Nering created
f546a07
fix(prompt): remind coder to follow `<git_commits>` format on commit
💘 Generated with Crush Assisted-by: Claude Opus 4.7 via Crush <crush@charm.land>
Andrey Nering created
e0a3f4d
chore: `task fmt`
Andrey Nering created
fa50f36
test: re-record vcr cassettes
Andrey Nering created
3773b23
feat(shell): add jq as a bash builtin + a jq skill for it
Also, two local skills now exist for Crush development: * builtin-skills, for adding new builtin skills * shell-builtins, for adding new shell builtins
Christian Rocha created
b37649e
feat(ui): add skills discovery status to sidebar and landing page (#2384)
- Display loaded/errored skills in sidebar and landing page - Use pubsub event to carry skill states directly to UI, avoiding global mutable state - Subscribe to skills discovery events via broker, consistent with MCP/LSP patterns - Rename State to DiscoveryState for clarity
huaiyuWangh created
e8f5e20
feat: show progress bar on rio terminal (#2624)
Andrey Nering created
4b3dff3
test: run migration setup once to avoid race condition
Andrey Nering created
076cb1c
test: re-record vcr cassettes
Andrey Nering created
4e66ada
test: simplify integration tests, run for a single provider / model
It takes a lot of time to re-record these VCRs for so many models. Sometimes they fail intermittently, and you need to manually re-record again and again until it works. Let's keep a single provider and models which should work well enough for us.
Andrey Nering created
53c9774
test: reduce amount of logs print on `go test -v`
Andrey Nering created
1528c82
fix: inject synthetic tool_result for orphaned tool_use on session resume (#2622)
When a session is interrupted mid-tool-call (Ctrl-C, network timeout), the assistant message contains a tool_use block but no corresponding tool_result is ever recorded. On session resume, the Anthropic API rejects the conversation with invalid_request_error, permanently locking the session. The existing filterOrphanedToolResults handles the inverse case (tool_result without a matching tool_use). This commit adds the symmetric fix: during preparePrompt, detect tool_use IDs that have no matching tool_result and inject a synthetic error tool_result so the API accepts the history and the session can continue. Co-authored-by: Christian Rocha <christian@rocha.is> Co-authored-by: Andrey Nering <andreynering@users.noreply.github.com>
Kim Yann , Christian Rocha , and Andrey Nering created
1e0e816
chore: bump bubbletea to v2.0.6 to fix wide char issue
See: https://github.com/charmbracelet/ultraviolet/pull/109
Ayman Bagabas created
f61ae45
chore(legal): @taigong12 has signed the CLA
Charm created
f1460a4
v0.58.0
Andrey Nering created
bcf863c
chore: auto-update files
Charm created
e048e71
feat: add opencode zen and opencode go support
Andrey Nering created
52e3030
chore(deps): update fantasy and catwalk
Andrey Nering created
c83a6d8
test: re-record vcr cassettes
Andrey Nering created
fd18c38
fix(system-prompt): remove "portuguese" as example
This confuses dumber models, that might respond in Portuguese even when the user prompt was in English. This is more common for small models. We already made this fix on the title generation prompt, we're now just porting to the coder prompt. * Closes #2627 * Follow-up #2497
Andrey Nering created
a210bfb
chore(legal): @KimBioInfoStudio has signed the CLA
Charm created
aea4e99
chore: bump bubbletea to v2.0.5 to fix tea_debug.log file issue
Ayman Bagabas created
9847be2
v0.57.0
Andrey Nering created
7a6a179
refactor: simplify skills parsing and improve discovery visibility (#2350)
huaiyuWangh created
ca69095
chore(deps): update catwalk
Andrey Nering created
8e3263d
Merge pull request #2615 from charmbracelet/hotfix
fix(agent): validate tool calls + strip tags from titles
Christian Rocha created
7a358f9
chore(deps): bump fantasy for tool call integrity fix
Christian Rocha created
3e8c148
chore(agent): move filter logic into a function
Christian Rocha created
c41a1a0
fix(agent): validate tool call/results + strip tags from titles
This fixes a case where tool results could not have a matching tool call, resulting in corrupted sessions. There's also an interleaved fix for trimming rogue "</think>" tags from session titles while we're at it.
Christian Rocha created
40b7cdd
fix(ui): format code in ui.go
Ayman Bagabas created