Skip to content

soupdevsolutions/pont

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 --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.2.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>