Skip to content
Experimental visual Go environment
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
client
dom
examples
model
parts
proto
scripts/embed
server
source
.gitignore
.travis.yml
CODEOWNERS
CONTRIBUTING.md
LICENSE
README.md
devsetup.md
go.mod
go.sum
magefile.go
main.go
pre-commit
screenshot.png
webview.go

README.md

"SHENZHEN GO" (working title)

Build Status Doc Status license

SHENZHEN GO (working title) is an experimental visual Go environment, inspired by programming puzzle games such as TIS-100 and SHENZHEN I/O.

SHENZHEN GO provides a UI for editing a "graph," where the nodes are goroutines and the arrows are channel reads and writes. (This is analogous to multiple "microcontrollers" communicating electrically in a circuit.) It can also convert a graph into pure Go source code, which can be compiled and run, or used as a library in a regular Go program.

SHENZHEN GO was unveiled at the linux.conf.au 2017 Open Source & Games Miniconf.

Read more at https://google.github.io/shenzhen-go.

Example Graph

Getting started

See the getting-started guides at https://google.github.io/shenzhen-go.

...for the impatient gopher

Choose one of:

git clone https://github.com/google/shenzhen-go && cd shenzhen-go && go install
git clone https://github.com/google/shenzhen-go && cd shenzhen-go && go install -tags webview
go get -u github.com/google/shenzhen-go
go get -u -tags webview github.com/google/shenzhen-go

Notes

This is not an official Google product.

This is an experimental project - expect plenty of rough edges and bugs, and no support.

For discussions, there is a Google Group and a Slack channel.

Acknowledgements

This project wouldn't be nearly as good as it is without the following:

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.