Blog

Brad Wood

December 17, 2016

Spread the word


Share your thoughts

Snuggle up with a warm cup of eggnog (if you're into that sort of thing) because here comes the 3rd installment of our 12 Tips of (CommandBox) Christmas aimed at lifting holiday spirits and empowering developers.  Today we look at the sweet GitHub integrations we offer.

GitHub Integration

We support installing packages directly from any Git repository via our Git endpoint.  We even let you target branches, tags, and specific commits which can make it easy to grab the bleeding edge version of packages as soon as changes are committed:

CommandBox> install git://site.com/user/repo.git#development
CommandBox> install git://site.com/user/repo.git#v1.2.3
CommandBox> install git://site.com/user/repo.git#09d302b4fffa0b988d1edd8ea747dc0c0f2883ea

GitHub shortcuts

GitHub specifically is a very popular service for devs who want Git-hosted repos.  When installing a package from GitHub you can simplify the URL above to be just the user name followed by the repo name like so:

CommandBox> install user/repo
CommandBox> install user/repo#development
CommandBox> install user/repo#v1.2.3
CommandBox> install user/repo#09d302b4fffa0b988d1edd8ea747dc0c0f2883ea

When we see this pattern, we'll convert it to the full Git URL behind the scenes.  

Authentication

Don't forget we also support SSH-based authentication which works for private Git repos, Bitbucket, or your own personal Gitlab server.  See the instructions at the bottom of this page.  The short version is that it should "just work" the same as the Git CLI by picking up the SSH keys in your user's .ssh folder.

Release Life Cycle

You're certainly not required to use Git for your projects, but if you do you'll have some nice perks such as auto-tagging your Git repos when you bump your package's version.  You can create a new version of any package by using the "bump" command.  This will increment the major, minor, or patch version number in your box.json file using semantic version rules.  If the folder also happens to be a Git repo, the command will create a new Git tag and commit it for you.

CommandBox> bump --patch
Set version = 1.0.1
Package is a Git repo.  Tagging...
Tag [v1.0.1] created.

Read more about this behavior here.

https://ortus.gitbooks.io/commandbox-documentation/content/packages/managing_version.html

 

 

 

 

Add Your Comment

Recent Entries

One Language, Every Runtime: BoxLang Expands Beyond the Server

One Language, Every Runtime: BoxLang Expands Beyond the Server

Discover how BoxLang’s multi-runtime architecture helps developers build beyond the server with support for serverless functions, desktop applications, CI/CD workflows, Java integrations, containers, runtime management, and more.

Maria Jose Herrera
Maria Jose Herrera
June 04, 2026
MatchBox and WebAssembly: Running BoxLang in the Browser and at the Edge

MatchBox and WebAssembly: Running BoxLang in the Browser and at the Edge

The MatchBox open beta is live at https://boxlang.ortusbooks.com/boxlang-framework/matchbox, and it brings something genuinely new to the BoxLang ecosystem: a path into WebAssembly.

That means BoxLang code can now move into browser applications, static-site deployments, edge runtimes, and WASI-style containers - without requiring a JVM. The feature is still beta, but the core direction is already useful: write BoxLang, compile it with MatchBox, and ship the generated WASM artifact to wherever a small portable runtime makes sense.

Jacob Beers
Jacob Beers
June 04, 2026
BoxLang 1.14.0 : BoxSet is Here: BoxLang's New First-Class Set Type

BoxLang 1.14.0 : BoxSet is Here: BoxLang's New First-Class Set Type

BoxLang 1.14.0 ships something that JVM developers have wanted for a long time: a true first-class Set type baked directly into the language. Not a wrapper you reach for manually, not a createObject( "java", "java.util.HashSet" ) incantation you paste from a Stack Overflow answer years ago. A real BoxSet with literal syntax, operator overloads, a full functional pipeline, change listeners, JSON serialization, and deep Java interop.

Luis Majano
Luis Majano
June 03, 2026