Skip to content
Experimental visual Go environment
JavaScript Go Other
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
client Replace generate.go and scripts with magefile; relocate client.js, tw… Dec 8, 2018
dom Move contents of dev into top level and remove "/dev", update readme … Dec 5, 2018
examples Move contents of dev into top level and remove "/dev", update readme … Dec 5, 2018
model Move contents of dev into top level and remove "/dev", update readme … Dec 5, 2018
parts Move contents of dev into top level and remove "/dev", update readme … Dec 5, 2018
proto Replace generate.go and scripts with magefile; relocate client.js, tw… Dec 8, 2018
scripts/embed Nicer names for embed flags Dec 9, 2018
server Fix bug with licenses displaying gzipped XD Jan 17, 2019
source Move contents of dev into top level and remove "/dev", update readme … Dec 5, 2018
.gitignore Add .gitignore Jan 3, 2017
.travis.yml Gate webview with build tag May 20, 2018
CODEOWNERS Trying code ownership Feb 27, 2018
CONTRIBUTING.md Added CONTRIBUTING.md Dec 5, 2016
LICENSE Placeholder commit while preparations proceed Jan 3, 2017
README.md go module based installation Dec 5, 2018
devsetup.md Replace generate.go and scripts with magefile; relocate client.js, tw… Dec 8, 2018
go.mod The go module files were updated when I tried a new dev setup Dec 21, 2018
go.sum The go module files were updated when I tried a new dev setup Dec 21, 2018
magefile.go Don't forget proto/ Dec 10, 2018
main.go Move contents of dev into top level and remove "/dev", update readme … Dec 5, 2018
pre-commit Move contents of dev into top level and remove "/dev", update readme … Dec 5, 2018
screenshot.png Slightly improve screenshot Dec 5, 2018
webview.go Move contents of dev into top level and remove "/dev", update readme … Dec 5, 2018

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.