Kapsis — Build delightful & intuitive command line interfaces with Nim language 👑
nimble install kapsis
- Typed arguments and validation (
path
,string
,int
,bool
,float
,seconds
and more) - Prompters
input
,dropdown
,secret
,checkbox
,radio
- Commands and Sub commands
- Label separators
- Index Auto alignment
- Doc comments
import commands/cli
commands:
-- "Source-to-Source"
src string(-s), path(`timl`), bool(--pretty):
## Transpile `timl` code to a specific target source
ast path(`timl`), filename(`output`):
## Generate binary AST from a `timl` file
Kapsis autolinks CLI commands to their command handles. For example, a command called src
autolinks to a command handle srcCommand
import kapsis/[app, cli]
proc srcCommand*(v: Values) =
displayInfo("Hello")
proc astCommand*(v: Values) =
discard
-h
, --help
, -v
and --version
are reserved flags.
todo
todo let others add more commands to your kapsis app via shared libraries.
- Fancy Gradientful preloaders
- Fullscreen Session & Keyboard Events
- Auto-generate Bash/Zsh completion scripts
- Pluggable Commands via Shared Libraries
- Built-in database using either
JSON
orSQLite
- 🐛 Found a bug? Create a new Issue
- 👋 Wanna help? Fork it!
- 😎 Get €20 in cloud credits from Hetzner
- 🥰 Donate to The Enthusiast via PayPal address
MIT
license. Made by Humans from OpenPeeps.
Copyright © 2024 OpenPeeps & Contributors — All rights reserved.