Repository navigation
sprint 0.3.0
A terminal coding agent for very small local models (0.5B–3B parameters, 8K context). Two Python files, no dependencies.
This release is a rewrite. The old package is gone; sprint.py is the agent and sprint_tui.py is a full-screen interface.
Install
pip install git+https://github.com/Vasiniks/sprint.git
sprintYou need Python 3.9 or newer and Ollama. If Ollama isn't running, sprint starts it; if the model isn't installed, it offers to pull it.
What's in it
- Full-screen interface: message list, conversation with collapsible tool windows, a sidebar with context use, speed and an activity log, draggable dividers, and one popup for every command.
- Models: pick, pull by name, or search Hugging Face and choose a quantization;
/racecompares two models on one message. - Messages:
@fileattaches a file,!commandruns one yourself, pasted files and large pastes become chips. - Three modes (ask, edits, auto) with an allow list for commands that should never ask.
- Built for small models: native tool calls with a fenced-block fallback, a short prompt that lists the folder's files, automatic compaction when the context fills, loop and cut-off guards, and an Esc that stops at once.
- Settings, system prompt, themes and a log, all in plain files.
How well it works
On six one- and two-step tasks, eight tries each: magi 1.2 2B passed 42 of 48, Qwen 3.5 0.8B Q4_K_M passed 25 of 48. Results vary with wording and with what else is in the folder. Review what the model does: ask mode shows every command and diff before it runs.
Platforms
- macOS: built and tested here.
- Linux: the test suite passes in CI on Python 3.9 and 3.13. The real screen has not been tried there.
- Windows: the Windows-specific tests pass in CI (commands through Git Bash or PowerShell, timeouts, files, the full-screen module loading). 7 of the 255 general tests still fail there, and nobody has used it on a real Windows desktop yet.
Known limits
- A command is killed after 60 seconds, so a server started by the model does not stay up.
- One reply can hold a file of a few hundred lines at 8K context.
- PDFs are read roughly unless
pdftotextis installed.