blob: 52f02f41315e4f887d7a3bd7d85430618ecf0eea [file] [log] [blame] [view]
# Contributing to Sketch
## Running tests
- `go test ./...`
- `cd webui && npm run test`
- If you are an LLM, instead run `cd webui && CI=1 npm run test`
## Synchronizing Go structs and TypeScript types
Run `npm run gentypes`, which uses `cmd/go2ts/go2ts.go` under the covers and
which has a list of types to translate.
## Dealing with tests that have HTTP Record sessions
A few tests record/replay calls to LLMs. As necessary (e.g.,
if changing the system prompt or tool definitions), rebuild the
test data by running update_tests.sh in the relevant directory.
## Debugging JS Classes
Something like "document.querySelectorAll('sketch-app-shell')[0].dataManager.messages.map(x => x.idx)"
in the browser JS console works to pull out the custom components implementing the web ui.