diff options
| author | MohamedBassem <me@mbassem.com> | 2024-04-24 11:37:35 +0100 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-04-24 12:21:55 +0100 |
| commit | 3352a3ea393849550573deff8d774ba6bf149471 (patch) | |
| tree | a7d78db4fadbe7123c7d5045f5a537965382b84a /apps/cli/src/index.ts | |
| parent | af0cf9c1ee10901ab91b04a1d73afdcb2191a88f (diff) | |
| download | karakeep-3352a3ea393849550573deff8d774ba6bf149471.tar.zst | |
build(cli): Prepare for publishing CLI to npm
Diffstat (limited to 'apps/cli/src/index.ts')
| -rw-r--r-- | apps/cli/src/index.ts | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/apps/cli/src/index.ts b/apps/cli/src/index.ts new file mode 100644 index 00000000..cdb2956e --- /dev/null +++ b/apps/cli/src/index.ts @@ -0,0 +1,34 @@ +#! /usr/bin/env node +import { bookmarkCmd } from "@/commands/bookmarks"; +import { listsCmd } from "@/commands/lists"; +import { tagsCmd } from "@/commands/tags"; +import { whoamiCmd } from "@/commands/whoami"; +import { setGlobalOptions } from "@/lib/globals"; +import { Command, Option } from "@commander-js/extra-typings"; + +const program = new Command() + .name("hoarder-cli") + .description("A CLI interface to interact with the hoarder api") + .addOption( + new Option("--api-key <key>", "The API key to interact with the API") + .makeOptionMandatory(true) + .env("HOARDER_API_KEY"), + ) + .addOption( + new Option( + "--server-addr <addr>", + "The address of the server to connect to", + ) + .makeOptionMandatory(true) + .env("HOARDER_SERVER_ADDR"), + ) + .version(process.env.SERVER_VERSION ?? "nightly"); + +program.addCommand(bookmarkCmd); +program.addCommand(listsCmd); +program.addCommand(tagsCmd); +program.addCommand(whoamiCmd); + +setGlobalOptions(program.opts()); + +program.parse(); |
