Supra is the CLI tool for creating new Supranim projects and managing them!
nimble install supra
- Bootstrap new Supranim projects with a single command
- Download and extract starter template from GitHub
- Interactive prompts for project configuration (name, author, license)
- Start customizable project templates
- Start versioned project templates (e.g. with specific versions of dependencies)
- Written in Nim language
Initialize a new Supranim project from a starter template hosted on GitHub, the default
template is the official Starter Kit available on the main branch.
supra init my-new-appUse the --restapi flag to bootstrap from the
REST API Starter Kit.
You'll get an interactive checkbox prompt to pick YAML-based recipes
(Space to toggle, Enter to confirm). Each recipe adds its
.nimble dependencies, drops a service provider into
src/service/provider/, and wires its init line into App.services.
supra init my-new-api --restapiAvailable recipes: jose, nimcypher, brotli, mimedb, bag,
blackpaper, multipart.
Providers are real Supranim services: six use initService X[Global]
with a high-level api (jose.issueToken/verifyToken,
nimcypher.hashUserPassword/checkUserPassword, brotli.compressText,
mimedb.mimeTypeFor, multipart.parseUpload), while blackpaper is
a Blackpaper[Singleton] holding a prepared dictionary
(checkPassword/isStrongPassword). jose and blackpaper also ship
config/jose.yml (secret supports ${env.JWT_SECRET} refs) and
config/blackpaper.yml (wordlist dictionary path) respectively.
For non-interactive use (CI), select recipes with flags instead:
supra init my-new-api --restapi --skipconfig --with=jose,bag,blackpaper
supra init my-new-api --restapi --skipconfig --without=multipart- 🐛 Found a bug? Create a new Issue
- 👋 Wanna help? Fork it!
- 😎 Get €20 in cloud credits from Hetzner
- 🥰 Donate via PayPal address
Supranim | MIT license. Made by Humans from OpenPeeps.
Copyright © 2025 OpenPeeps & Contributors — All rights reserved.