Explore the hdrctl command surface
Start with global help, read the command grammar, and build a map of every action available from the Hydra CLI.
1. Objective
Goal
Run hdrctl --help, understand the [OPTIONS] COMMAND [ARGS]... grammar, distinguish global options from commands, and learn how to request focused help before executing an unfamiliar action.
Prerequisites
hdrctlis available in your terminal.- No Hydra project is required for the global help command.
- Use a terminal wide enough to read the command descriptions comfortably.
2. Steps
01Open the global help
Objective
Ask Hydra to describe its complete top-level command surface.
Actions
- Open a terminal.
- Run the global help command.
hdrctl --help
The usage line appears first, followed by a short description, the main commands, global options, and the complete command list.
Usage: hdrctl [OPTIONS] COMMAND [ARGS]... hdrctl — Hydra ETL Control CLI Manage your declarative ETL pipelines with ease.
02Read the command grammar
Objective
Understand which parts of the usage line are optional and which part selects the action.
Actions
- Read the usage line from left to right.
- Separate global
[OPTIONS]from theCOMMAND. - Treat
[ARGS]...as values owned by the selected command.
hdrctl [OPTIONS] COMMAND [ARGS]...
A valid invocation starts with hdrctl, may add a global option, selects one command, then passes that command its own arguments.
hdrctl --lang en list jobs/
└ option ┘ └ command arguments
[OPTIONS] and [ARGS]... describe optional input. Do not type the square brackets themselves.
03Read the global options
Objective
Recognize the options that belong to hdrctl itself and therefore appear before a command.
Actions
- Find the Options section.
- Use
--versionwhen you need the active CLI version. - Use
--lang enor--lang esto choose the interface language. - Use
-has the short form of--help.
hdrctl --version hdrctl --lang en --help hdrctl -h
Options: --version Show the version and exit. --lang LANG Interface language (en, es) -h, --help Show this message and exit.
04Map the five main commands
Objective
Connect the core job lifecycle to the commands highlighted by global help.
Actions
- Read the Main commands section.
- Follow the lifecycle from creation to execution.
hdrctl --help
Main commands: run Execute an ETL pipeline init Create a new job from a template test Validate a job configuration validate Strict YAML DSL validation list List jobs in current directory
Use each command for one distinct question:
init— what should Hydra create?list— what jobs are present here?validate— does the YAML obey the DSL?test— can the declared job configuration be used?run— execute the pipeline.
05Tour the complete command list
Objective
Discover the operational commands that sit beside the five core job commands.
Actions
- Find the complete Commands section below the options.
- Identify commands for cleanup, the API backend, and multi-job workflows.
hdrctl --help
The complete help surface contains nine commands:
Usage: hdrctl [OPTIONS] COMMAND [ARGS]...
hdrctl — Hydra ETL Control CLI
Manage your declarative ETL pipelines with ease.
Main commands:
run Execute an ETL pipeline
init Create a new job from a template
test Validate a job configuration
validate Strict YAML DSL validation
list List jobs in current directory
Options:
--version Show the version and exit.
--lang LANG Interface language (en, es)
-h, --help Show this message and exit.
Commands:
clear Examples: hydra clear
init Available templates: basic — Simple CSV (default) csv — CSV...
list Examples: hydra list hydra list jobs/
run PATH Job directory (default: current directory)
serve Démarre l'API FastAPI Hydra (Studio backend).
test Examples: hydra test .
validate Examples: hydra validate .
workflow Manage and execute Hydra workflows (multi-job DAG).
Group the commands by intent:
- Create and inspect:
init,list. - Check and execute:
validate,test,run. - Operate:
clear,serve. - Orchestrate:
workflow.
The global list tells you which command to choose. The command's own help tells you its paths, options, and examples.
06Open focused command help
Objective
Move from the global map to the exact contract of one command without executing it.
Actions
- Choose a command from the global list.
- Append
--helpor-h. - Try the same pattern with
init,run, andworkflow.
hdrctl init --help hdrctl run --help hdrctl workflow --help
Each command prints its own usage line, arguments, options, and examples, then exits without creating or running anything.
Usage: hdrctl COMMAND [OPTIONS] [ARGS]... Options: -h, --help Show this message and exit.
Keep this pattern throughout the track: when a command is unfamiliar, inspect its focused help before supplying a path or option.
Tips and traps
Start broad with hdrctl --help, then narrow with hdrctl COMMAND --help.
Global options such as --lang belong before the command name.
-h and --help are inspection tools. Use them before supplying paths or executing jobs.
The one-line command description is only a summary. Read focused help before assuming defaults.
The usage line is a grammar: brackets mean optional input and the ellipsis allows more arguments.
Do not type the documentation brackets in [OPTIONS] or [ARGS]....
3. Checklist
| Verification | Expected result |
|---|---|
hdrctl --help | Usage, description, options, and commands are visible |
| Usage grammar | [OPTIONS] COMMAND [ARGS]... is understood |
| Global options | --version, --lang, and --help are identified |
| Main commands | run, init, test, validate, and list |
| Complete command list | clear, serve, and workflow are also identified |
| Focused help | hdrctl COMMAND --help prints details without executing the command |
4. Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
hdrctl: command not found | The CLI is not available in the active shell | Activate the environment where Hydra is installed, then reopen the terminal if needed |
No such command | The command name is misspelled or placed before a global option | Return to hdrctl --help and copy the command name exactly |
--lang is rejected after a command | It is a global option | Place it before the command: hdrctl --lang en list |
| A subcommand starts doing work | --help was omitted | Stop the command if safe, then rerun it as hdrctl COMMAND --help |
| The help output is truncated | The terminal viewport is too small | Scroll up or enlarge the terminal before choosing a command |
5. Next lesson
You now know how to navigate the CLI without guessing. The next lesson uses hdrctl init
to create the first job and inspect the files produced by its template.