Categorygithub.com/aymericbeaumet/pimp
modulepackage
0.0.6
Repository: https://github.com/aymericbeaumet/pimp.git
Documentation: pkg.go.dev

# README

pimp

test status github go.dev

pimp is a shell-agnostic command expander and task runner with pattern matching, templating and scripting capabilities that increases your productivity.

Installation

Pre-built binaries

Download the appropriate binary from the latest release and install it where you see fit.

Note: the macOS binaries are not signed yet, you will have to open them through the GUI first.

Via the Go toolchain

If you have the Go toolchain on your machine, you can install the latest pimp release with the following command:

go install github.com/aymericbeaumet/pimp/cmd/pimp@latest

Usage

Pimpfile

Pimpfile are an important part of pimp. These YAML files allow you to configure command expansion and tasks with a simple and expressive syntax.

Read more about Pimpfiles in the documentation.

Command Expander

When pimp is used as a command expander, it's going to try to match the command and args it is being given with the patterns you have defined in your ~/.Pimpfile.

For example in this case, when git is passed (with no extra arguments), it is going to be expanded into git status -sb. If some arguments are passed, then it is going to be expanded to git <args>.

$ cat ~/.Pimpfile
git: git status -sb
git ...: git
$ pimp git # equivalent to `git status -sb`
$ pimp git log # equivalent to `git log`

Read more about command expansion in the documentation.

Task Runner

Following the same concept as command expansion (see above), you can also leverage pimp to behave as a task runner for your project. The Pimpfile in your local directory always has the highest priority.

For example this is how you would do if you wanted to define a

$ cat ./Pimpfile
test: go test ./...
$ pimp test

Read more about running tasks in the documentation.

Template Engine

$ pimp --render template.tmpl

Read more about how to use pimp as a stand-alone template engine in the documentation.

Script Engine (PimpScript)

$ pimp --run script.pimp

Read more about how to use pimp as a script engine in the documentation.

Go Library

Read more about how to import pimp as a Go library in the documentation.

Documentation

The documentation contains information regarding how you can get the most out of pimp.

Examples

The examples are available as references to help you start using pimp.

Development

The Go toolchain is required to work on this project.

Building

go build -o pimp .

Installing

go install .

Testing

go test -v ./...

Releasing

Pimp tasks are defined in the ./Pimpfile to release new versions. The release process is entirely automated and is being taken care of by the CI.

pimp major
pimp minor
pimp patch

# Packages

No description provided by the author
No description provided by the author
No description provided by the author

# Variables

No description provided by the author
No description provided by the author
No description provided by the author