3 unstable releases

0.2.0 May 1, 2024
0.1.1 Apr 26, 2024
0.1.0 Apr 25, 2024

#578 in Development tools

Download history 240/week @ 2024-04-20 168/week @ 2024-04-27 9/week @ 2024-05-04 8/week @ 2024-05-18 1/week @ 2024-05-25

139 downloads per month

MIT license

18KB
391 lines

Pont

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

Usage

Generate a template

pont new <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 3 fields: 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, and 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:

name: pont 
commands:
  - echo "Initializing Pont..."
ignore:
  - .git/

Example

pont new 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
~435K SLoC