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