Skip to content

Command line interface to create new workspaces based on templates

License

Notifications You must be signed in to change notification settings

perryrh0dan/tmpo

Repository files navigation

Tmpo

Command line utility to quickly create new workspaces based on templates

rustacean

Description

Tmpo enables you to effectively create new workspaces based on predefined templates. To share templates across your team tmpo is using a git repository to manage your templates. Templates are automaticly fetched and merged on all clients.

diagram

Visit the contributing guidelines to learn more on how help developing tmpo.

Come over to Gitter or Twitter to share your thoughts on the project.

Highlights

  • Setup complex workspaces in seconds
  • Templates support inheritence, placeholders and transformation methods
  • Simple, Lightweight & fast
  • Cross-platform: Linux, Windows and mac are official supported
  • Everything can be a template. Python, Rust, Typescript, latex, markdown,...
  • Share templates across your team or community with git
  • Configurable through ~/.tmpo/config.yaml
  • Self Updater

Contents

Demo

demo

Install

  1. Download the latest release for your platform.
  2. Copy the binary to your /bin folder or point the path variable to it.

A detailed description can be found here.

Flight Manual

Quick Start

  1. Add a repository or use the default repository
tmpo repository add
  1. Setup your first project
tmpo init

CLI

tmpo 1.5.3
Thomas P. <thomaspoehlmann96@googlemail.com>
Cli to create new workspaces based on templates

USAGE:
    tmpo [SUBCOMMAND]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    config        View configuration
    help          Prints this message or the help of the given subcommand(s)
    init          Initialize new workspace [aliases: i]
    repository    Maintain repositories
    template      Maintain templates
    update        Update to the latest release

Repositories

A repository is a folder that contains up to n different templates. A repository can be connected with a remote git repository. Templates are then automaticly synced. Repositories are located in the 'template_dir'.

To add a new repository use the repository subcommand and follow the instructions on the screen.

tmpo repository add

Templates

Templates can be configured with a meta.json in the template root. For a detailed description how to create and maintain templates have a look at the instructions in the default template repository repository

Configuration

The configuration file should only be changed by experienced users.

To configure tmpo navigate to the ~/.tmpo/config.yaml file and modify any of the options to match your own preference. To reset back to the default values, simply delete the config file from your home directory.

The following illustrates all the available options with their respective default values.

templates_dir: /home/thomas/.tmpo/templates
templates_repositories:
  - name: default
    description: this is the default template repository from tpoe
    git_options:
      enabled: true
      provider: github
      url: "https://github.com/perryrh0dan/templates"
      branch: master
      auth: none
      token:
      username: ~
      password: ~

Development

More information regarding development and testing can be found here.

Team

License

MIT