tenpureto / tenpureto

Simple and flexible project templates

Home Page:https://tenpureto.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tenpureto CI codecov

Introduction

tenpureto is a tool that allows to easily bootstrap software projects from a template. Almost every programming language ecosystem provides some bootstrapping solution. What makes tenpureto different is simplicity with a reasonable amount of flexibility:

  • Templates can be split into independent features that you can selectively include.
  • Projects created from a template can be updated to include upstream changes.
  • Contributing to a template is as easy as contributing to any other project.

Documentation

Project documentation including installation instructions, usage examples and information about authoring new templates is available at tenpureto.org.

Installation

macOS

You can install tenpureto with Homebrew:

$ brew tap rtimush/tap # you need it only once
$ brew install tenpureto

You can also download a binary from the releases page.

Linux

You can download a statically built binary from the releases page.

If you use Linuxbrew, you can also install tenpureto from the rtimush/tap tap in the same way as described in the macOS section.

Build from sources

You need to get Haskell Stack first. Get tenpureto sources and run

# will install tenpureto binary to ~/.local/bin
$ stack install

or

# will run tenpureto without installing
$ stack run -- <tenpureto options here>

You may need to install libtinfo-dev (DEB) or libtinfo-devel (RPM) package before running stack.

Usage

To create a new project run the following command:

$ tenpureto create --template <repository> <directory>

where

  • <repository> — Git URL of a template repository (for GitHub you can just use organization/repo).
  • <directory> — where to create a project.

If you have a local clone of a Git repository with --mirror, you can pass its absolute path instead of a Git URL as the <repository> argument.

You will be asked to choose a subset of template features you want to include, and to provide some variable values, and then the project will be created.

If you want to incorporate changes that were made in a template into a project that you previously created, run

$ tenpureto update <directory>

About

Simple and flexible project templates

https://tenpureto.org

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Haskell 96.8%Language:Nix 2.5%Language:Makefile 0.8%