Skip to content

Latest commit

 

History

History
74 lines (57 loc) · 2.34 KB

README.md

File metadata and controls

74 lines (57 loc) · 2.34 KB

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

  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

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

🎩 License

MIT license. Made by Humans from OpenPeeps.
Copyright © 2024 OpenPeeps & Contributors — All rights reserved.