A tiny decorator-based CLI framework for TypeScript.
func helps you build command-line tools with class decorators, typed runtime
providers, a small production footprint, and a template workflow that is ready
to use from the first command.
-
Tiny production bundles by default, making your CLI easy to install, quick to ship, and lightweight to distribute. See a reference output here.
-
Class decorators for commands, global options, and command-specific options.
-
Typed providers for parsed inputs, option values, and registered metadata.
-
Very few runtime dependencies, keeping installation and startup lightweight.
-
Project template support with built-in development and build commands.
We recommend starting every new project from the official template:
npm init funcThe generated project already includes the standard func setup, development
script, build script, and package configuration.
If you need to build without the template, browse the examples folder for small project structures and usage patterns.
Thanks to Shannon Moeller for donating the pkgname "func" on npm!
