Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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 👑

Awesome Lists containing this project

README

        


kapsis framework

Kapsis — Build delightful & intuitive command line interfaces with Nim language 👑


nimble install kapsis


API reference


Github Actions Github Actions

## 😍 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/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
```

### 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.