TODO - keep track of previous command outputs for last command, and any previous command with target list and command line - calling commands and alieses from command line - tagging and filtering commands (so oupgrade gets a tag, and we can filter them) - saving the last host set in a .file - allow server groups - allow grepping of output from a command, and then populating the target list from matchintg on it - add 'watch' to run a command repeatedly until it succeeds (interruptable) - add the number of servers for each group of services too - notice when you don't sudo in front of command and it errors and ask you if you meant to sudo - autocomplete for environment variable names (requires heirarchical completer) - implement target aliases (-filteralias) which gives a label to an argument to -hosts - ad-hoc host groupings with assigned names, and a host grouping stack - Assign each output group to a number that can be easily selected with a -target etc. But also allow matching against those groups. Output groupings survive until the next command. - allow scripts that use -safe to prompt for safety / restore safety after running - Add variables that can be set and passed to commands - implement various commented commands in the command list - implement interactive alias system - Catch more exceptions in fabtools, and also add retries - Make the runner aware of multiple commands so that it can combine outputs and make 'overall success' or 'overall failure' - make C-c break the connections not the program - make a /summary command that *only* outputs the summary of a remote command, not the stdout/stderr