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