# 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.
