| commit | b7c5875548da5057eac0405bf4e0ae8bbc43667c | [log] [tgz] |
|---|---|---|
| author | Philip Zeyliger <philip@bold.dev> | Thu May 01 10:10:17 2025 -0700 |
| committer | Philip Zeyliger <philip@bold.dev> | Thu May 01 12:13:31 2025 -0700 |
| tree | a0b9eb0f68de826d7b51a5e8f5eaa7976fb48de3 | |
| parent | 5228b5850d8453c225e5611918fcd00b747c65cc [diff] |
agent plumbing: convert outbox to subscribers and an iterator WaitForMessage() could only work for one thread, because it was using a singular channel for outboxes. This was fine when we only had one user, but WaitForMessageCount() was kinda similar, and had its own thing, and I want to rework how polling works and need another user. Anyway, this one is hand-coded, because Sketch really struggled with getting the iterator convincingly safe. In a follow-up commit, I'll try to get Sketch to write some tests.
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!)