View Source Nexus
⚠️ This library is highly experimental and not ready for production use! Expect breaking changes! ⚠️
YOU HAVE BEEN WARNED!
_ __
|\ ||_\/| |(_
| \||_/\|_|__)
Create CLIs in a magic and declarative way!
An Elixir
library to write command line apps in a cleaner and elegant way!
Example
elixir dark defmodule MyCLI do use Nexus @doc """ Answer "fizz" on "buzz" input and "buzz" on "fizz" input. """ defcommand :fizzbuzz, type: {:enum, ["fizz", "buzz"]}, required?: true @impl Nexus.CLI # input can be named to anything @spec handle_input(atom, input) :: :ok when input: Nexus.Command.Input.t() def handle_input(:fizzbuzz, %{value: value}) do # logic to answer "fizz" or "buzz" :ok end end
## Why "Nexus"
Nexus is a connection from two different worlds! This library connects the world of CLIs with the magic world of Elixir
!