A flexible code generator and task runner
Pinion is a flexible task runner and code generator for any language. Using TypeScript, it gives you full flexibility over what you can do with type-safe tasks and templates out of the box.
Get Started
Feathers Pinion Explained

Pinion Quick Start

Pinion is a flexible task runner and code generator for any language. Using TypeScript, it gives you full flexibility over what you can do with type-safe tasks and templates out of the box.

Why Pinion?

We have maintained CLI tooling for large internal projects and well-used open-source projects for many years. During that time, we tried all of the generators, looking for a flexible option to handle both internal projects and npm-published CLIs.

Generators

A Pinion generator is any file that has a generate export which takes a context and returns a Promise with that context. In its most basic form a Pinion generator looks like this:

Templates and Files

Pinion is unique. Templates are written in plain TypeScript, so they're super easy to use! This page covers how to create templates, how to write them to files and how to inject templates into existing files.

Composability

This chapter shows how to test generators, use them programmatically in CLI tools and existing applications and how to write your own reusable tasks.

API

Pinion has a small API with only a few tasks necessary to build powerful generators and CLI tools. This page has an overview of all available tasks, helpers and types.
Discord

Join our community

Get help and support
from the Feathers community
Subscribe to our NewsletterGet new Feathers content as it becomes available.