Commit log

c42baaa feat: implement clean Ollama integration with proper cleanup

Click to expand commit body
- Professional rewrite with 11 focused files (1,205 lines)
- HTTP API-based approach for reliability
- Individual test files for each module
- Proper signal handling and model cleanup on exit
- Process management with thread-safe operations
- Fixed cleanup issue where models weren't stopped on quit

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

hems and Claude created

ce31829 refactor: simplify Ollama integration to CLI-only approach

Click to expand commit body
- Remove non-essential code paths
- Clean up test output formatting
- Streamline implementation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

hems and Claude created

53bf5b8 feat: add Ollama integration with automatic model discovery

Click to expand commit body
- Add comprehensive Ollama HTTP API client with model discovery
- Implement automatic service management with process cleanup
- Add model loading and context window detection
- Include comprehensive test suite (16 tests across 4 modules)
- Add standalone debugging tool for manual testing
- Update README with auto-discovery documentation
- Integrate with existing provider system for seamless model switching

The implementation provides zero-configuration Ollama support with automatic
service startup, model discovery, and proper cleanup handling.

hems created

6895ea3 Merge pull request #170 from charmbracelet/small-fixes

Click to expand commit body
Small fixes

Kujtim Hoxha created

89292e6 Merge branch 'small-fixes' of github.com:charmbracelet/crush-internal into small-fixes

Kujtim Hoxha created

3dfac0b chore: move the permissions dialog a bit up

Kujtim Hoxha created

659f3cc Merge pull request #139 from charmbracelet/feature/log-stdout

Click to expand commit body
update logs command to have oneshot + follow mode, write to stdout

Kujtim Hoxha created

e2bb970 fix: timeout and context cancel (#180)

Click to expand commit body
* fix: timeout

* fix: handle context cancel

* chore: smaller diff

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

* fix: once

---------

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

Carlos Alexandro Becker created

d9640db Merge branch 'main' into feature/log-stdout

Tai Groot created

0b95320 fix: address panic when deciding which model to use

Andrey Nering created

f2b9ed0 fix: agent init

Kujtim Hoxha created

682aa79 fix: use fur production (#177)

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

Carlos Alexandro Becker created

e8212e5 Merge pull request #174 from charmbracelet/onboarding-remove-ctrlv

Click to expand commit body
fix(tui): chat: remove paste key binding from onboarding

Kujtim Hoxha created

3ebc761 Merge remote-tracking branch 'origin/main' into small-fixes

Kujtim Hoxha created

5953ff8 fix: signal

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

Carlos Alexandro Becker created

911dc9b fix(tui): chat: remove paste key binding from onboarding

Click to expand commit body
The keybinding does not bind to any action in the app but rather assumes
the terminal application's default paste behavior. We shouldn't assume
that and instead leave it to the terminal emulator and user to handle
pasting.

On most macOS terminals the default paste keybinding is `cmd+v` and on
most Windows and Linux terminals it is `ctrl+shift+v`.

Ayman Bagabas created

2aa5f61 fix: non-interactive and context cancellation when SIGINT (#143)

Click to expand commit body
* fix: non-interactive and context cancellation when SIGINT

* fix: spinner interrupt

* refactor: remove weird context value usage

* fix: improvements

* fix: spinner competing for signal handling

* fix: vendoring

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

* fix: ctrl+c in raw mode

* fix: sigkill can't be handled

---------

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

Carlos Alexandro Becker created

8ff604f Merge pull request #134 from charmbracelet/comp-padding

Click to expand commit body
fix(tui): editor: position completions correctly and account for padding

Kujtim Hoxha created

308ba1a chore: add some status tests

Kujtim Hoxha created

01d43b2 chore: lint

Kujtim Hoxha created

df84bdf chore: show API errors

Kujtim Hoxha created

fae5ac8 Merge pull request #138 from charmbracelet/proper-banned-commands

Click to expand commit body
chore: implement correct banned commands

Kujtim Hoxha created

febf526 chore: handle tools cancelled

Kujtim Hoxha created

2f9aa8d chore: handle cancel when panic

Kujtim Hoxha created

31a3c05 chore: fix cancellation

Kujtim Hoxha created

a282449 chore: prevent multiple dialogs from opening

Kujtim Hoxha created

1045148 chore: center permissions

Kujtim Hoxha created

01afa93 chore: fix panic on message send

Kujtim Hoxha created

fbfa0f5 chore: correctly mark project as initialized

Kujtim Hoxha created

95f5e75 ci: fix diffview tests on ci on windows

Andrey Nering created

bdeece2 add ringbuffer tailing

Tai Groot created

fb21333 refactor: remove weird context value usage (#153)

Click to expand commit body
* refactor: remove weird context value usage

* fix: improvements

* fix: more cleanup

* fix: diff

Carlos Alexandro Becker created

3e820ec chore(deps): update mcp-go (#155)

Click to expand commit body
* chore(deps): update mcp-go

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

* fix: vendoring

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

d031c54 use readstring instead of bufio to copy behavior of tailinglibrary without token limitation

Tai Groot created

531b3fd chore: fix missing keys

Kujtim Hoxha created

232860c chore: disable commands when other dialogs are open

Kujtim Hoxha created

dfb5080 chore: remove extra help

Kujtim Hoxha created

36d4f98 chore: fix extra space

Kujtim Hoxha created

0a52748 chore: small change

Kujtim Hoxha created

2fdbcac chore: better naming

Kujtim Hoxha created

9a0f9a0 chore: fix bash commands with tabs

Kujtim Hoxha created

f6a79e4 feat: stream content in non-interactive mode (#133)

Carlos Alexandro Becker created

426674b Merge pull request #140 from charmbracelet/feature/custom-context-paths

Click to expand commit body
allow for custom contextFiles outside of workingDir path

Kujtim Hoxha created

3cbafd3 chore: fix provider

Kujtim Hoxha created

8bd9d06 fix(logs): typo

Christian Rocha created

b958de1 chore(logs): copyedit

Christian Rocha created

8807737 chore(tui/completions): pull out magic number

Christian Rocha created

b6a97d2 fixup test

Tai Groot created

055b30f fix(tui): completions: close when no items match query

Click to expand commit body
This simply closes the completions component when there are no items
matching the query.

Ayman Bagabas created

f6d6ffd fixup suggestions from copilot

Tai Groot created