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.
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.
"Hello … from Fast !"
sh: echo "Hello … from Shell !"
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.
sh.bind("alpine:latest:/bin/ash")
"Hello … from " + sh: "uname" + " !"
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.
goal hello:
goal world:
"Hello world !"
goal user:
"Hello " + name + " ! "
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.
# Hello Help
# Say "Hello"
goal hello:
# Say "Hello World"
goal world:
"Hello world !"
# Say "Hello" to a user
goal user:
"Hello " + name + " ! "
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.
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)
Copy and paste the following command in a terminal to install Fast
By copying this command you accept the license terms