Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/openpeeps/kapsis
Yet Another CLI builder - Build delightful command line interfaces in seconds. Written in Nim language 👑
https://github.com/openpeeps/kapsis
List: kapsis
awesome awesome-nim cli cli-framework command-line command-line-parser command-line-tool nim nim-lang nim-language openpeeps terminal-app
Last synced: 4 days ago
JSON representation
Yet Another CLI builder - Build delightful command line interfaces in seconds. Written in Nim language 👑
- Host: GitHub
- URL: https://github.com/openpeeps/kapsis
- Owner: openpeeps
- License: mit
- Created: 2021-07-02T13:19:02.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-04T06:09:02.000Z (7 days ago)
- Last Synced: 2024-11-06T20:02:50.562Z (4 days ago)
- Topics: awesome, awesome-nim, cli, cli-framework, command-line, command-line-parser, command-line-tool, nim, nim-lang, nim-language, openpeeps, terminal-app
- Language: Nim
- Homepage: https://openpeeps.github.io/kapsis/
- Size: 673 KB
- Stars: 33
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Kapsis — Build delightful & intuitive command line interfaces with Nim language 👑
nimble install kapsis
## 😍 Key Features
- 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### Example
```nim
import commands/clicommands:
-- "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
```### Command handles
Kapsis autolinks CLI commands to their command handles. For example, a command called `src`
autolinks to a command handle `srcCommand````nim
import kapsis/[app, cli]proc srcCommand*(v: Values) =
displayInfo("Hello")proc astCommand*(v: Values) =
discard
````-h`, `--help`, `-v` and `--version` are reserved flags.
### Database
todo### Plugins
todo let others add more commands to your kapsis app via shared libraries.# TODO
- Fancy Gradientful preloaders
- Fullscreen Session & Keyboard Events
- Auto-generate Bash/Zsh completion scripts
- Pluggable Commands via Shared Libraries
- Built-in database using either `JSON` or `SQLite`### ❤ Contributions & Support
- 🐛 Found a bug? [Create a new Issue](https://github.com/openpeeps/kapsis/issues)
- 👋 Wanna help? [Fork it!](https://github.com/openpeeps/kapsis/fork)
- 😎 [Get €20 in cloud credits from Hetzner](https://hetzner.cloud/?ref=Hm0mYGM9NxZ4)
- 🥰 [Donate to The Enthusiast via PayPal address](https://www.paypal.com/donate/?hosted_button_id=RJK3ZTDWPL55C)### 🎩 License
`MIT` license. [Made by Humans from OpenPeeps](https://github.com/openpeeps).
Copyright © 2024 OpenPeeps & Contributors — All rights reserved.