Skip to content

bodinsamuel/konveyor

Repository files navigation

!> Very alpha

Konveyor

Create and manage scripts that scale.

Concepts

Building script and CLI is always a pain. It usually starts with a simple bash script and in no time it end up in a mess half of it copy pasted from stackoverflow.

Konveyor helps you split, reuse and make your scripts clean. It comes bundled with the most common tool you will need. Because each projects comes with its own requirements and specifity you know better than anyone what you need, we only provides the fundation to do it painlessly.

  • 👨‍👦 Dependencies, easily declare which scripts requires what to work correctly.
  • 💅 Elegant, displays only what is relevant in a clean and simple way.
  • 👀 Transparency, everything is logged so you understand what is going on under the hood.
  • 😍 Testability and Reusability, allows you to split, test and reuse code easily.
  • 🚀 Typed, use the power of Typescript to add safety to your scripts.
const sayHello = new Command({
  name: 'say_hello',
  description: 'Say hello to Github User',
  exec: ({ log }) => {
    log.info('Oh hi Mark !');
  },
});

const knv = new Konveyor({
  name: 'My Script',
  version: '1.0.0',
  options: [Command.option('--verbose')],
  commands: [sayHello],
});

knv.start(process.argv);

Examples

See examples folder.

Documentation

See documentation folder.

Todo

  • Timings
  • Examples
    • Test with mock
  • Documentation
  • Release script
  • Options
    • Nested help
  • Commands
    • Exit should not call process.exit but still cancel any remaining execution
  • Topic
    • Handle no value or options + --help
    • Find a way to add description
  • Execution
    • Stream Interactive?
    • Autoload .sh + exec in child
  • Interface
    • Align descs

About

Script workflow management, create and manage scripts at scale in a breeze.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published