Fork me on GitHub

What Is It?


Project Sprouts is a highly cohesive, loosely coupled collection of features that take some of the suck out of programming.

Sprouts is a modular development platform that takes advantage of Ruby and RubyGems to share code generators, libraries, executables and automated build tasks. It runs anywhere Ruby does, including OS X, Windows, and *nix variants.

Sprouts has been seen working on Mac, Windows and Linux and while it currently targets ActionScript, Flex and AIR development, tools can be easily created to improve any programming environment.

What are are folks saying?

The best thing to happen to Flex since Matt Chotin....
Ryan Stewart, Adobe Flash Platform Evangelist
I swear project sprouts is the most significant single thing in terms of changing my work flow.
Stray, ActionScript developer

Why would someone use Sprouts?

There are lots of reasons to use Sprouts for your projects, here are some of mine:

Getting Started


To get started with Project Sprouts and Flash development, you'll need Ruby (>= 1.9.2 Mac, Win, Nix), RubyGems (>= 1.3.7) and at least some interest in the programming language Ruby and the build tool Rake.

# Install the ActionScript 3 / Flash Bundle:
gem install flashsdk --pre

# Generate a new ActionScript 3 project:
sprout-as3 SomeProject

# Move into the new project:
cd SomeProject

# Install dependencies:
bundle install

# Compile and run the main project:
rake

# Congratulations - you're up and running!

Go a little further with Test-Driven Development:

# Generate a class, test and test suite:
sprout-class utils.MathUtil

# Compile and run the test harness:
rake test

And finally:

# Show available tasks:
rake -T

Getting Help

Sometimes, getting everything set up and running doesn't go as smoothly as we hope. When this happens, we consider this a failure on our end. One of the core objectives behind Sprouts is to make it painless to get up and running—if it's not, then we have failed.

If the information on the installation page doesn't get you unstuck, please send us your operating system information, any potentially helpful terminal output and the following:

# Ruby version:
ruby -v

# RubyGems version:
gem -v

Recent Posts

Ruby for ActionScripters

20 Jan 2011 Ruby for ActionScripters 20 Jan 2011 – Luke Bayes Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write. Ruby Website This means that Ruby has opinions, and many of Ruby’s... more >>

Using the Flex DeBugger (FDB)

19 Jan 2011 Using the Flex DeBugger (FDB) 19 Jan 2011 – Luke Bayes Debug what? FDB is a command line debugger. It provides us with the ability to capture, introspect and control the execution flow of a running SWF file by connecting to the Debug Flash Player and exposing a variety of... more >>

Using the Flex Compiler SHell (FCSH)

18 Jan 2011 Using the Flex Compiler SHell (FCSH) 18 Jan 2011 – Luke Bayes What the sHell? MXMLC and COMPC, when run by themselves, are slow. Not a little slow, not kind of slow – but brutally, soul-crushingly, terribly SLOW. At least that’s how they feel to someone like me. Someone that... more >>

Using Sprout Generators

31 Dec 2010 Using Sprout Generators 31 Dec 2010 – Luke Bayes Generators have been rewritten from scratch for Project Sprouts v1. The new generators are much easier to test, distribute, and modify. This post is going to cover usage (or consumption) of existing generators, we’ll put together a second post where we... more >>

Migrating from 0.7 to 1.0 beta

29 Dec 2010 Migrating from 0.7 to 1.0 beta 29 Dec 2010 – Luke Bayes There are some significant changes that have come with the new version of Sprouts. This guide should help you transition a legacy Sprouts project into the new hotness. Let’s get sideways. Image courtesy of Rhys Alton and the... more >>

Project Sprouts Version 1.0 Beta Released!

28 Dec 2010 Project Sprouts Version 1.0 Beta Released! 28 Dec 2010 – Luke Bayes The Thinker After over 4 years of thinking, rethinking, designing, implementing and reimplementing, I’m elated to announce the immediate availability of the Project Sprouts version 1.0 beta. Image courtesy of Santhosh Nandakumar and the Creative Commons license. You... more >>