github boldsoftware/sketch v0.0.1

latest releases: v0.0.33, v0.0.32, v0.0.31...
pre-release2 months ago

Changelog

  • df23403 fix #186
  • 32969cd all: fix formatting
  • 4844be2 webui: convert sketch-terminal to SketchTailwindElement inheritance
  • 882b1d1 Waxing lyrically in a TODO about avoding the repo layer.
  • 983b58a Re-work Sketch's Docker setup.
  • 2ca1f10 dockerimg: add commonly requested packages to Dockerfile.base and enable :latest tagging
  • 7b00c2c all: add minimal GoReleaser configuration for nightly builds
  • 9f5cb2e all: fix formatting
  • 5450584 webui: convert sketch diff components to inherit from SketchTailwindElement
  • 9556fcf all: fix formatting
  • 6534c7a sketch: add patch callback hook to warm codereview cache
  • 238c18f claudetool: add callback hook system to patch tool
  • 26b6f9b claudetool/codereview: add caching in findRelatedFiles
  • cb55726 browse: refactor tool responses to match claudetool patterns
  • b3aff88 webui: display file copy status (vs modify/rename) in diff view
  • cdb08a5 webui: convert sketch-todo-panel to SketchTailwindElement with comprehensive test suite
  • 0470a8a webui: convert sketch-tool-calls to inherit from SketchTailwindElement
  • a9710d7 sketch: proxy to ports via p.localhost Host headers
  • fd67b01 sketch-timeline-message: fix commit message txt size
  • 0accea1 webui: improve diff view comment box width and height handling
  • c514748 webui: convert SketchTimelineMessage to TailwindElement with TypeScript demo module
  • 26bc659 webui: add ESLint and eslint-typescript
  • a14b018 sketch: make /debug use relative paths
  • 467c396 Fix findGitRoot
  • f2814ea Let MCP servers use env variables; pass along model key for /attach as well
  • d5f0a3e Ignore sketch-named containers that don't expose 80 in bin/sk-ls
  • 13e3856 sketch: update local_ssh.md to replace SSHTheater with LocalSSHimmer
  • 5978995 Add ValidateSessionID
  • 4a055c5 sketch: fix MCP server connection error in -unsafe mode by setting SKETCH_PUB_KEY environment variable
  • e59a2e1 webui: convert SketchTimeline to use TailwindElement and Tailwind CSS classes
  • 4337aa7 add sketch-app-shell demo fixture
  • 6fc754f Remove httprr recording.
  • 4201bde Replace skaband tools with a sketch.dev MCP client
  • cad67b0 sketch: add git username attribution for user messages in timeline
  • cebb03c Add cmd/mcp-tool command for testing MCP servers
  • 2973271 Pin 'npx prettier' version
  • 4ce9dca Bump down to 8-core github runners
  • 9aa141a skaband: remove all manual input switching functionality from sessions page
  • b01b150 Fix nil pointer dereference #432
  • b379592 webui: convert sketch-call-status and sketch-chat-input to SketchTailwindElement with comprehensive demo support
  • 659b983 webui: convert SketchCallStatus to Tailwind CSS with comprehensive demo support
  • 4957749 sketch-container-status: fix long branch names
  • d5c849d webui: convert SketchViewModeSelect to use SketchTailwindElement with Tailwind CSS
  • 4b64468 webui: add compactPadding parameter to reduce message padding
  • 07b7400 fix: prevent nil pointer panic in codereview compareTestResults
  • 9aa7828 sketch: add -ignoresig flag to ignore SIGINT and SIGTERM
  • 261c911 rm shadowRoot references from SketchAppShellBase
  • a70dcc4 fix visibility and css breakpoits on todo panel
  • 618bfb2 webui: implement modular demo system with TypeScript and shared fixtures
  • 8b2bc8e fix stop/end button css breakpoints
  • 3999593 webui: generate tailwind.css in esbuild.go, output to dist/
  • 0635c77 webui: fix monaco diff editor jumping behavior
  • cff0ff8 sketch: add /proc filesystem fallback for port monitoring when ss command unavailable
  • 7e36a04 webui: convert sketch-container-status to use tailwind
  • cb48b67 sketch-app-shell: add tailwind css to demo html
  • 7735844 skaband: create forked app shell for /newsessions with shared base
  • bf66a2f webui: convert sketch-app-shell to use tailwind
  • 194bfa8 sketch: add MCP support
  • ba351be all: fix formatting
  • 5a85ffe webui: fix IDLE/WORKING indicator to ignore system messages
  • d158f9d Remove noisy log line
  • 29d689f dockerimg: rename ssh_theater to local_sshimmer
  • ebbdee4 webui: fix copy button functionality for new branch creation
  • 8105fe6 Removing noisy log line.
  • dd6352a fix docker inspect for podman docker alias
  • 23772f4 support building docker image with gemini
  • 9ee498c .clabot: add d2orbc
  • afbade2 .clabot: add lackhove
  • 364b35a webui: improve/simplify commit selector in Monaco diff view
  • 61a0f67 webui: add Jump to Bottom button for mobile and desktop chat views
  • 3cde282 webui: improve comment functionality for Monaco diff editor by using gutter
  • d183284 fix messages-viewer
  • cfd0fe6 cleanup: remove unused functions and fix tests
  • c540e8e webui: add missing codicon font reference to mobile app shell
  • 037f316 github workflows: add working-directory input parameter
  • be0da44 Minor docs change.
  • f0f9af0 webui: remove unused sketch-diff-file-picker component
  • 882e7ea loop: preserve cumulative usage across conversation compaction
  • 1f8fe9c webui: fix Monaco editor initialization parentNode errors in diff view
  • ffa94c6 webui: add print styles for full chat printing
  • 5477736 webui: implement explicit initial render detection using State.message_count
  • 65ff909 webui: preserve chat scroll position when switching tabs
  • b774437 webui: add comprehensive unit tests for sketch-timeline incremental rendering
  • e68613d webui: implement viewport-based message rendering in sketch-timeline
  • e0a9f72 test_recipes: add Docker and gvisor installation guide
  • a7e7fb6 Sketch: test thyself
  • e086093 Re-enable monaco horizontal scroll bars.
  • 963ae4b scripts: disable man-db auto-update in apt optimization script
  • 2e3337d loop: add docker to the system prompt
  • 0258add dockerimg: add docker to the sketch image
  • 57162e0 codereview: add 1-minute timeout parameter with context propagation
  • 92dcbf5 cmd: add -ska-band-addr as alias for -skaband-addr flag
  • d5c8d71 loop: avoid deadlock when pushing to a checked out branch
  • 2343f8a dockerimg: fix Docker image reuse for Dockerfile.sketch
  • f964b50 all: fix formatting
  • 28e39ac loop: remove unused waitForEnd parameter and endWaitGroup functionality
  • 6b8b766 webui: add mobile diff view with Monaco inline diffing
  • 7c1a687 webui: implement Mermaid code splitting with lazy loading
  • d4eea22 Fix vet_error baseline?
  • fe51d1d Further loosen browser timeouts.
  • 64f6046 loop: add diff stats from sketch-base to HEAD in /state endpoint
  • db8caa0 dockerimg: remove noisy debug log for missing tunnel removal
  • 95594bb bin/sk-ls: add number of messages
  • 7380a36 s/title/slug in bin/sk-ls
  • 021231a add /dist/messages-viewer.js bundle output
  • 2f8464c all: fix formatting
  • 29c481c browser tests: further increasing timeouts
  • c0a4459 webui: implement Monaco code splitting with external bundle loading
  • 38499cc webui: restructure diff header layout for improved usability
  • 8a290e5 Run workflows on bigger machine.
  • 851d2bf webui: add tool calls display to mobile chat timeline
  • 6255411 all: fix formatting
  • 5c6d829 webui: invert diff view layout and improve file selector behavior
  • 4cd0129 webui: bring back the old per-file diff view as an option
  • 216d2fc webui: clean up diff view interface by removing unused features
  • d4be7a2 feat: add subtrace-token flag for development tracing
  • dba26b5 webui: fix Monaco editor horizontal scrollbar from border width overflow
  • ad15b6c all: fix formatting
  • f00c7b1 webui: disable Monaco diff editor overview ruler
  • e2954ce webui: fix diff view scrollbar visibility and resize handling
  • dbca897 webui: improve diff view header layout and compactness
  • 9abf803 all: fix formatting
  • 26f3f34 webui: implement multi-file diff view with continuous scrolling
  • 938d2dc webui: add URL parameters for diff view from/to commit selection
  • 7351cd9 webui: fix Monaco fonts
  • a35de5f Using GH actions provided Chrome for test speedup (#149)
  • 46be096 ci: optimize APT package installation by skipping documentation
  • c013134 Fail to speed up CI by not installing Chrome.
  • c886ac5 loop: add special instruction field
  • 1bd636c dockerimg: add seccomp filter to protect PID 1 from kill syscalls
  • c7c2cc1 webui: fix repository name parsing for names containing dots
  • 83c5be6 cmd/genwebuizip
  • e8da7af fix: correct SSH connection string format for VS Code remote SSH
  • d2ba10c Speed up formatter workflow.
  • 1417b69 Fixing git checkout after retrying hooks.
  • 8773e68 feat: add ssh-connection-string option for container SSH access
  • 542bda3 browser: rename browser_read_image to read_image and auto-send screenshots to LLM
  • 225e966 webui: remove deprecated @types/dompurify dependency
  • 6d3de48 feat: add -link-to-github flag with Octocat icon for GitHub branch linking
  • a1762b9 cmd/sketch: add -dump-dist internal flag to extract embedded filesystem
  • 57d28bc webui: fix white text visibility in pre-compaction message view
  • 8bc681b webui: fix mobile UI displaying subconversations
  • 0d09284 webui: fix HTML escaping in markdown code blocks
  • 4168263 webui: fix mobile error message styling to display in red
  • 209ea91 test: fix unicode filename testdata causing Go module packaging issues
  • 4c1cea8 Fix up sketch-wip handling when --commit is not specified.
  • 0113be5 webui: add skaband navigation link with image to desktop and mobile
  • 8ad17ba dockerimg: improve git config error messages for user guidance
  • f1e517d claudetool/onstart: add comprehensive tests for non-ASCII filename handling
  • de19aca analyze: use git ls-files -z
  • c139982 github: prevent discord webhook from running on forks
  • f825e69 all: fix formatting
  • 7375708 webui: add image paste functionality to mobile chat input
  • 5f77894 webui: add markdown rendering to mobile chat messages
  • c3ecabb github: fix discord webhook payload truncation for long commit messages
  • e08c7ff webui: add mobile interface with URL parameter switching
  • ba15aeb Port forwarding: delete noisy log line
  • 6c5beff Disable pager in post commit hook we install.
  • 715b8d9 loop: always use branch sketch-wip in innie
  • cecba06 browser: add SKETCH_BROWSER environment variable support
  • c17ffe3 sketch: add session history tools using markdown table API
  • 2a32f01 go.mod: bump to Go 1.24.4
  • 3d040bd all: fix formatting
  • 19969a9 all: s/title/slug/, adjust branch handling
  • 44f847a webui: move cost display to popup info panel and hide when zero
  • 0337623 termui: only display money when non-zero
  • 068f4bb loop: remove pointless fmt.Sprintf
  • d27921f dockerimg: prioritize Dockerfile.sketch over Dockerfile
  • 5c654f6 all: fix formatting
  • 664404e cmd/sketch: add -upstream flag for git branch management
  • a9fd88f dockerimg: detect more dockerfiles
  • 59bb27d llm: get costs from server
  • 883e758 .clabot: add jonfriesen
  • 2758545 Adding dependabot to have signed the CLA.
  • 2037241 git_tools: improve commit range selection when fewer than 10 commits exist
  • 95632c8 claudetool/codereview: fix runGenerate to filter pre-existing modified files
  • a727f70 claudetool/codereview: stabilize related files list
  • cf19190 claudetool/codereview: add go generate support
  • 272c4a9 claudetool/codereview: nudge agent to call codereview after each round
  • 008f958 .github: don't notify Discord from dev queue (sigh)
  • 9236cce .github: download gofumpt instead of installing go
  • 7e5fe3c all: fix formatting
  • 3fef3ca build(deps): bump tar-fs from 3.0.8 to 3.0.9 in /webui
  • be7802a loop: add configurable branch prefix option
  • 2abd467 cmd/sketch: expand ~ in host path in mounts
  • 322dae9 dear_llm: simplify, shorten
  • 43448c6 loop: nudge agent towards less bouncy emoji babble
  • 53ab245 webui: implement DOMPurify sanitization for markdown security
  • 1609893 loop/webui: remove end session feedback survey functionality
  • e6c294d budget: remove num-iterations and wall clock time limits
  • 2f0eb69 Capture git origin before replacing it.
  • 0df32aa loop: change state transition logging from INFO to DEBUG
  • 222bf41 loop: replace sketch-host remote with origin remote in agent.Init()
  • c898abf dockerimg: restrict git fetch to upload-pack service requests only
  • a347b17 cmd/sketch: remove -initial-commit flag configuration option
  • 7a85235 cmd/sketch: separate user-visible and internal flags using flagsets
  • 59e1c16 loop: fix branch naming increment and add user notification for conflicts
  • 138ec24 loop: automatic host/container ssh port tunneling
  • 457dfd1 all: fix formatting
  • bd52faf webui: add TODO item comment functionality similar to diff comments
  • fea9e27 loop: restrict git hooks installation to inner instances only
  • d1bd519 llm/oai: add (recent) deepseek-r1
  • 5fe419f loop: enable parallel tool calling
  • f75ba2c Stop installing hooks when running innie outside of a container.
  • b8a8f35 loop: implement comprehensive conversation compaction system
  • b573940 Add end session user feedback survey with skaband client coordination
  • 364f741 loop: add periodic port monitoring to container processes
  • 6cad861 webui: fix multiple choice to append instead of replace chat content
  • 33032d3 cmd/sketch: fix budget propagation from host to container
  • a3e28fb llm/conversation: fix duplicate tool results in insertMissingToolResults
  • 15cc2e7 cmd/sketch: add -p flag as synonym for -prompt
  • e84d5c7 loop/server: enable SSH reverse port forwarding
  • 7871e2f all: fix formatting
  • 855afff claudetool: don't attempt to install zero tools
  • 67b4c77 claudetool: minor auto-install cleanup
  • bf381a7 claudetool/browse: block port 80 access in browser tools
  • b421a24 all: remove anthropic edit tool support
  • 00bcaef webui: remove unused diff2html-based diff view
  • c7cdd77 dockerimg: add emoji fonts to base image
  • 495c1fa claudetool: add just-in-time tool installation for bash commands
  • b6bc113 dockerimg: improve docs on how to publish a new image
  • 71c73b5 all: fix formatting
  • bcc1c41 git_tools: add rename detection and proper handling of moved files
  • dee39e0 webui: fix chat timeline scrolling to reach exact bottom
  • 2d08119 webui: add comprehensive browser tool cards and termui support
  • 991164f webui: add specialized tool card for keyword_search tool
  • 112b923 loop: add todo checklist
  • d203b7d loop: encourage e2e testing
  • b509a5d loop: ensure proper blank line before git commit trailers
  • 7fbc8e4 browse: set default viewport to 1280x720 (16:9 widescreen)
  • 57893c2 all: fix formatting
  • 4d90f34 webui: add cmd+s keyboard shortcut to Monaco diff editor
  • d9b1eb4 dear_llm.md: more hints about how to take screenshots
  • 9500617 dockerimg: fix Chromium support with multi-stage Docker build
  • e89b308 webui: comprehensive diff view improvements
  • 7ad1c7a all: fix formatting
  • 444f7f0 webui: expand Monaco comment selections to full lines for better context
  • b34b8b3 webui: add line numbers to Monaco diff view comment auto-inserted text
  • efa8f43 claudetool: strengthen the "no trailers" commit message guidance
  • 90993a0 loop: install hooks relative to repo root, not working dir
  • 7027307 webui: replace hardcoded Monaco language map with dynamic detection
  • 837699b github: fix Discord notification to handle multiple commits in queue push
  • c5848f3 loop: use repo root instead of working directory for git diff support
  • 6e46360 github: add Discord notification to commit queue workflow
  • 77bac8c webui: make diff loading error message more useful
  • d85e97d webui: remove unused language property from Monaco editor
  • a442ce3 dockerimg: change base container image to ubuntu 24.04 with go 1.24.3
  • 574eda8 skabandclient: fix typos
  • fa30677 .github/scripts: include commit body, cut pointless title, repo
  • 217e987 Revert "webui: fix diff view failing when added file doesn't exist in working directory"
  • f178755 github: fix Discord webhook notification User-Agent rejection
  • a9948c0 Remove CI=1 requirement for discord_notify.
  • a09d638 empty commit for testing
  • 9e3c867 github: add Discord webhook notification for main branch commits
  • 3d2eff0 sketch: avoid using tty when termui is false.
  • ab6a811 all: update tests for claude 4
  • 83b2d35 claudetool/codereview: expand on when to commit vs revert
  • 3b733a5 loop: add some coding guidelines
  • 586ecb1 claudetool: fix sha command formatting
  • 0efb29d llm/ant: switch default to Claude 4 sonnet
  • 78e7cf9 dear_llm.md: help prevent industrial accidents
  • dbfd36a claudetool/bashkit: add validation to reject blind git add commands
  • afeafea webui: change Monaco editor comment submit button from Submit to Add
  • 4c7865b webui: fix diff view failing when added file doesn't exist in working directory
  • ed17fdf loop: fix data race in Agent.CurrentStateName()
  • 160fb06 claudetool: improve error message when all search terms match too much
  • 0e8073a llm/ant: add Claude 4 sonnet/opus
  • 3e6a4c4 dockerimg: mount Go caches for faster Docker race builds
  • f4f929a dockerimg: fix VCS stamping error when building with race detector
  • 3b5646f llm/ant: prevent httprr cache misses from being retried
  • 12989b0 fix: read API key from environment in host mode when not using skaband
  • 4acf006 dockerimg: Add race detector support to sketch binary build
  • 9bca61e feat: enhance UI with commit pulsing animation and improved copy icon
  • 75bd37d loop: auto-commit changes when saving in diff view
  • 8c3b53a all: fix formatting
  • 456d5f9 Remove "restart conversation" backend functionality
  • 14fe75d webui: Remove restart conversation button and modal component
  • f287299 Refactor agent git state into its own struct to tease apart its locking a bit.
  • 716bfee Fix agent init of git repo from recent change.
  • bc8c8dc sketch main: migrating things from /init into cmdline flags
  • 1a648f3 llm/oai: add entry for Mistral Devstral model
  • 3841199 llm/oai: retry more on failure
  • 0f1a3f8 loop: strengthen guidance file wording a bit
  • ac761c9 cmd/sketch: add mount flag for container volumes
  • e10f0e6 claudetool: ignore trailers in git commit style analysis
  • 5640431 loop: attempt some sycophancy reduction
  • 6f041f5 claudetool/onstart: support .github/copilot-instructions.md as inject file
  • 6e35332 all: remove testify
  • 8d8b7ac Add buildinfo to /debug on Sketch http
  • 35c72bc loop: send modified over-budget message
  • 7ce7b02 claudetool: draw attention to commit message capitalization and punctuation
  • 9daa518 experiment: remove llm_review experiment and associated code
  • 55c87e3 webui: Fix cursor jumping during image uploads
  • 9d7f0cc loop/server: fix race condition in SSE stream iterators
  • da514fc Update dockerfile tests.
  • 9df94b5 dockerimg: Extract base Dockerfile to separate file
  • fbe6478 docker: Add lsof and ss to base docker image
  • d6d12d1 Fail clearly when repo has no commits. (#109, #84)
  • e9eaf6c Add skaband heartbeat support.
  • cabfa55 Pass -verbose flag to innie to see logs.
  • 397871d webui: Add End button to shutdown container
  • a832220 loop: only do in-docker git init if connected to host git
  • 87d29ef docker: use consistent ephemeral port for SSH
  • 8c46362 all: fix formatting
  • 5e35702 webui: Update status indicators
  • 272a90e Add Monaco diff-view, the saga ...
  • d3ac112 git_tools: Implement git diff and show API
  • 8bdf627 Playwright: don't use junit inside Sketch.
  • 0ead54d cmd/sketch: move NewSessionID function
  • 5eccd68 cmd/sketch: invert bool to fix open flag default behavior
  • 044a62e webui: Prevent sending messages while uploads are in progress
  • 276f460 all: read agent.md files too
  • a4500c9 llm/ant: retry more on failure
  • 613c0f5 logging: make -verbose -termui=false log to stdout
  • bd7b625 webui: reposition working/idle banner over lightbulb/wrench icons
  • e3c2f22 skabandclient: fix handling of empty skaband-addr
  • 956626d termui: add branch delete command
  • f163e9e claudetool/codereview: stop checking string iteration patterns
  • de5f744 claudetool: ignore some gopls (/vet) checks
  • fbbf83b webui: tweak done tool card emojis
  • a4092d2 loop: make about_sketch not experimental
  • 74d690e claudetool: remove knowledge base, focus on about sketch
  • 039fc34 loop/agent: add git commit hooks when running inside container
  • 6ada85d ci: fix checkout reference in formatting workflow
  • f7bebdd loop: attempt to stop sketch from bouncing around between branches
  • 124c942 Improve Discord badge
  • 339b56e webui: Implement drag-and-drop file upload in chat window
  • 75f93a1 codereview: Filter out non-existent files from related files suggestions
  • a10f151 webui: add copy button to markdown code blocks
  • 6525d82 claudetool/kb: Prompt engineering to get sketch to more readily use kb
  • 9007dd9 readme: Beautify GitHub README with improved formatting
  • 3321939 Explaining relative paths to my dear llm.
  • f84e88c webui: Add file paste upload support
  • da79654 sketch: default -open=false when SSH_CONNECTION is set, improve help
  • 7bb1bf0 claudetool/kb: add kb info about sharing sketches
  • 0e5b8c6 experiment: make memory (dear_llm.md) always enabled
  • 64f2aa8 loop: make multiplechoice tool calls end the turn
  • b81d7d4 loop: strengthen guidance around suggested additions to dear_llm.md
  • a5c971e loop: make multiplechoice tool just a var
  • 7013e9e ssh: use local CA, add mutual container/host auth
  • 0044241 Log host URL in verbose mode.
  • 7c58b02 dockerimg: Use temp dir for temporary Dockerfile
  • 2044abb cmd/sketch: increase default budget from to 0
  • c0a1e53 claudetool: remove telemetry endpoint and related functions
  • 436655e experiment: support SKETCH_EXPERIMENT to set default sketch experiments
  • c488f22 loop: encourage completion of repetitive or tedious tasks
  • 49edc92 agent: move "sketch-base" into git
  • 52eeb15 .clabot: add maruel
  • 7231839 webui: add agent state and status banner
  • eab12de loop: Add StateTransitionIterator and stream state updates
  • 8a1b89a claudetool/bash: include partial output in error message for timeouts
  • ec398cb test: use 'any' instead of 'interface{}'
  • 064f8ae claudetool/bash: include partial output when command times out
  • 208938f bash: Shorten bash tool default timeout to 10s.
  • 3e9d80c dockerimg: update SSHTheater to use Ed25519 keys
  • 84a8ae6 tool cards: add TODO
  • 18e3368 browser: Add console log capture tools
  • 34bb09a webui: fix client-side nav back button
  • 848572d webui: Add documentation explaining sketch-tool-card component architecture
  • c31e296 dockerimg: print LLM output in verbose mode
  • 7fb3499 all: fix formatting
  • 17b1094 loop: tell the agent that it is powering sketch
  • 44d1f1a loop: instruction the agent not to make new branches
  • 385da54 dear_llm: point out the meta
  • 31785ae loop: add knowledge_base tool for on-demand information
  • 5c7f957 all: fix formatting
  • 8dff12f loop: emphasize directory guidance
  • 6d4c7ea dear_llm: update
  • 98b64d1 webui: switch to chat view when user sends a message
  • 39ed5a5 readme: take a quick editing pass
  • 53b02a6 dockerimg: more exacting prompt for building a dockerfile
  • ff2df6a dockerimg: improve errors if dockerfile fails to build
  • 39bcf01 Added FAQ about no space left.
  • e577ef7 all: fix formatting
  • 7a11362 loop: on git fetch or checkout failure, retry without hooks
  • a9a786b dockerimg: Fix development version detection when run with -C flag
  • e31d2a9 webui: Fix message bubbles and tool calls overflow issues in timeline
  • 04e778c webui: name:sketch-webui, export web-components
  • 0522484 browser: add window resize tool with chromedp
  • 80b488d Browser tools: initialize lazily and add timeouts.
  • 6458e7c README: Add instructions about connecting to Sketch container
  • 5ebdbb8 Adding User Guide to README.md
  • 72252cb llm and everything: Update ToolResult to use []Content instead of string for multimodal support
  • 7ce5fb7 Revert "llm: add service.ModelName"
  • 022b363 llm: add service.ModelName
  • a997be6 claudetool/onstart: add codebase analysis tool and basic memory support
  • dce8d84 claudetool: remove mention of go doc
  • f59df72 claudetool: don't list out available binaries in bash tool
  • 113e205 git: add retry logic for checked out branch conflicts
  • e97a8e5 git: Make "git fetch sketch-host" update origin refs as well.
  • 51e8e2b dockerimg: Run git fetch when .git/info/refs is requested
  • d03318d sketch: Introduce versions for sketch state
  • 8236cbc llm/oai: add several more models
  • d74572d docs: add DEAR_LLM.md with repository context for AI agents
  • 078e85a ssh_theater: only edit conf if host doesn't resolve
  • 15c9528 ssh_theater: ask the user before editing config
  • 220a36d experiment: remove not_done experiment
  • 9320265 loop: update git commit instruction to use --trailer, add Change-ID
  • 4d54493 all: support hiding subconvo output
  • a4ad8af webui: Streamline playwright reporter config
  • 3b279a5 README.md: De-emphasize Go a bit.
  • b9e62fd loop: remove some Go-specific language from system prompt
  • b529e73 loop: disable multiple choice tool in oneshot mode
  • d2f54c2 loop: improve update_tests.sh reliability
  • f392251 go.mod: bump to Go 1.24.3
  • fa66703 llm/oai: add Mistral Medium 3 to oai models
  • 6aaf6af experiment: make precommit always on
  • 6ab6fce .dockerignore: add
  • 1ed1cc4 codereview: only run go mod tidy when go.mod has changed
  • 85de37e loop: encourage smaller diffs
  • a2a3150 loop: split title tool into title and precommit tools
  • c3c2023 webui, termui: use 〰️ for tool call failures
  • 924a770 claudetool: improve commit message guidance in precommit tool
  • 4936de3 all: make update_tests.sh scripts location-independent
  • 593ca64 claudetool: disable prompt caching for one-shot subconvos
  • a23587b cmd/sketch: make browser flag default behavior conditional on one-shot mode
  • 07e98cc docs: Update CONTRIBUTING and README for WebUI development server setup and usage
  • 7ac5ed0 webui: Roll back broken changes (ef58e06 and 47fbca6)
  • 47fbca6 all: fix formatting
  • ef58e06 webui: Refactor tool calls
  • 5e8aead webui: Simplify tool call rendering code
  • c575fd7 webui: Fix demo page
  • b6d6d38 claudetool: Add SKETCH=1 to bash tool environment
  • 31f1524 dockerimg: always show build output
  • 4962f15 all: fix formatting
  • 8b43ffb Install chromium for tests
  • 33d282f Add browse tool support.
  • a9d87aa llm/gem: remove unused field
  • df6d7b4 README: skip discord application process
  • 37aaf08 Fix terminal not loading when first tabbed to.
  • e01ea0e experiment: fix more dumb bugs
  • 085f74c experiment: fix Flag.Set
  • b1cca6f dockerimg: pass -x flag to inner sketch to enable experimental features
  • 29fea84 llm/ant: replace fmt.Printf with slog in retry logic
  • 5cca56f loop: migrate system prompt to Go templates
  • 4fcde4a loop: clarify tool-ends-turn logic
  • 36a5cc1 loop: don't rename title tool, even with precommit experiment
  • d42577f experiment: actually enable experiments when using -all
  • 8fdf753 termui: remove git ref beautification for cherry-pick commands
  • c72ceb2 claudetool: add go mod tidy check to codereview
  • bfebfd1 go.mod: tidy
  • a70246a claudetool/codereview: add readme.md
  • f4047bb claudetool/codereview: new package extracted from claudetool
  • e750ec9 webui: change tool call failure icon to be less alarming
  • 3659d87 all: more gemini key plumbing
  • 021557a Allow multiplechoice tool to end the model turn
  • 5a7b369 cmd/sketch, dockerimg: more gemini key plumbing
  • f53875f remove errant console log
  • 923a3ba .github/workflows: run tests with GOEXPERIMENT=synctest
  • 4d4e807 loop: use stringer for State.String, use String in slogs
  • 6f446fa experiment: don't panic when Enabled called with unknown name
  • 3871a09 Update agent_user_cancel_test.go to use new package structure
  • 961cc9e skabandclient: send model name on start of session
  • c5b8ed4 Add -termui=false flag to prevent panic in non-TTY environments
  • d7970e6 claudetool: change title tool to precommit, add commit style guidance
  • e2518e5 claudetool: add experimental LLM reviewer stage
  • 503b5e3 loop: add not_done experiment
  • d7e5638 loop: pull done tool description out into a constant
  • c6a2c24 loop: clean up whitespace
  • b478214 experiment: add simple way to toggle experimental features
  • f396a00 Explaining how to use -docker-args to facilitate some additional sketch inception.
  • 1dc2137 Add docker-args flag to pass arguments to docker create command
  • 8fd5104 dockerimg: do not include tmp-sketch-dockerfile in image
  • a4b19f8 termui: always call ui.updatePrompt
  • 9957046 dockerimg: remove configurability from open browser request
  • 50608b1 dockerimg: fix typo in SSHTheater name
  • b7a0663 dockerimg: update tests for last commit
  • b2064de dockerimg: more Dockerfile robustness
  • 66cf74e dockerimg: do not allocate a TTY in one-shot mode
  • 93fec60 termui: export TermUI
  • b5f6a00 dockerimg: use --progress=quiet to always show docker build failure
  • 5a23406 ll/gem: implement Gemini Pro 2.5 support
  • 3b4d2b8 gemini: basic gemini API wrapper
  • bdfb126 sshserver: s/log/slog
  • cf291fa sshserver: add scp support
  • d0a3cd6 browser: switch printf to slog
  • 4bdd9aa dockerimg: simplify pushdockerimg by requiring it run on linux
  • c7e7796 dockerimg: remove tmp-sketch-binary-linux
  • ca53558 dockerimg: set http.postBuffer for git inside container
  • 99231ba dockerimg: be more robust to http connection errors
  • ab50e9b cmd/sketch: remove colima check
  • 16fa8b4 Overhaul UI with chat-like interface
  • 66439b0 llm/oai: remove unused parameter
  • 11c97f2 browser: don't open empty URLs
  • e114af5 Minor update to CONTRIBUTING.md
  • 2d4c48f Remove Charts tab and related Vega components from Sketch
  • 88a6efc ant: delete
  • 485afc6 tool_use: add multiplechoice support to Agent
  • 6234a8d Sketch inception wiring: make it easier to run unsafe sketch inside Sketch
  • 25f6ff1 Implement Server-Sent Events (SSE) for Real-time Agent Communication
  • d01d134 Default to CI=1 for "npm test"
  • 3e21308 llm/oai: add together.ai Qwen3 support
  • 4f84ab7 all: support openai-compatible models
  • 44f9b4c all: fix formatting
  • 1c81423 webui: add average dollars per hour to Dollar Usage Over Time chart
  • dc372f3 loop: the end of a subconvo is not an End of Turn
  • 6c2bb84 webui: add Escape key handler to dismiss empty line comments
  • 21cbc45 ant: add missing sleep during backoff (oops!)
  • d72563a cmd/main: don't send slogs to stdout, ever
  • c8e4ab0 Restructure main.go to separate host and container code
  • fa67fe5 dockerimg: remove buildx dependencies from Dockerfile
  • a352ca6 .clabot: remove recheck comment, doesn't seem to work
  • 4e14f6c .clabot: fix json, explicit recheck comment
  • b5cb954 readme: add pkg.go.dev badge (#46)
  • 6e7fe9b .clabot: add crawshaw
  • 2e3290c .clabot: add
  • 78f6c40 termui: add remote to fetch
  • 2fde465 claudetool: redact initial commit hash in test fixtures
  • 2bdc953 termui: add git fetch --prune before calculating cherry-pick refs
  • 495cb96 sketch-app-shell: fetch "cancel" not "/cancel"
  • 4d5e997 all: make tests accept OUTER_SKETCH_ANTHROPIC_API_KEY
  • 2772f63 dockerimg: add support for passing env vars to Docker via git config
  • e2c7f72 webui: make input box focus on page load
  • a3dcd86 ant: improve encapsulation
  • 8da3d45 readme: use non-expiring discord invite
  • 9373c07 Update tests for agent's new iterator implementation
  • b7c5875 agent plumbing: convert outbox to subscribers and an iterator
  • 5228b58 dockerimg: add SKETCH=1 to sketch container
  • a1e0e49 loop/agent.go: don't panic on nil toolResp
  • 76ccdfd Add git fetch prune to improve Docker container initialization
  • 453a62f termui: fix output for keyword search terms
  • b1e8157 termui: use explicit coordination for clean shutdown
  • a687c1b termui: check sketch-host remote when formatting cherry-pick command
  • 6866c79 webui: Finish removing aria snapshot testing
  • c76a392 dockerimg: restore sketch_context docker label
  • bc4947e cmd/go2ts: fix typo
  • d9d4581 webui: add current Agent state to call-status tooltip
  • 48c84c9 .github/workflows: remove vibe-coded nonsense
  • 936ba62 .github/workflows: thread formatted HEAD commit to test sub-actions
  • 88c61bd .github/workflows: fail if go generate creates a diff
  • 3e2111b all: support popping a browser from termui
  • e54b00a browser: simplify API
  • 93bb66a .github: don't run workflows on queue-dev-* either
  • 40ffb84 .github: let my autoformatter muck with the quotes
  • 4c1015a .github: delete extraneous whitespace
  • d33ee13 webui: tweak welcome screen wording
  • 78707d6 browser: small new package
  • 96b60dd Add StateMachine tracking to Agent control flow
  • bce3a13 Modernize and streamline Sketch top bar UI
  • 2a5bd6d dockerimg: switch to a debian base image
  • 3201133 Amend notification logic to only show for end-of-turn messages without parent_conversation_id
  • efda396 .github/workflows: add a dev queue for GitHub Actions hacking
  • db5e9b4 Implement notifications feature with toggle and focus handling
  • 2c4db09 Restart conversation support.
  • b74b526 .github/workflows: further parameterize
  • 1048973 .github/workflows: delete unnecessary 'git config' calls
  • 9f4b808 agent.go: don't panic on nil initialResp
  • bc6b629 Add browser notifications for agent messages with EndOfTurn=true
  • f830c9d all: fix formatting
  • 8506894 termui: add a line to the help menu telling the user to chat
  • e81233f Add gentle pulsing animation to activity notification icons
  • 250348e all: mild prompt engineering
  • eb5166a Shrink title text to reduce truncation in header
  • 3cae7d9 cmd/sketch: make -open default to true
  • e634d26 webui: add go2ts go:generate line
  • 42f7a7c loop: enforce rather than fix branch formatting
  • 23b6a2d termui: remove path from prompt
  • 2978ab2 termui: fix up emoji spacing a little
  • c2d2610 termui: turn the user from a faceless gray menace into a superhero
  • 81eacc4 all: fix formatting
  • 3a89ba8 build(deps-dev): bump vite from 6.3.2 to 6.3.4 in /webui
  • d01f67c ci: amend single commits when auto-formatting queue-main branches
  • 7910eef ci: amend single commits when auto-formatting queue-main branches
  • d20ded5 webui: Don't auto-expand last message
  • abc093c Left-align 'How to use Sketch' paragraphs
  • cf57096 all: fix formatting
  • 47b71c9 Display last commit in UI top bar
  • edc88dc Rename cancelInnerLoop to cancelTurn to match refactored naming
  • 885a16a Refactor loop/agent.go to reduce complexity
  • 0d95d3a Improve SSH config file safety in dockerimg/ssh_theater.go
  • 9c0fc89 fmt
  • c796e7f ssh_theater: fix tests
  • 78520f5 loop: update test fixture
  • 3b0795b ssh_theater: auto-add Include to ~/.ssh/config
  • 74b0121 ssh_theather: use ~/.config/sketch not ~/.sketch
  • fff269b Update title tool to reject branch names that already exist
  • 47b1936 Display branch name alongside title in termui and webui
  • 0137a7f Improve git cherry-pick display with abbreviated SHA/branch references
  • d499fd6 Add permission callback to Bash tool to enforce title setting before git commits
  • dae1907 Add WillRunGitCommit function to bashkit
  • a9b3822 Add branch_name parameter to title tool
  • 1ae976b loop: fiddle with titleToBranch
  • e2d24ab dockerimg: add 'apk add grep'
  • dbe0230 loop: extract system prompt into a separate file
  • 2b2090e claudetool: add missing json schema field
  • c72fff5 Add SSH connection information to web UI
  • d3906e2 Add @click handler to stopButton in sketch-app-shell.ts
  • 7b60449 bin/sk-ls.sh: Show currently running sketches in Docker and what they're up to
  • dc507a3 all: fix formatting
  • 5cf4926 Add welcome box with usage instructions to empty chat window
  • 570c3f8 all: fix formatting
  • c2b6bdf Improve status bar icons for LLM and tool calls
  • 1b47aa2 Add initial-commit CLI flag for specifying git reference
  • 2dc86b9 Update codereview tool UI to show different icons based on result content
  • 50a1d62 loop: don't panic when LLM API call fails
  • 5fabc74 webui: make tool call failures less "error"-y
  • d4b1cc7 Sort git rev-list by time and limit results for related files
  • 15272c1 claudetool: add two more "related files" todos
  • 9c07e1d loop: prevent panic on double Agent.Init
  • ffecb1e claudetool: add "related files" detection to codereview tool
  • ffb58a3 webui: show more summary-text in tool cards
  • fa40c41 webui: +sketch-tool-card-multiple-choice
  • ea3fc20 dockerimg: fix vscode:// links
  • 015b882 webui: fix 'build' and 'dev' npm scripts
  • 22bd8eb sshserver: fix env for ssh pty sessions
  • 0dcebe1 Add support for passing prompt without -one-shot
  • fefde57 webui: Tweak prettier setup
  • d6d2c69 webui: Add missing step to make install
  • e66db3e Redesign Sketch top bar with tab-based interface
  • 99a9a02 Implement tracking of outstanding LLM and Tool calls
  • f98d730 webui: supress mermaid error msgs
  • dded2d6 all: fix formatting
  • 8d93e36 webui: Add Mermaid diagram support to markdown
  • d8adbba all: fix formatting
  • 5bff650 fix oddball formatter complaints
  • 1112949 dockerimg: use a default image from a public registry
  • 5fdd024 Sketch "inception" support.
  • b74c4f6 make -one-shot command line work with both -unsafe and regular
  • 833a0f8 claudetool: improve codereview
  • 0cbd976 rename a file that was driving me crazy
  • 33f7172 all: fix formatting
  • 2cba695 Add unit tests for dockerimg/sshtheater.go with refactoring for testability
  • 6f2bf8a sketch: fix double space in SSH warning
  • 5c70bfe all: fix formatting
  • eda2a8c Simplify and fix GitHub workflow push to main
  • 5b8ab1f webui: intentionally break formatting
  • c3391a9 Fix autoformatting push to main in GitHub workflow
  • a0801ad Add comma formatting to input and output token displays
  • df2d3dc dockerimg: add extra space for terminals that render emojis wide
  • 6e42f32 .github/workflows: let prettier format yml files
  • 15a4db7 .github/workflows: improve autoformatter commit message
  • ae77226 Try again to fix GitHub Actions permission issues
  • 4de8a91 webui: Add aria snapshot testing
  • ddc8142 Fix GitHub Actions permissions for pushing to main
  • e7c9a44 webui: Add test for sketch-app-shell component
  • 46fff97 webui: More minor css tweaks
  • bd6c168 autofix formatting during queue-main pushes
  • 8b00db1 Add run-formatters.sh script and update GitHub workflow
  • 9b999b0 Update window title to show 'sk: <title>' and add disconnection indicator
  • 176a510 Add force-rebuild flag to allow user to rebuild docker container explicitly.
  • 6bc2eb2 Fix: Prevent diff2html anchor links from resetting view
  • 3588997 all: only display total input tokens
  • f5e28f6 sshtheater: check for Include line in ~/.ssh/config
  • faa39be cmd/sketch: only show structured logs printf if --unsafe
  • 01ed5be sshserver: enable ssh port forwarding
  • 7d5a630 SSHTheater: fix known_hosts update issue
  • 4854c65 dockerimg: +SSHTheater, auto-configures local ssh
  • 53786ef dockerimg: use emoji in container debug info
  • f91095a termui: remove Initial Commit startup message
  • b1fe3c8 readme.md: remove pending invite step
  • 094e4d2 cmd/sketch, dockerimg: remove unhelpful initial debug messages
  • 1d06132 sshserver: add direct-tcpip channel, allow non-pty
  • 6a50b18 ant: fix subconvo url
  • e923bb3 webui: Add empty conversation demo
  • 4097e53 webui: Cleanup css and fix layout
  • 563d6b3 webui: Tweak mock
  • c6aabfa webui: Remove some debug logging
  • ac96b09 webui: Don't allow launch to accidentally use wrong server
  • 26daff7 webui: Fix demo css
  • 7b43662 Only print skaband connection messages when verbose flag is set
  • 75ec6bb loop: add email address to Co-Authored-By trailer
  • 08951fb CONTRIBUTING.md: point folks towards update_tests.sh
  • 56ac605 claudetool: add some cleanup TODOs to bash background execution
  • 7660e4e dockerimg: use more modern APIs
  • fe3e9f7 fix possible nil dereference
  • b9ac849 Fix css mime type
  • 8cac59a feat: integrate Mock Service Worker (MSW) for API mocking and testing
  • bbca240 Move DEVELOPMENT.md => CONTRIBUTING.md
  • 6ed6adb Fix -open to point to skaband addr when configured for the container case
  • 5d6af87 Only print Dockerfile in verbose mode
  • 2032b1c Move webui from /loop/webui to /webui
  • 4f50a68 Optimize Playwright installation to only use Chromium
  • 6c1f34f Enhance GitHub workflow to use gotestsum for better test visualization
  • b4c7e1b Removing LLM-generated skipped test
  • d43e572 Adding DEVELOPMENT.md with some tips
  • b60f0f2 Add background execution capability to bash tool
  • cc3ba22 sketch: Add python3 to our container image
  • 18532b2 Rename Host/Runtime hostname fields to Outside/Inside pattern
  • d013131 Use bufio.Scanner instead of strings.Split for line iteration
  • e4fa0e3 sketch: print Dockerfile contents
  • ae3480f allow random (ephemeral) host ports for ssh server
  • 5544d14 dockerimg: clean up linux binary
  • 73db605 sketch: another attempt at chat/diff fixes.
  • 8d50d7b gofumpt.
  • 72682df Prettier.
  • 4de80d2 Add formatting workflow with prettier and gofumpt v0.8.0
  • 9a66cad sketch: simplify sketch-chat-input and diff comment handling
  • 10a7ac1 Fix chat input resize test by waiting for animation frame
  • af2d7e3 sketch: diff commenting: avoid re-sending old messages
  • baa2b59 sketch: initial container ssh support (#15)
  • 97188fc style: Don't stretch Send button on input grow
  • 7be879f Fix WebUI tests for sketch-timeline-message component
  • e2a8c2f webui: Improve dx
  • d140295 sketch: Propagate host vs. runtime OS/WorkingDir/Hostname
  • 37dc4cf Enhance commit display in UI
  • a4674b1 Revert "Fix Docker container initialization with branchless git hooks"
  • ecba7c7 Fix Docker container initialization with branchless git hooks
  • a54c6a3 Update bash command results to use dark-on-light-grey theme
  • 9f6a998 dockerimg: clean up password matching code
  • 5cef9db README.md: say linux is supported
  • 000c1f7 sketch: fix utf8 issues in terminal
  • a0f68fa webui: save test output on ci runs
  • d0ac1ea sketch: "git add remote sketch-host"
  • 5e227dd sketch: Linux support
  • e8d6b80 Add GitHub workflow to run tests for changes under loop/webui/... (#7)
  • 5164eee webui: run format, ignore src/types.ts
  • 2deac84 webui: add 'open' status, elapsed time to tool-cards
  • 07b3e39 Make textarea in sketch-chat-input user-resizable
  • 8a89e1c sketch: support Linux with -unsafe
  • 176de79 sketch: compress JS and CSS
  • d9f1337 webui: auto-generate types.ts from go structs
  • db8c5ab README.md: add missing comma
  • fae1757 dockerimg: unset GOBIN when installing
  • 64d3299 README.md: some basic info
  • 2c5bba4 webui: mv scroll behavior to sketch-timeline
  • 43664f6 termui: print newline before branch name
  • b29f891 webui: Migrate from @open-wc/testing to Playwright
  • ec3ad1a webui: split sketch-tool-card into per-tool cards
  • 71941bd loop/webui: add prettier
  • 9abbf92 .github/workflows: use ubuntu-latest (#2)
  • 86b5686 loop/webui: swtich to web components impl (#1)
  • f5bb3d3 dockerimg: make sure webui build exists before copying it
  • 8a617cb dockerimg: reuse a cached gopath for cross compiling
  • 8bff16a webui, dockerimg: store the webui assets in a zip and cp them into the container
  • be10fa9 dockerimg: mkdir .cache in the base template and rebuild when the template changes
  • b9eaef5 dockerimg: set GOTOOLCHAIN=auto for cross compiling
  • 993a3fc dokerimg: clean up temp dir
  • 69c6731 dockerimg: fix cross compile command
  • 2e463fb Initial commit

Don't miss a new sketch release

NewReleases is sending notifications on new releases.