Installation¶
Inside this repository, install dependencies and build the local CLI:
In another repository, install Hollywood as a development dependency:
That installs a local hollywood binary at node_modules/.bin/hollywood. Run
it with npx hollywood ...:
If you prefer npm scripts, wire the local binary once:
{
"scripts": {
"actions:generate": "hollywood generate \"gha/**/*.ts\" --output .",
"actions:check": "hollywood check"
}
}
Then run:
Run an exported action locally:
Node requirements¶
| Surface | Node requirement |
|---|---|
| Installed package and CLI | Node 20 or newer |
| Generated GitHub actions | GitHub's Node 24 action runtime |
| Building Hollywood locally | Node 22.18+ or Node 24.11+ |
package.json is the source of truth for the published package's
engines.node value. tsdown.config.ts sets the runtime build target.
tsconfig.json is for typechecking and should not be read as the package's
runtime support contract.
GitHub JavaScript actions need a bundled entrypoint. Hollywood generates the TypeScript entrypoint, but the bundling command is still explicit. Until Hollywood owns that build step, use the repository's chosen bundler to turn:
into:
The generated action.yml points at dist/index.js because that is the normal
GitHub Actions JavaScript action contract.
Documentation site¶
Serve these docs locally with MkDocs:
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -r docs/requirements.txt
python -m mkdocs serve -f mkdocs.yml
Build them with strict link validation: