Tooling

In this repository, we use bin/hace wrappers for common workflows. The task runner is hace.

Validation

bin/hace spec
bin/hace ameba

Formatting

bin/hace format
bin/hace format:check

Full Local Pass

bin/hace

Docs Site (Hwaro)

bin/hace docs:build
bin/hace docs:serve

If hwaro is missing, install from https://hwaro.hahwul.com/ first. Local docs tasks default DOCS_BASE_URL to http://localhost:3000; override with:

DOCS_BASE_URL=https://termisu.io bin/hace docs:build

Deploy (Netlify via Hwaro)

export NETLIFY_AUTH_TOKEN=...
export NETLIFY_SITE_ID=...
cd docs-web
hwaro deploy netlify --dry-run
hwaro deploy netlify

Preview deploy (non-production):

cd docs-web
hwaro deploy netlify-preview

Netlify Build Notes

Netlify CI uses the repo-level netlify.toml config with base = "docs-web" and publish = "public". The build command downloads a prebuilt hwaro Linux binary, so Crystal/shards are not required in Netlify. base_url is dynamic in CI and resolved as: DOCS_BASE_URL (explicit override) -> DEPLOY_PRIME_URL -> URL -> https://termisu.io. You can override the pinned hwaro version with HWARO_VERSION in Netlify environment variables.