Category Selected:

commandbox

Blog

Interactive Shell vs Native OS

Brad Wood |  February 23, 2015

There are two ways to run commands via CommandBox: inside the CommandBox interactive shell, or one-at-a-time commands from your native shell.

Multiple Commands

If you open the interactive shell, you will see the CommandBox splash screen (ASCII art) and then you'll be presented with the CommandBox> prompt. You can enter as many commands as you wish in order and after each command is finished executing, you will be returned to the CommandBox prompt. If you have multiple commands you want to execute manually, this is the fastest method since CommandBox only loads once. This is also the only way to make use of features like tab complete and command history.

Read More

Running CFML From the Command Line

Luis Majano |  February 20, 2015

One of the features we really wanted to see in CommandBox is OS integration to be able to execute CFML as part of the OS like any other binary.  Me personally, I wanted also to script in CFML instead of convoluted BASH or any type of shell scripting language.  In CommandBox you have several ways of executing via the command line.  Let's investigate a few.

Running CFML Files

You can very easily create ANY cfm file and put any code in it and execute it via CommandBox

Read More

CommandBox: CFML SandBox

Nathaniel Francis |  February 18, 2015

CommandBox provides a lot of tooling and CLI functionality for CFML developers. But what if you wanted to run or test CFML code beyond the CommandBox REPL? This post explains a simple way that you can setup a genuine CFML SandBox with CommandBox.

Read More

CommandBox - Commands can be Clean Code Too

Gavin Pickin |  February 17, 2015

In today's world, we use frameworks, and separate concerns with MVC or MV*, we strive for Clean Code to make Uncle Bob proud, or Bossman Bob at least. Just because the “Run” function is all you need in a CFC (which extends the BaseCommand) for CommandBox to index the Command, doesn’t mean you have to jam all your code into that one function. Lets look at some simple code cleanup.

Read More

CommandBox Snake- All In Good Fun

Brad Wood |  February 16, 2015

As I always say, "All work and no fun makes you a dull programmer!"  Well, with CommandBox, we're here to fight boredom and productivity with the fun "Snake" game.  This is the class game of moving an-ever growing snake around the map in 4 directions while eating up the apples.  For every app the snake devours, it grows by one character in length.

Read More

Let’s get cooking with CommandBox Recipes!

Luis Majano |  February 13, 2015

One exciting feature about CommandBox is the ability to group commands together into a lovingly little file we call, a recipe.  We even gave it its own extension, .boxr.  This little gem will allow you to automate several commands from your native shell, it will be faster to use our recipe command that allows you to run several CommandBox commands at once. This will allow you to only load the CommandBox engine once for all those commands, but still be dumped back at your native prompt when done. Recipes can also just be useful for a series of commands you run on a regular basis, from test executions, to compressing files, the possibilities are endless.  

Below is a simple example of how to create a recipe and execute it.  For further insight, we recommend you read our chapter on recipes in our CommandBox book.

Read More

Artifacts Make A Difference

Nathaniel Francis |  February 11, 2015

Let's keep that around

One of the neat "under the hood" features of CommandBox is artifacts. Artifacts are a copy of each package that gets downloaded with CommandBox. This is good for you and for the internet because once you have a package in your artifacts, you don't need to download it again. Artifacts are key to CommandBox efficiency.

We might need that again

The next time you download a package from ForgeBox, CommandBox reads the box.json file for that package's dependencies. Then, it checks to see if we already have a copy of those dependencies in the artifacts. If the dependency is in the artifacts, CommandBox just uses it. If not, then CommandBox calls to ForgeBox to get that dependency. That's efficiency.

Read More

CommandBox REPL

Curt Gratz |  February 11, 2015

Ever want to try something quick in CFML? Show something off and get the feedback instantly? 

One of the things CommandBox can do for you is provide a REPL (Read-Evaluate-Print-Loop) console for immediate ColdFusion (CFML) interaction so you can do just that.

After CommandBox is installed, just run 

box repl
Read More

CommandBox - Comments are more helpful than you think

Gavin Pickin |  February 10, 2015

Using a command line tool, like CommandBox, you look for those feature comforts, that can make or break the UI. With CommandBox, one of the big wins, is HELP. Most command line tools allow you to type help and get some general help, but CommandBox goes a step further, you can get Help the Global Level, Namespace Help, and even help at the Command Level.

Read More

CommandBox - Searching ForgeBox

Brad Wood |  February 09, 2015

We have big plans for using CommandBox to install packages from all sorts of code endpoints-- local folders, Git/SVN URLs, private corporate repos, etc.  Version 1.0 of CommandBox focused on ForgeBox though, which is our CFML code depot.  It may have started out as a ColdBox/ContentBox-specific thing, but is now open to the entire community to put any project they want on.  I'm excited to already see entries like CFWheelsFW/1MXUnit, and MonkehTweets on there.  The more packages installable from CommandBox via ForgeBox, the more we all win.

Soon ForgeBox will get even more life of its own enhancing it with more functionality such as having multiple versions of the same package. We've already set up forgebox.io as the new domain for ForgeBox's HTML interface where you can search, sort, and filter the entries in your web browser.  We've also built a "forgebox" namespace into CommandBox that uses the REST API to let you interact with ForgeBox from your console.

Read More