all repos — pls @ master

A polite but determined task runner.

2b3eccdc
Modifiws version, added changelog.
h3rald h3rald@h3rald.com
Sat, 13 Jun 2026 08:06:15 +0000
63d7d991
Re-releasing using ConVer
h3rald h3rald@h3rald.com
Sat, 13 Jun 2026 09:56:19 +0200
1d1767ce
Switching to ConVer.
h3rald h3rald@h3rald.com
Sat, 13 Jun 2026 07:48:30 +0000

pls — A polite but determined task runner

pls is a simple, general-purpose task runner that aims at making common tasks easier to manage and execute. It was inspired by some of the functionalities provided by the nifty package manager, only without the package manager part.

Main Features

pls can be used to:

Hello, World!

Here’s minimal but quite comprehensive example of how everything works with pls. Given the following pls.yml file (placed in $HOME or in %USERPROFILE% on Windows):

things:
  home:
    value: /home/h3rald
  bin:
    value: {{home.value}}/bin
  self:
    value: {{home.value}}/dev/pls
    exe: pls
    config: {{home.value}}/pls.yml
    nimble: true
actions:
  config:
    config: vim {\{config}}
  build:
    nimble+value: cd {\{value}} && nimble build -d:release
  publish:
    exe+value: cd {\{value}} && $(cp "{\{exe}}" "{{bin.value}}") &
deps:
  publish self:
    - build self

It will be possible to run the following command to build the pls program itself and copy it to the /home/h3rald/bin:

pls publish self

Similarly, to edit the pls.yml file using Vim, it will be sufficient to run:

pls config self

More Information

For more information on how to configure and use pls, see the Pls User Guide.

clone
git clone https://code.h3rald.com/pls
        

contribute on