aboutsummaryrefslogtreecommitdiffstats
path: root/apps/cli/src/index.ts
blob: 12cd7a130a888d81f0e53c672b01da1c6d6131fd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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")
  .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.npm_package_version ?? "0.0.0");

program.addCommand(bookmarkCmd);
program.addCommand(listsCmd);
program.addCommand(tagsCmd);
program.addCommand(whoamiCmd);

setGlobalOptions(program.opts());

program.parse();