| commit | d499fd6e12374193df2d769d12753bbd1ddd1493 | [log] [tgz] |
|---|---|---|
| author | Josh Bleecher Snyder <josharian@gmail.com> | Wed Apr 30 01:31:29 2025 +0000 |
| committer | Josh Bleecher Snyder <josharian@gmail.com> | Tue Apr 29 19:06:19 2025 -0700 |
| tree | e8c2a8a134773164910b78b4606bd196c55d6d5f | |
| parent | dae19073cfdc420af8da311c4f3974ac6db77b46 [diff] |
Add permission callback to Bash tool to enforce title setting before git commits - Convert Bash tool from a plain variable to a struct with a permission callback function - Add a constructor for creating Bash tools with custom callback functions - Implement a permission check in agent.go that verifies a branch name has been set before allowing git commits - If no branch name is set and a git commit command is attempted, return an error instructing to use the title tool first - Maintain backward compatibility for tests with BashRun function Co-Authored-By: sketch <hello@sketch.dev>
Sketch is an agentic coding tool focused on the Go programming language. Sketch runs in your terminal, has a web UI, understands your code, and helps you get work done. To keep your environment pristine, sketch starts a docker container and outputs its work onto a branch in your host git repository.
To get started:
go install sketch.dev/cmd/sketch@latest sketch
Currently sketch runs on macOS and linux. It uses docker/colima for containers.
macOS: brew install colima linux: apt install docker.io (or equivalent for your distro)
The sketch.dev service is used to provide access to an LLM service and give you a way to access the web UI from anywhere.
We have a discord server to discuss sketch.
Join if you want! https://discord.gg/YNUSuVm4
See CONTRIBUTING.md
Sketch is open source. It is right here in this repository! Have a look around and mod away.
If you want to run sketch entirely without the sketch.dev service, you can set the flag -skaband-addr="" and then provide an ANTHROPIC_API_KEY environment variable. (More LLM services coming soon!)