A modular command line framework to automate tasks and common work flows.
Up is currently in beta, there will be breaking changes by the time v1.0.0 is released
Up makes it easy to define and run common tasks, both stand-alone or interactively (asking some predefined questions). Tasks can be chained to create a work flow.
You need to install Node.js and npm. Take a look at their installation guide for more information.
After installing node and npm, add up
to your global npm packages.
npm install -g up
Check if Up is installed correctly
up -v
If you run into troubles, check the npm package docs or open a new issue.
Check out the .env.example
file in the root directory of this project, change its name to .env
, and add your own module specific credentials.
These credentials are globally available for all modules in the ./modules
directory. The variables are accessible via __env.VARIABLE_NAME
.
For example:
const username = __env.GMAIL_USER
console.log(username)
// Output: someone@gmail.com
The easiest way to create a new module is by using the create -c
flag.
// Create a new module with a name
up -c myNewModule
// If you don't add a string containing the name of your
// new module after the -c flag, Up will create a module
// with 'newModule' as name.
up -c
A module is an array of actions. Each action is an object and has a required name
and method
field. Actions can have a question
array.
module.exports = {
actions: [
{
name: 'Hello World',
method: () => console.log('Hello World')
}
]
}
If you want to learn how to write your own modules, take a look at this quick tutorial
Write a quick email
Create a new Trello board
...
Please make sure to read the Issue Reporting Checklist before opening an issue. Issues not conforming to the guidelines may be closed immediately.
Detailed changes for each release are documented in the changelog.
We use SemVer for versioning. For the versions available, see the tags on this repository.
Please make sure to read the Contributing Guide before making a pull request.
See also the list of contributors who participated in this project.
Copyright (c) 2018-present, Yaro Schiffelers