How vasiniks/sprint works
sprint is a two-module terminal coding agent for local Ollama models. A user enters a request in the terminal UI; the agent sends it to the model, checks proposed tool calls against the selected permission mode, runs approved actions, and returns results in the conversation. The README also describes direct shell input, file and image attachments, plan mode, settings, usage, and update checks. The excerpts expose only selected implementation details, so README-documented relationships are cited there; unsampled internal call paths are not inferred.
Main entry points: sprint.py Agent loop · sprint_tui.py Terminal UI
Components 17
Terminal interaction
- CLI entry
sprint.py - Terminal UI
sprint_tui.py - Message attachments
sprint.py - Conversation view
sprint_tui.py
Agent runtime
- Agent loop
sprint.py - Context budgeting
sprint.py - Ollama model
Tools and permissions
- Tool-call checks
sprint.py - Permission approval
sprint.py - Tool execution
sprint.py - Plan mode
sprint.py
Settings and services
- Settings and commands
sprint.py - Config file
sprint.py - Usage records
sprint.py - Version check
sprint.py
Other components
- User
- Repository version
Connections 20
- User → CLI entry: starts
README.md - User → Terminal UI: enters request
README.md - CLI entry → Terminal UI: opens
README.md - Terminal UI → Message attachments: attaches files
README.md - Terminal UI → Agent loop: submits turn
README.md - Agent loop → Context budgeting: fits context
sprint.py - Agent loop → Ollama model: requests reply
README.md - Ollama model → Agent loop: returns response
sprint.py - Agent loop → Tool-call checks: checks calls
README.md - Tool-call checks → Permission approval: requests permission
README.md - Permission approval → Tool execution: allows action
README.md - Tool execution → Agent loop: returns results
README.md - Agent loop → Conversation view: shows reply
README.md - User → Terminal UI: runs shell mode
README.md - Terminal UI → Plan mode: selects mode
README.md - User → Settings and commands: configures
README.md - Settings and commands → Config file: reads and writes
sprint.py - Agent loop → Usage records: records usage
sprint.py - Settings and commands → Version check: controls check
README.md - Version check → Repository version: checks version
README.md