| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 1 | # Sketch |
| 2 | |
| Philip Zeyliger | 3b279a5 | 2025-05-07 21:02:03 -0700 | [diff] [blame] | 3 | Sketch is an agentic coding tool. |
| 4 | |
| 5 | Sketch runs in your terminal, has a web UI, understands your code, and helps |
| 6 | you get work done. To keep your environment pristine, sketch starts a docker |
| 7 | container and outputs its work onto a branch in your host git repository. |
| 8 | |
| 9 | Sketch helps with most programming environments, but Go is Sketch's specialty. |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 10 | |
| David Crawshaw | 64d3299 | 2025-04-21 09:14:36 -0700 | [diff] [blame] | 11 | To get started: |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 12 | |
| 13 | ```sh |
| 14 | go install sketch.dev/cmd/sketch@latest |
| 15 | sketch |
| 16 | ``` |
| David Crawshaw | 64d3299 | 2025-04-21 09:14:36 -0700 | [diff] [blame] | 17 | |
| 18 | ## Requirements |
| 19 | |
| Josh Bleecher Snyder | 5cef9db | 2025-04-22 16:44:13 -0700 | [diff] [blame] | 20 | Currently sketch runs on macOS and linux. |
| David Crawshaw | ab50e9b | 2025-05-03 10:26:42 -0700 | [diff] [blame] | 21 | It uses docker for containers. |
| Josh Bleecher Snyder | 5cef9db | 2025-04-22 16:44:13 -0700 | [diff] [blame] | 22 | |
| David Crawshaw | ab50e9b | 2025-05-03 10:26:42 -0700 | [diff] [blame] | 23 | macOS: `brew install colima` (or an equivalent, like Docker Desktop or Orbstack) |
| Josh Bleecher Snyder | 5cef9db | 2025-04-22 16:44:13 -0700 | [diff] [blame] | 24 | linux: `apt install docker.io` (or equivalent for your distro) |
| David Crawshaw | ab50e9b | 2025-05-03 10:26:42 -0700 | [diff] [blame] | 25 | WSL2: install Docker Desktop for Windows (docker entirely inside WSL2 is tricky) |
| David Crawshaw | 64d3299 | 2025-04-21 09:14:36 -0700 | [diff] [blame] | 26 | |
| 27 | The [sketch.dev](https://sketch.dev) service is used to provide access |
| 28 | to an LLM service and give you a way to access the web UI from anywhere. |
| 29 | |
| 30 | ## Feedback/discussion |
| 31 | |
| 32 | We have a discord server to discuss sketch. |
| 33 | |
| David Crawshaw | df6d7b4 | 2025-05-06 09:56:07 -0700 | [diff] [blame] | 34 | Join if you want! https://discord.gg/6w9qNRUDzS |
| David Crawshaw | 64d3299 | 2025-04-21 09:14:36 -0700 | [diff] [blame] | 35 | |
| Philip Zeyliger | d43e572 | 2025-04-23 19:21:26 -0700 | [diff] [blame] | 36 | ## Development |
| 37 | |
| M-A | b5cb954 | 2025-05-02 11:32:34 -0400 | [diff] [blame] | 38 | [](https://pkg.go.dev/sketch.dev) |
| 39 | |
| Pokey Rule | bbca240 | 2025-04-24 09:37:58 +0100 | [diff] [blame] | 40 | See [CONTRIBUTING.md](CONTRIBUTING.md) |
| Philip Zeyliger | d43e572 | 2025-04-23 19:21:26 -0700 | [diff] [blame] | 41 | |
| David Crawshaw | 64d3299 | 2025-04-21 09:14:36 -0700 | [diff] [blame] | 42 | ## Open Source |
| 43 | |
| 44 | Sketch is open source. |
| 45 | It is right here in this repository! |
| 46 | Have a look around and mod away. |
| 47 | |
| 48 | If you want to run sketch entirely without the sketch.dev service, you can |
| Philip Zeyliger | d43e572 | 2025-04-23 19:21:26 -0700 | [diff] [blame] | 49 | set the flag -skaband-addr="" and then provide an `ANTHROPIC_API_KEY` |
| David Crawshaw | 64d3299 | 2025-04-21 09:14:36 -0700 | [diff] [blame] | 50 | environment variable. (More LLM services coming soon!) |