# Hydra CLI

A cli tool for running a [Hydra](https://joystream.org/hydra) query node

## Install

Using `npx`:

```bash
$ alias hydra-cli='npx @dzlzv/hydra-cli'
```

or install via npm:

```bash
npm install -g @dzlzv/hydra-cli
```

and then

```bash
$ hydra-cli [COMMAND]
```

## Quickstart

Run

```
$ hydra-cli scaffold
```

and answer the prompts. This will generate a sample project and README with setup instructions.

## Commands

* [`hydra-cli codegen`](#hydra-cli-codegen)
* [`hydra-cli help [COMMAND]`](#hydra-cli-help-command)
* [`hydra-cli plugins`](#hydra-cli-plugins)
* [`hydra-cli plugins:inspect PLUGIN...`](#hydra-cli-pluginsinspect-plugin)
* [`hydra-cli plugins:install PLUGIN...`](#hydra-cli-pluginsinstall-plugin)
* [`hydra-cli plugins:link PLUGIN`](#hydra-cli-pluginslink-plugin)
* [`hydra-cli plugins:uninstall PLUGIN...`](#hydra-cli-pluginsuninstall-plugin)
* [`hydra-cli plugins:update`](#hydra-cli-pluginsupdate)
* [`hydra-cli preview`](#hydra-cli-preview)
* [`hydra-cli scaffold`](#hydra-cli-scaffold)

## `hydra-cli codegen`

Code generator

```
Code generator

USAGE
  $ hydra-cli codegen

OPTIONS
  -d, --createDb       Create the DB and install migrations
  -s, --schema=schema  [default: ../../schema.graphql] Schema path, can be file or directory
  --[no-]install       Install dependencies
```

## `hydra-cli help [COMMAND]`

display help for hydra-cli

```
display help for <%= config.bin %>

USAGE
  $ hydra-cli help [COMMAND]

ARGUMENTS
  COMMAND  command to show help for

OPTIONS
  --all  see all commands in CLI
```

*See code:* [*@oclif/plugin-help*](https://github.com/oclif/plugin-help/blob/v2.2.3/src/commands/help.ts)

## `hydra-cli plugins`

list installed plugins

```
list installed plugins

USAGE
  $ hydra-cli plugins

OPTIONS
  --core  show core plugins

EXAMPLE
  $ hydra-cli plugins
```

*See code:* [*@oclif/plugin-plugins*](https://github.com/oclif/plugin-plugins/blob/v1.10.0/src/commands/plugins/index.ts)

## `hydra-cli plugins:inspect PLUGIN...`

displays installation properties of a plugin

```
displays installation properties of a plugin

USAGE
  $ hydra-cli plugins:inspect PLUGIN...

ARGUMENTS
  PLUGIN  [default: .] plugin to inspect

OPTIONS
  -h, --help     show CLI help
  -v, --verbose

EXAMPLE
  $ hydra-cli plugins:inspect myplugin
```

*See code:* [*@oclif/plugin-plugins*](https://github.com/oclif/plugin-plugins/blob/v1.10.0/src/commands/plugins/inspect.ts)

## `hydra-cli plugins:install PLUGIN...`

installs a plugin into the CLI

```
installs a plugin into the CLI
Can be installed from npm or a git url.

Installation of a user-installed plugin will override a core plugin.

e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in the CLI without the need to patch and update the whole CLI.


USAGE
  $ hydra-cli plugins:install PLUGIN...

ARGUMENTS
  PLUGIN  plugin to install

OPTIONS
  -f, --force    yarn install with force flag
  -h, --help     show CLI help
  -v, --verbose

DESCRIPTION
  Can be installed from npm or a git url.

  Installation of a user-installed plugin will override a core plugin.

  e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command 
  will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in 
  the CLI without the need to patch and update the whole CLI.

ALIASES
  $ hydra-cli plugins:add

EXAMPLES
  $ hydra-cli plugins:install myplugin 
  $ hydra-cli plugins:install https://github.com/someuser/someplugin
  $ hydra-cli plugins:install someuser/someplugin
```

*See code:* [*@oclif/plugin-plugins*](https://github.com/oclif/plugin-plugins/blob/v1.10.0/src/commands/plugins/install.ts)

## `hydra-cli plugins:link PLUGIN`

links a plugin into the CLI for development

```
links a plugin into the CLI for development
Installation of a linked plugin will override a user-installed or core plugin.

e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello' command will override the user-installed or core plugin implementation. This is useful for development work.


USAGE
  $ hydra-cli plugins:link PLUGIN

ARGUMENTS
  PATH  [default: .] path to plugin

OPTIONS
  -h, --help     show CLI help
  -v, --verbose

DESCRIPTION
  Installation of a linked plugin will override a user-installed or core plugin.

  e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello' 
  command will override the user-installed or core plugin implementation. This is useful for development work.

EXAMPLE
  $ hydra-cli plugins:link myplugin
```

*See code:* [*@oclif/plugin-plugins*](https://github.com/oclif/plugin-plugins/blob/v1.10.0/src/commands/plugins/link.ts)

## `hydra-cli plugins:uninstall PLUGIN...`

removes a plugin from the CLI

```
removes a plugin from the CLI

USAGE
  $ hydra-cli plugins:uninstall PLUGIN...

ARGUMENTS
  PLUGIN  plugin to uninstall

OPTIONS
  -h, --help     show CLI help
  -v, --verbose

ALIASES
  $ hydra-cli plugins:unlink
  $ hydra-cli plugins:remove
```

*See code:* [*@oclif/plugin-plugins*](https://github.com/oclif/plugin-plugins/blob/v1.10.0/src/commands/plugins/uninstall.ts)

## `hydra-cli plugins:update`

update installed plugins

```
update installed plugins

USAGE
  $ hydra-cli plugins:update

OPTIONS
  -h, --help     show CLI help
  -v, --verbose
```

*See code:* [*@oclif/plugin-plugins*](https://github.com/oclif/plugin-plugins/blob/v1.10.0/src/commands/plugins/update.ts)

## `hydra-cli preview`

Preview GraphQL API schema

```
Preview GraphQL API schema

USAGE
  $ hydra-cli preview

OPTIONS
  -s, --schema=schema  [default: ../../schema.graphql] Schema path
```

## `hydra-cli scaffold`

Starter kit: generates a directory layout and a sample schema file

```
Starter kit: generates a directory layout and a sample schema file

USAGE
  $ hydra-cli scaffold

OPTIONS
  -a, --appPort=appPort          [default: 4000] GraphQL server port
  -b, --blockHeight=blockHeight  [default: 0] Start block height
  -d, --dir=dir                  [default: /home/runner/work/hydra/hydra/packages/hydra-cli] Project folder
  -h, --dbHost=dbHost            [default: localhost] Database host
  -i, --indexerUrl=indexerUrl    Hydra Indexer endpoint
  -m, --[no-]mappings            Create schema and mappings
  -n, --name=name                [default: hydra-scaffold] Project name
  -p, --dbPort=dbPort            [default: 5432] Database port
  -u, --dbUser=dbUser            [default: postgres] Database user
  -x, --dbPassword=dbPassword    [default: postgres] Database user password
  --rewrite                      Clear the folder before scaffolding
  --silent                       If present, the scaffolder is non-interactive and uses only provided CLI flags
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dzhelezov.gitbook.io/hydra/hydra-cli.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
