On this page
A Go service often ships more than one binary: an API, a worker, maybe a CLI under cmd/. DevWorkspace Pro reads that layout and gives each binary its own button, so you can start the whole set from one card. Like every project, your module also gets the core features: editor, Git, GitHub, AI sessions with resume and terminal tabs.
Core features every project gets
- Files editor, ⌘+P and project search
- Git Changes, GitHub issues and Actions, Send to AI
- AI sessions with resume, and terminal tabs
- Focus Pad, the ⌘+K switcher, uptime monitoring and Remote SSH
Extras for Go
- Stack detection: a Go badge from
go.mod - Create flow: new modules with
go mod init - Run card:
go run,go test,go buildand yourMakefiletargets - Runtimes: native Go, plus Docker Compose services for a folder with
compose.yaml
From go mod init to green CI
Create or import
Click New Project, select Go, and enter a description and a name. In step 2, select Go; the app checks that go is installed and shows its version. It then runs go mod init <name> and saves go run . as the run command.
To add a module you already have, drag its folder onto the window. If go.mod lives in a subfolder such as backend/go.mod, the app still finds it one level down.
Run every binary
The Run card on the Overview tab builds its commands from your files:
| File | Command on the card |
|---|---|
main.go in the project folder |
go run . |
cmd/api/main.go, cmd/worker/main.go |
go run ./cmd/api, go run ./cmd/worker |
go.mod |
go test ./..., go build ./... |
Makefile |
make <target> for each top-level target |
Each command runs in its own headless terminal. Start the API and the worker together, then flip between them with ⌘+Shift+[ and ].
Code with an AI agent
Press ⌘+J and describe the change, for example "Add a graceful shutdown to the HTTP server and a table test for the handler". Claude Code, Codex or OpenCode starts in the module folder. The session survives an app restart; click Resume in the status bar to pick it up.
Ship through GitHub
Commit from Git › Changes and push from the terminal. Git › Actions shows the logs for each job. When go test fails in CI, Send failure to AI sends the failed step and the end of its log to your agent.
Go features in detail
A Run card that follows the standard layout
You get one go run per cmd/<name>/main.go. The card reads your files only when it opens, and again only when a file changes.
Makefile targets as buttons
Keep lint, generate or govulncheck in a Makefile and each target becomes a button. Add a ## comment after a target to give it a description on the card.
Docker Compose
A module with a compose.yaml for PostgreSQL, NATS or Redis gets a Services card. You can start, stop and restart each service, stream its logs, and click a published port to open it.
Remote SSH
Link the project to your Linux server and open a shell in the Remote SSH tab. The connection uses a host from your SSH config, or a host, user and key that you enter.
Uptime
Add your service's public health endpoint in Health › Uptime. Our servers check it and email you when it fails several times in a row.
Works with your existing setup
The app uses the go toolchain on your PATH and never changes go.mod. Keep GoLand, VS Code or Neovim; IDE opens the module with your editor command. Your Git hooks still run on commit, and the commands the app runs stay out of your shell history.
Other compiled stacks: /for/rust and /for/dotnet. Docs: Projects, Terminal, GitHub Integration, Remote SSH.
FAQ
Frequently asked questions
Which commands does the Run card show for Go?
go run . when main.go sits in the project folder, go run ./cmd/<name> for each cmd/<name>/main.go, plus go test ./... and go build ./... Your Makefile targets appear too.
How does the app create a Go project?
Select Go in New Project. The app runs go mod init <name> in the folder and saves go run . as the run command.
Does the app scan go.sum for vulnerabilities?
No. The dependency scan covers Composer, npm, pnpm, Yarn, Bun and NuGet. Run govulncheck from a terminal tab, or add it as a Makefile target so it shows on the Run card.