Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/perryrh0dan/tmpo

Command line interface to create new workspaces based on templates
https://github.com/perryrh0dan/tmpo

cli project template workspace

Last synced: 3 months ago
JSON representation

Command line interface to create new workspaces based on templates

Awesome Lists containing this project

README

        


Tmpo


Command line utility to quickly create new workspaces based on templates


rustacean



Build Status



Gitter

## 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](https://github.com/perryrh0dan/tmpo/blob/master/contributing.md) to learn more on how help developing tmpo.

Come over to [Gitter](https://gitter.im/perryrh0dantmpo/community?source=orgpage) or [Twitter](https://twitter.com/perryrh0dan1) 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

- [Description](#description)
- [Highlights](#highlights)
- [Contents](#contents)
- [Demo](#demo)
- [Install](#install)
- [Flight Manual](#flight-manual)
- [Configuration](#configuration)
- [Development](#development)
- [Team](#team)
- [License](#license)

## Demo


demo

## Install

1. Download the latest [release](https://github.com/perryrh0dan/tmpo/releases) 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](https://github.com/perryrh0dan/tmpo/blob/master/docs/installation.md).

## Flight Manual

### Quick Start

1. Add a [repository](#repositories) or use the [default repository](https://github.com/perryrh0dan/templates)

```bash
tmpo repository add
```

2. Setup your first project

```bash
tmpo init
```

### CLI

```
tmpo 1.5.3
Thomas P.
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.

```bash
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](https://github.com/perryrh0dan/templates)

## 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.

```yaml
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](https://github.com/perryrh0dan/tmpo/blob/master/docs/development.md).

## Team

- Thomas Pöhlmann [(@perryrh0dan)](https://github.com/perryrh0dan)

## License

[MIT](https://github.com/perryrh0dan/tmpo/blob/master/license.md)