GOWDK is experimental compiler and runtime infrastructure. Keep changes focused, verified, and aligned with the compile-first product direction.
- Go
1.26.4or the version declared bygo.mod. - Node.js when checking the VS Code extension or browser-runtime tests.
- VS Code
1.85or newer when testing the extension manually.
Read the documents that own the changed surface:
- README
- Documentation Hub
- Product Vision
- Product Requirements
- Product Roadmap
- Architecture
- The relevant skill under
.agents/skills/
For features or broad changes, write or update a specification and implementation
plan from .agents/templates/. Use an ADR for a decision that is expensive to
reverse.
- Make the smallest vertical slice that exercises the behavior.
- Title pull requests with Conventional Commits, such as
feat(compiler): add route graph outputorfix(runtime): preserve clicked submit button; release-please uses the squash title for changelog and release-note generation. - Preserve unrelated user changes.
- Update tests, examples, docs, and status in the same change.
- Keep generated Go as adapter glue rather than application logic.
- Avoid new production dependencies unless the change documents the reason.
- Run focused checks first, then the relevant repository gates.
- Record commands that fail and the next action needed.
Baseline commands:
go test ./...
go build ./cmd/gowdkRun all Go module tests when Go code, compiler behavior, runtime behavior, or nested modules change:
scripts/test-go-modules.shWhen editor files change:
node --check editors/vscode/extension.jsFormat changed Go files with:
gofmt -w <files>Use the Documentation Hub to find the owning lane and Documentation Style for the authoring contract.
Documentation changes run:
scripts/check-docs-links.sh
scripts/check-docs-style.sh
scripts/check-removed-syntax.sh
scripts/check-doc-versions.shUpdate Product Requirements when capability status changes. Do not rely on an issue, plan, or chat history as the only source of current behavior.