DEVOPS
AT LIGHTSPEED

Fast is designed to easily automate everything.
Create commands lines in minutes, share them with your team, and run them anywhere.

GET STARTED

What is Fast ?

Fast is a language designed to quickly build command lines, a “glue” to assemble your favorite tools in a single unified interface.
It gracefully replaces Makefile and Python or other languages used to overcome the limits of Shell.
Fast packages - libraries, bootstraps and applications - can be published and shared in the store.

fast self:init
Create a "Fastfile"
fast
Show help
fast :
Run the main goal

Fast and Shell

Execute Fast and Shell code in the same script seemlessly.

Access Fast variables in Shell, access and assign Shell output, errors and exit code in Fast. Fast and Shell can nicely be combined in expressions.

More about shell

"Hello … from Fast !" sh: echo "Hello … from Shell !"

fast
fast :

Docker shells

With the sh.bind function, the underlying shell can be switched from bash to zsh or any other shell available on the host system.

It may even be switched to a shell in a container which will be pulled on the fly. This will enable you to write self-sufficient scripts which can be executed anywhere immediately without the hassle of installing dependencies manually.

More about containers

sh.bind("alpine:latest:/bin/ash") "Hello … from " + sh: "uname" + " !"

fast
fast :

Goals

Create command lines in minutes to organize and run your jobs.

Goals have parameters which can be validated, have default values and more. Goals are automatically documented when you request help.

More about goals

goal hello: goal world: "Hello world !" goal user: "Hello " + name + " ! "

fast
fast hello:world
fast hello:user --name Bob

CLI Documentation

Build your command line help while documenting your code.

Goals and parameters are documented in the help automatically. Adding comments will enrich the help and make the code easier to understand.

More about CLI Documentation

# Hello Help # Say "Hello" goal hello: # Say "Hello World" goal world: "Hello world !" # Say "Hello" to a user goal user: "Hello " + name + " ! "

fast
fast hello:world
fast hello:user --name Bob

A full-featured language

Fast offers more features than Shell and less than Python.

Collections, structures, loops, conditions, modules, packages in a pythonish style. Fast provides the best of what devops need in a single language.

More about collections
More about structures
More about controls
More about modules
More about packages

users = [ User(name = "Bob"), User(name = "Lucifer") ] structure User: name = "" function say_hello(user): "Hello " + user.name + " !" for user in users: if user.name == "Lucifer": continue say_hello(user)

fast
fast :

INSTALL FAST

Copy and paste the following command in a terminal to install Fast
By copying this command you accept the license terms