pbj is a Rust command line tool for generating sensible test-driven development project scaffolds from declarative templates written in TOML.
What It Does
- Loads a named project template from your pbj configuration folders or the built-in templates.
- Initializes the project with the language's normal tooling.
- Adds production and development dependencies where supported.
- Writes source, test, and configuration files declared by the template.
- Runs any post-generation commands specified by the template.
Built-In Templates
pbj includes templates for Python, TypeScript, F#, and Go. The Python template uses uv, TypeScript uses pnpm, F# uses dotnet, and Go uses the go toolchain.
Usage
Install with Cargo:
cargo install pbj
Generate a new project:
pbj generate -t python project_name
pbj generate -t typescript project_name
pbj generate -t fsharp project_name
pbj generate -t go project_name
The generate command is also aliased to g. Templates can use variants, including a leetcode-oriented variant for local algorithm practice.
Source and documentation:
