James is your butler and helps you to create, build, debug, test and run your Go projects.

When you often create new apps using Go, it quickly becomes annoying when you realize all the steps it takes to configure the basics. You need to manually create the source files, version info requires more steps to be injected into the executable, using Visual Studio Code requires you to manually setup the tasks you want to run…

Using the go-james tool, you can automate and streamline this process. The tool will take care of initializing your project, running your project, debugging it, building it and running the tests.


In version 1.1.0, the followings things are changed/updated/fixed:

  • When you run the init command and you have a go.mod file present, it will try to parse the package name from there unless you override it with the option --package
  • When creating a new project which is hosted on GitHub, the Git origin is now automatically set
  • In the post and pre build scripts, the output path is now an absolute path
  • You can now specify the ldflags for each GOOS specifically
  • The run command now has the option to set environment variables
  • Fixed a bug where building for windows didn't add the .exe suffix
  • Added specific VSCode tasks to build for darwin, windows and linux
  • Fixed a bug in the VSCode tasks definition where the wrong name for the version argument was used
  • The output is now colored
  • Fixed a bug where run wouldn't work when you create a .app package for mac
  • Package now packages all files in the build folder
  • Added library functions under github.com/pieterclaerhout/go-james which can be used to generate .app packages on Mac.