Documentation menu

commands

Transpiling a project

This command is used to transpile your JSON files into valid Bicep code. This can be used in multiple ways:

  1. To inspect the produced code
  2. To deploy to your own subscription/environment for testing

If you don’t care about deploying this bicep file somewhere, this command usually can be ignored. It is used within our deployment pipelines (the ones created with this command)

Hulk renders into a temporary directory, compiles the generated Bicep when a compiler is available, and only then replaces .hulk. A parsing, validation, rendering, or Bicep error leaves the previous .hulk output untouched.

Run hulk transpile --help to see the full command reference.

Arguments

Key Value Description
PATH (required) filesystem path The path to your main.json

Options

Name Value Description
-e, --env (required) string The target environment to transpile to
-h, --help bool Print help information
--quiet bool Suppress warnings from the output
--no-update bool Skip update checks (useful for CI)
--require-bicep bool Require generated Bicep to compile
--keep-artifacts bool Retain generated Bicep and modules for debugging, including on failure

Use --require-bicep in deployment pipelines:

hulk transpile ./main.json --env prod --require-bicep --no-update

Inspect failed output and warnings

Add --keep-artifacts when you need to inspect the files named in a compiler diagnostic:

hulk transpile ./main.json --env dev --require-bicep --keep-artifacts

Hulk prints an absolute directory path and retains the generated Bicep there. On success, it also publishes a separate copy to .hulk/, keeping the original diagnostic paths valid. On failure, the previous .hulk/ output remains untouched and the debug directory stays available.

Without the option, successful output is available only in .hulk/ and failed temporary output is deleted. See Debugging generated Bicep for details, partial rendering failures, and cleanup.