4 releases (2 breaking)

0.3.0 Sep 29, 2024
0.2.0 May 1, 2024
0.1.1 Apr 26, 2024
0.1.0 Apr 25, 2024

#644 in Development tools

Download history 158/week @ 2024-09-24 36/week @ 2024-10-01 7/week @ 2024-10-08

201 downloads per month

MIT license

40KB
420 lines

Pont

pont logo

CI crates

Pont is a simple project template generator and loader. You can generate templates and load them from Git repositories or local directories.

Installation

Currently, pont can only be installed using cargo.

cargo install pont

Prerequisites

  • git should be installed and available in your PATH.

Usage

Generate a template

pont new --name <template-name> # to create a new directory

or

pont init # to use the current directory

Build a project from a template

pont build --name <template-name> --from <source>

How does it work?

Pont creates a pont.yaml file when you initialize a new project, which it then consumes during the build process.
A pont.yaml file contains 4 fields:

  • the pont version used for the template (the local pont version should match this).
  • the template's name (which will be replaced by your project name);
  • a list of commands that will be run when the project is built;
  • a list of ignored files (which will not get their name or content replaced).

It is a good idea to always include the .git directory in the ignore list, as attempting to rewrite any of the files inside it might corrupt your Git repository.

pont.yaml example:

version: 0.3.0
name: pont 
commands:
  - echo "Initializing Pont..."
ignore:
  - .git/*
  - *.txt

Example

pont new --name rust_server_template
cd ./rust_server_template

cargo init
cargo add axum tokio serde serde_json

git remote add origin <your-remote-repo>
git add .
git commit -m "Base project"
git push

cd ../
pont build --name cool_rust_app --from <your-remote-repo>

Dependencies

~14–25MB
~419K SLoC