46 Commits
Author SHA1 Message Date
Bruno KrugelandGitHub 959bf7e289 feat(tools): create an allow list for MCP tools (#2800) 2026-05-12 13:49:35 -04:00
Christian RochaandCharm Crush a7932c5669 test(config): tests for the data directory paths
Co-Authored-By: Charm Crush <crush@charm.land>
2026-05-12 11:34:16 -04:00
Kieran KlukasandKieran Klukas da262be637 fix(schema): fix schema descriptions being cut off 2026-05-11 14:06:51 -04:00
huaiyuWanghandGitHub 5816fada93 fix(agent): support flat_rate cost handling (#2116) 2026-05-08 10:55:28 -03:00
Charm b07664e357 chore: auto-update files 2026-04-28 16:57:57 +00:00
Charm f686999663 chore: auto-update files 2026-04-26 13:26:11 +00:00
Bruno KrugelandGitHub fa1565813c fix(schema): fix crush.json schema generation (#2574) 2026-04-08 10:05:47 -03:00
Charm 7572ce1f0f chore: auto-update files 2026-04-02 20:39:16 +00:00
Charm de04fc21cf chore: auto-update files 2026-04-01 17:48:25 +00:00
AmolithandGitHub f8da538c50 feat(notification): alert on turn completion and permission request (#1356)
* feat(notification): add em'

Assisted-by: Claude Sonnet 4.5 via Crush

* refactor(permission): check allowlist first

* docs(notification): correct example, fix rendering

* fix(notification): bump godbus/dbus to v5.2.2

v5.1.0's FreeBSD SendNullByte() was in a CGO file, so it was excluded
when building with CGO_ENABLED=0, causing the freebsd/amd64 cross-build
to fail. v5.2.2 rewrites it in pure Go.
2026-03-11 18:12:11 +03:00
Charm f22ec5fcad chore: auto-update files 2026-02-11 19:12:18 +00:00
Charm 09cea778fc chore: auto-update files 2026-02-10 18:27:37 +00:00
Charm 02ec682729 chore: auto-update files 2026-02-03 17:52:32 +00:00
huaiyuWanghandGitHub ea8c39f4cf feat: add configurable timeout for LSP initialization (#2075)
* feat: add configurable timeout for LSP initialization

Add a timeout field to LSPConfig to allow users to customize
the initialization timeout for LSP servers. This is particularly
useful for slow-starting servers like kotlin-language-server that
may require more than the default 30 seconds to initialize.

Fixes #1865

* refactor: simplify timeout logic with cmp.Or

Simplified the timeout handling by using Go's cmp.Or() function instead
of manual conditional checks, reducing code from 5 lines to 1 line while
maintaining the same functionality.
2026-02-03 09:59:53 -03:00
Charm 40869ecb59 chore: auto-update files 2026-01-29 18:34:28 +00:00
huaiyuWanghandGitHub 99aabb0179 fix: schema incorrectly marks optional fields as required (#1996)
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.
2026-01-27 19:30:09 +00:00
Charm 50ae9f26e0 chore: auto-update files 2026-01-27 19:27:46 +00:00
Carlos Alexandro BeckerandGitHub 077706036c fix: recent models dont go into the schema (#1892)
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2026-01-20 19:21:10 +01:00
Charm b2252f8f98 chore: auto-update files 2026-01-12 14:10:55 +00:00
Charm 67e8f140fa chore: auto-update files 2025-12-27 20:11:11 +00:00
AmolithandGitHub 6219de7ca9 feat(mcp-config): add list of disabled_tools (#1533) 2025-12-10 13:36:07 -05:00
masroor-ahmadandGitHub 2b222e3d95 fix: remove max_tokens minimum requirement to fix json schema issue (#1532) 2025-12-01 17:16:36 +00:00
Charm c533928f32 chore: auto-update generated files 2025-11-26 14:40:22 +00:00
Charm 42f0f2b21d chore: auto-update generated files 2025-11-18 12:43:37 +00:00
Bruno KrugelandGitHub 42122dc2fc fix: add missing openai-compat in schema (#1461) 2025-11-18 13:43:00 +01:00
AmolithandGitHub 9d70d1d18c chore(attribution): default to assisted-by + email (#1444) 2025-11-17 09:28:22 -05:00
Charm 39435ddad9 chore: auto-update generated files 2025-11-13 11:53:40 +00:00
AmolithandAndrey Nering 27093ea42e feat(config): migrate deprecated co_authored_by
The old co_authored_by boolean is now deprecated in favor of
trailer_style enum. When only the old setting is present, it silently
migrates (true → co-authored-by, false → none). When trailer_style
is set, co_authored_by is ignored. The deprecated field remains in the
schema marked with deprecated: true so editors can warn users.

Assisted-by: Claude Sonnet 4.5 via Crush
2025-11-12 10:59:35 -03:00
AmolithandAndrey Nering 7b47c6ccf3 feat(config): add trailer_style option
Replace co_authored_by boolean with trailer_style enum supporting:
none, co-authored-by, and assisted-by.

The assisted-by option follows Fedora's AI Contribution Policy which
requires transparency about AI assistance via 'Assisted-by: [Model
Name]' commit message trailers.

https://docs.fedoraproject.org/en-US/council/policy/
ai-contribution-policy/

Assisted-by: Claude Sonnet 4.5 via Crush
2025-11-12 10:59:35 -03:00
fa28347258 feat: recent models section in picker (#1374)
Co-authored-by: Crush <crush@charm.land>
2025-11-12 13:03:39 +01:00
actions-user 885d224698 chore: auto-update generated files 2025-10-27 14:50:11 +00:00
Carlos Alexandro BeckerandGitHub c96abaed6b feat: limit filepath walk, automatic low limits when not git repo (#1052)
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2025-10-01 11:16:10 -03:00
Andrey NeringandChristian Rocha ef6a32453a chore: add metrics and error tracking 2025-09-24 09:52:58 -04:00
AmolithandGitHub 6c380d4414 feat: add attribution settings to config and bash tool (#1025)
* feat: add attribution settings to config and bash tool
* fix(readme): move ephemeral data block back to cfg section

Closes: #445
2025-09-17 13:29:27 -04:00
b00ffcc671 feat: LSP implementation using x/powernap (#1011)
* feat: LSP implementation using x/powernap

Replace custom LSP client implementation with the `charmbracelet/x/powernap` library, significantly reducing codebase complexity by removing ~12,000 lines of custom LSP protocol handling code. This migration introduces:

- **Simplified client architecture**: Replace custom LSP transport, protocol, and method handling with powernap's battle-tested implementation
- **Enhanced workspace support**: Add workspace markers and inactive LSP server detection capabilities from powernap
- **Improved configuration**: Integrate powernap's default LSP server configurations and settings
- **Reduced maintenance burden**: Remove custom protocol definitions, JSON marshaling, and transport layer code
- **More features**: e.g. workspace root markers, starting LSP servers only where these files exist

The refactor maintains existing functionality while leveraging powernap's robust LSP client foundation, making the codebase more maintainable and feature-rich.

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

chore: updates

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

* fix: code review

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

* revert: unwanted change

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

* fix: improve code

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

* fix: schema

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

* fix: improve merge

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

* fix: unneeded changes

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

* fix: cleanup

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

* fix: several fixes

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

* fix: cleanup

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

* fix: more cleanup

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

* fix: use csync

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

* fix: did close

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

* fix: remove unused code

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

* fix: cleanup

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

* fix: cleanup

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

* fix: clean

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

* fix: cleanup

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

* test: fix

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

* refactor: improve func

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

* fix: http client debug

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>
2025-09-17 14:07:34 -03:00
Andrey Nering 230e4de83c feat: add ability to disable providers auto-update from catwalk 2025-09-12 17:34:49 -03:00
actions-user 08a039dc34 chore: auto-update generated files 2025-09-12 09:36:40 +00:00
actions-user 01d2a12741 chore: auto-update generated files 2025-08-15 21:10:13 +00:00
bbrodrigesandGitHub 82c0aff87a feat(lsp): allow to set custom env to lsp servers via config (#778) 2025-08-15 18:09:06 -03:00
actions-user e815b7192e chore: auto-update generated files 2025-08-14 17:10:09 +00:00
Carlos Alexandro BeckerandGitHub 90097e9adb feat(lsp): add filetypes configuration (#666)
* feat(lsp): add filetypes configuration

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

* fix: simplify

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

* fix: test

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

* refactor: cleanup

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

* fix: improvements

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

* fix: accept fts and exts

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

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2025-08-14 14:09:39 -03:00
Carlos Alexandro BeckerandKujtim Hoxha bc52493640 feat(mcp): configurable MCP timeout
closes #604
closes https://github.com/charmbracelet/crush/discussions/754

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2025-08-14 19:33:58 +03:00
bbrodrigesandGitHub df23e9ab00 feat(config): allow configure the default diff mode (#454) 2025-08-11 14:03:32 -03:00
Carlos Alexandro BeckerandSam Mohr b0b85e6e81 fix: add $schema to jsonschema
closes #620

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Sam Mohr <smores56@users.noreply.github.com>
2025-08-06 22:19:02 -03:00
Carlos Alexandro Becker 820e55ebba fix: simpler 2025-07-28 22:47:41 -03:00
Carlos Alexandro Becker 3135b6fa4d fix: simplify stuff 2025-07-28 22:44:20 -03:00