As a Takeoff User
I want to use a CLI tool to control my environment
This tool should do will be deployed via npm install -g takeoff-env and will provide the takeoff cli command.
Benefits of moving to a CLI tool allow for a simpler install process, no need to clone a repo and this allows for the creation of multiple environments.
This list below also represents a task list for command that are not yet implemented, but v1.2.0 will release with a 1:1 mapping of all existing commands.
It will have the following commands and arguments (please note this list is not yet exhaustive as of first creation)
Default Arguments
These are default arguments that all commands take:
[x] takeoff init <envname>
This command will create a folder that will be the users Takeoff environment, in here we create a place to cache blueprints, create environments to run, and allow users to extend commands (similar to gulp).
It will take the following arguments:
--no-default: Creates a plain folder with no default environment
--blueprintName: The name of a known blueprint from the blueprint repo, used for the default blueprint.
--blueprintUrl: URL to a git repository containing a blueprint, used for the default blueprint.
[x] takeoff new <envname>
This command is used within a Takeoff folder and creates a new environment. With no arguments it will make a clone of the default blueprint as a fresh new environment with a new name. If you pass arguments you can create different environment types.
It will take the following arguments:
--blueprintName: The name of a known blueprint from the blueprint repo, used for the default blueprint.
--blueprintUrl: URL to a git repository containing a blueprint, used for the default blueprint.
[x] takeoff start <envname>
This will start the environment. At the end we should hand command back to the user, so possibly look at using this command to mux the environment.
[x] takeoff stop <envname>
This will rebuild the environment.
[x] takeoff build <envname>
This will rebuild the environment.
[x] takeoff pull <envname>
This will pull the pre-built docker images in an environment.
[x] takeoff rm <envname>
This will remove and environment
[x] takeoff clean <envname>This will clean an environment by removing caches and things like node_modules, but will leave the source files
Todo:
Provide plugin format for commands
Provide way to read commands from environment and directory as well as application defaults
As a Takeoff User I want to use a CLI tool to control my environment
This tool should do will be deployed via
npm install -g takeoff-env
and will provide thetakeoff
cli command.Benefits of moving to a CLI tool allow for a simpler install process, no need to clone a repo and this allows for the creation of multiple environments.
This list below also represents a task list for command that are not yet implemented, but
v1.2.0
will release with a 1:1 mapping of all existing commands.It will have the following commands and arguments (please note this list is not yet exhaustive as of first creation)
Default Arguments
These are default arguments that all commands take:
takeoff init <envname>
This command will create a folder that will be the users Takeoff environment, in here we create a place to cache blueprints, create environments to run, and allow users to extend commands (similar to gulp).It will take the following arguments:
--no-default
: Creates a plain folder with no default environment--blueprintName
: The name of a known blueprint from the blueprint repo, used for the default blueprint.--blueprintUrl
: URL to a git repository containing a blueprint, used for the default blueprint.[x]
takeoff new <envname>
This command is used within a Takeoff folder and creates a new environment. With no arguments it will make a clone of the default blueprint as a fresh new environment with a new name. If you pass arguments you can create different environment types.It will take the following arguments:
--blueprintName
: The name of a known blueprint from the blueprint repo, used for the default blueprint.--blueprintUrl
: URL to a git repository containing a blueprint, used for the default blueprint.[x]
takeoff start <envname>
This will start the environment. At the end we should hand command back to the user, so possibly look at using this command to mux the environment.[x]
takeoff stop <envname>
This will rebuild the environment.[x]
takeoff build <envname>
This will rebuild the environment.[x]
takeoff pull <envname>
This will pull the pre-built docker images in an environment.[x]
takeoff rm <envname>
This will remove and environment[x]
takeoff clean <envname>
This will clean an environment by removing caches and things like node_modules, but will leave the source filesTodo: