lingara
lingara is the Lingara command-line tool: sign in, then create, list, update
and delete the OAuth clients, apps, embeds, webhooks and canvases of your
Lingara developer account, from a terminal or from CI.
lingara login
lingara client create --name 'Release pipeline' --ci
lingara webhook inbound create --name 'Game server'
lingara apps list --jsonOne command tree, seven kits
The same lingara ships in seven languages, each written in its language's
usual CLI framework. One file, spec/cli.schema.json,
names every topic, command, argument, flag, alias and exit code. Every kit is
checked against it, and the reference docs are generated from it, so the
seven cannot drift apart.
| Language | Registry | Package |
|---|---|---|
| TypeScript | npm | @lingara/cli |
| Rust | crates.io | lingara-cli |
| Ruby | RubyGems | lingara-cli |
| PHP | Packagist | spinningcatstudios/lingara-cli |
| Go | prebuilt binaries | — |
| Java | Maven Central | com.getlingara:lingara-cli-java |
| Kotlin | Maven Central | com.getlingara:lingara-cli-kotlin |
The kits are being built; none is published yet. Every variant installs a
command named lingara, so installing two puts two lingara commands on your
PATH; keep one.
Dangerous commands ask twice
A command that deletes or replaces something asks "are you sure?", then asks
you to type your developer email. In CI, where nobody can answer, pass both
-y and --confirm <your developer email>. Neither is ever read from the
environment or a config file.
Exit codes
Every variant returns the same codes; see
docs/generated/reference/exit-codes.md.
Working on this repository
| Command | Does |
|---|---|
make check-schema |
The schema holds every rule |
make gen-docs |
Regenerate docs/generated/ from the schema |
make check-docs |
Fail when docs/generated/ differs from the schema |
make check-tree |
Every kit's registered tree matches the schema |
make check |
All three |
make test |
cli-spec's tests and every kit's |
Adding a command means editing spec/cli.schema.json first. make check-tree then goes red in every kit that lacks it, which is intended: a new
command lands in every kit, or in none.
Source: https://github.com/Spinning-Cat-Studios/lingara_cli. Licence: MIT.