Skip to content

Task runner and workflow automator, because even Batman needs a little help.

Notifications You must be signed in to change notification settings

ivelichkovich/alfred

 
 

Repository files navigation

alfred

Because even Batman needs a little help.

Build Status Join the chat at https://gitter.im/kcmerrill/alfred

Alfred

What is it

A simple go/yaml powered make file/task runner with a bit of a twist.

Binaries || Installation

MacOSX Linux

via go:

$ go get -u github.com/kcmerrill/alfred

via docker:

$ docker run -v $PWD:$PWD -w $PWD kcmerrill/alfred

Features

  • Extendable. Common tasks(Private too)
  • Watch files for modifications
  • Retry/Rerun tasks based on failures before giving up
  • Logging
  • Success/Failure decision tree
  • Run tasks asynchronously or synchronously
  • Autocomplete task names
  • Static webserver
  • Many more!

Usage

Create a file named: alfred.yml

say.hello:
    summary: I will say hello!
    usage: alfred say.hello
    command: echo "Hello!"

say.howareyou:
    summary: I will ask how you are
    usage: alfred say.howareyou
    command: |
        echo "How"
        echo "Are"
        echo "You?"

speak:
    tasks: say.hello say.howareyou

blurt:
    multitask: say.hello say.howareyou

Then, anywhere in the top-level or child directories to the alfred.yml file:

alfred Will show you all of the available tasks and a quick summary.

alfred say.hello Will simply say hello

alfred say.howareyou Will ask how you are

alfred speak will perform both tasks in the specified order

alfred blurt will perform both tasks at the same time

Quick Walkthrough

To see a comprehensive list of features and functionality please RTFM.

asciicast

Example uses

  • Monitor websites
  • Setup/Update/Deploy projects in your dev env
  • Simple Nagios, Jenkins, pingdom replacement
  • Monitor crons(alert on failures, update endpoints etc ... )
  • Watch for file modifications to run tests->builds

Tab completion

Copy the included alfred.completion.sh to /etc/bash_completion.d/.

Or source it in your ~/.profile file.

Or alfred /self tab.completion

Testing

You might say I've cheated the testing route by only scraping the output. You'd be right.

"I live with a wizard. I cheat" ~ Mouse

About

Task runner and workflow automator, because even Batman needs a little help.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 97.7%
  • Shell 2.3%