Commit log

409b65d docs(README): bump to v0.37.0-fork.1

Amolith created

1cbe217 feat(tui): add WCAG-compliant light theme

Click to expand commit body
Add --light flag to enable light theme with accessible colors.

Make theme colors WCAG AA compliant (4.5:1 contrast minimum). Add
theme-aware markdown and diff colors to support both dark and light
backgrounds.

Assisted-by: Claude Opus 4.5 via Crush

Amolith created

7f92d22 chore(metrics): disable

Amolith created

fa3b0d4 build(release): add fork command

Amolith created

a0ac6ce feat: yeet the rug-pull-facilitator (CLA)

Amolith created

516ef77 docs: add fork section

Click to expand commit body
Co-Authored-By: Crush <crush@charm.land>

Amolith and Crush created

43b22eb chore: redo imports everywhere, fmt

Amolith created

3a0ada9 feat(init-cmd): mention progressive disclosure

Click to expand commit body
I found Crush was often both too verbose and too terse than I'd like in
different ways when generating the AGENTS.md. This is an attempt to
improve the relevancy of the information it mentions.

As just one example, tabs vs spaces is obvious from the first file read,
so mentioning that style preference in AGENTS.md just wastes tokens.
Since adding this line, I haven't noticed it including trivial details
like that!

Though I've been using this since Dec 20 and liking it, I've mostly used
it and had good results with Claude models. I've not tried it with GPT
or GLM or others yet.

Amolith created

3ff0f03 feat: load user CRUSH.md and AGENTS.md from config

Click to expand commit body
Issue: charmbracelet/crush#1050

Amolith created

c8df05f feat(init): elicit control/data flow, arch descs

Amolith created

b43c8ee feat(notification): add em'

Click to expand commit body
Assisted-by: Claude Sonnet 4.5 via Crush

Amolith created

133cb6f chore(legal): @bittoby has signed the CLA

Charm created

7119b7e fix(ui): update layout and size after session switch

Ayman Bagabas created

2439781 v0.37.0

Andrey Nering created

216f904 fix(posthog): check correct error; prevent panic (#2036)

Click to expand commit body
💘 Generated with Crush

Assisted-by: GLM 4.7 via Crush <crush@charm.land>

Christian Rocha created

230b99c fix(ui): arrow navigation wasnt working when todo view is open (#2052)

Click to expand commit body
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Carlos Alexandro Becker created

6c26f2a fix(ui): switch focus on click (#2055)

Click to expand commit body
Ignore sidebar clicks when sidebar is visible.

Assisted-by: GPT-5.2 via Crush <crush@charm.land>

Andrey Nering created

b51c2e0 fix: do not scroll to bottom if user has scrolled up (#2049)

Andrey Nering created

1696e72 chore: update catwalk and its import paths to `charm.land/catwalk`

Andrey Nering created

87c2165 chore: `chmod +x scripts/check_log_capitalization.sh`

Andrey Nering created

857cc28 chore(ui): string efficiency

Click to expand commit body
💘 Generated with Crush

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

Christian Rocha created

ac03cb0 fix(ui): typo in ListItemStyles type name

Click to expand commit body
💘 Generated with Crush

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

Christian Rocha created

4228f75 fix: slice string at the grapheme level, not byte level

Christian Rocha created

7ace8d5 fix: panic when matching titles in session dialogue

Christian Rocha created

02bb76b fix: allow HYPER_URL with embedded provider (#2031)

Click to expand commit body
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Carlos Alexandro Becker created

3a2a045 fix: improve logs, standardize capitalized (#2047)

Click to expand commit body
* fix: improve logs, standarize capitalized

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* Update Taskfile.yaml

Co-authored-by: Andrey Nering <andreynering@users.noreply.github.com>

* chore: lint

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Andrey Nering <andreynering@users.noreply.github.com>

Carlos Alexandro Becker and Andrey Nering created

c3ae230 fix: respect disabled indeterminate progress bar setting on app start (#2054)

Christian Rocha created

40869ec chore: auto-update files

Charm created

c0a8c7e feat: allow to disable indeterminate progress bar (#2048)

Click to expand commit body
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Carlos Alexandro Becker created

7643d6a ci: use goreleaser nightly on snapshot build

Click to expand commit body
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Carlos Alexandro Becker created

aa2cacd feat: open commands dialog on pressing `/` (#2034)

Andrey Nering created

e57687f fix(ui): fix wrong color on selected item info on dialogs (#2041)

Andrey Nering created

aae4c30 fix(ui): fix selection of code blocks with tabs inside markdown (#2039)

Click to expand commit body
Yes, this is very specific. You need a code block, inside markdown,
that uses tabs instead of spaces for indentation, like Go code.

This affected both how the code is present on the TUI as well as the text
copied to clipboard.

We need to convert tabs into 4 spaces on the highlighter to match how
it's shown in the TUI.

Centralized this into a function to ensure we're doing the exact same
thing everywhere.

Andrey Nering created

87fad18 fix: make the commands dialog less taller (#2035)

Andrey Nering created

3a929ff feat: filetracker per session (#2033)

Click to expand commit body
* feat: filetracker per session

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: only in the new ui

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: tests, lint

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: old tui

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* test: added test, improve schema

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* test: synctest

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* test: fix race

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: relpath

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: simplify

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* chore: trigger ci

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Carlos Alexandro Becker created

a81443c chore(legal): @liannnix has signed the CLA

Charm created

daf786f fix(stats): resizing breaks pie charts (#2030)

Click to expand commit body
resizing the browser would "break" the pie charts, cutting them off

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Carlos Alexandro Becker created

de64b00 fix: decouple thinking/reasoning from provider type (#2032)

Click to expand commit body
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Carlos Alexandro Becker created

5011ba2 docs: improve clarity and fluency of mandarin tagline (#2022)

Tommy Guo created

008be3f chore(legal): @oug-t has signed the CLA

Charm created

9602140 ci: format nix (#2009)

Click to expand commit body
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Carlos Alexandro Becker created

fea878e feat(mcp): support server side instructions (#2015)

Click to expand commit body
* feat(mcp): support server side instructions

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: empty lines

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Carlos Alexandro Becker created

c6b0a8a refactor: terminal capability handling (#2014)

Ayman Bagabas created

99aabb0 fix: schema incorrectly marks optional fields as required (#1996)

Click to expand commit body
This fixes two schema validation issues:

1. tools.ls incorrectly marked as required
   - Changed Tools.Ls and Config.Tools from omitzero to omitempty
   - The invopop/jsonschema library doesn't recognize Go 1.25's omitzero tag

2. lsp.command incorrectly marked as required
   - Removed jsonschema:"required" tag from LSPConfig.Command
   - The project's own crush.json doesn't include command field for gopls

After this fix, users can use minimal configurations without being
forced to specify tools.ls or lsp.command fields.

huaiyuWangh created

50ae9f2 chore: auto-update files

Charm created

c81b02f feat(lsp): auto-discover LSPs (#1834)

Click to expand commit body
* feat(lsp): auto-discover LSPs

- auto-discover LSPs defined in powernap
- faster startup by walking dir only once to check root markers from all
  LSPs
- errors on auto-found LSPs are ignored (e.g. it might match
  golangci-lint-server but if you don't have it installed it shouldn't
  show in the list)

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: sidebar improvement

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: if

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: startup, disabled

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: lint

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: remove unneeded func

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* perf: skip empty

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: server names

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: do not show failing non configured lsps

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: allow to disable auto lsp

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* chore: update powernap

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

Carlos Alexandro Becker created

df2c001 fix(lsp): scope client to working directory (#1792)

Click to expand commit body
Files outside the working directory are now rejected by HandlesFile(),
preventing external files from being opened on the LSP and triggering
spurious diagnostics.

Assisted-by: Claude Opus 4.5 via Crush

Amolith created

632666e chore: fix typo on `crush stats` html page

Andrey Nering created

033584c feat: implement prompt history (#2005)

Kujtim Hoxha created

c5f0e4d Handle unknown tool calls in the TUI (#2001)

Kujtim Hoxha created