qwikstart

Code generator for automating configuration, setup, and yak shaving.


Keywords
console, terminal, code-generator, command-line-tool
License
BSD-3-Clause
Install
pip install qwikstart==0.8.0

Documentation

qwikstart: Code generator for fun and profit

https://travis-ci.com/tonysyu/qwikstart.svg?branch=master https://readthedocs.org/projects/qwikstart/badge/

qwikstart is a code generator for integrating code into existing projects. It's similar to code generators like cookiecutter, yeoman, and hygen but with a focus on adding code to existing projects.

A simple hello-world.yml script in qwikstart would look something like:

steps:
    "Ask for name":
        name: prompt
        inputs:
            - name: "name"
              default: "World"
    "Display message":
        name: echo
        message: |

            Hello, {{ qwikstart.name }}!

The first step uses the prompt operation with a single input "name", with a default value of "World" (which is editable when running the script). The next step just uses the echo operation to display a message. This script can be using qwikstart run:

$ qwikstart run hello-world.yml

Please enter the following information:
name: World

Hello, World!

Install

The recommended way of installing qwikstart is to use pipx:

pipx install qwikstart

If you happen to be setting up pipx for the first time, the pipx installation instructions suggest running pipx ensurepath to update the user path. Note, if you use ~/.profile instead of ~/.bash_profile, this will add ~/.bash_profile, which will take precendence over ~/.profile. Either move the code from ~/.bash_profile to ~/.profile or link your profiles.

Basic Usage

After installing qwikstart, you can run a simple hello-world example using the following:

$ qwikstart run --repo https://github.com/tonysyu/qwikstart examples/hello_world.yml

By default, there are abbreviations for common git repos, so the above can also be written:

qwikstart run --repo gh:tonysyu/qwikstart examples/hello_world.yml

See Also

There are a lot code generators and scaffolding tools out there, and the following is just a selection of some of the most popular ones:

  • cookiecutter: A command-line utility that creates projects from cookiecutters (project templates)
  • hygen: The scalable code generator that saves you time.
  • yeoman: The web's scaffolding tool for modern webapps