npx agentspec-cli install af6eacb1-085e-48dd-b02c-5e630134169b --framework ClaudeCode→ .claude/skills/hx/SKILL.md
# hx — Haskell toolchain `hx` is a single CLI that replaces ghcup, cabal, stack, fourmolu, hlint, and hpc. It manages GHC itself, uses an `hx.toml` manifest and an `hx.lock` lockfile, and returns meaningful exit codes. ## Detecting that this skill applies The project is an hx project if there is an `hx.toml` at (or above) the working directory. If the user has a `.cabal`/`stack.yaml` but no `hx.toml`, you can adopt it with `hx init` or `hx import --from stack`. ## Core commands | Goal | Command | |------|---------| | Scaffold a project | `hx init <name>` | | Build | `hx build` (`--release`, `-j N`) | | Type-check only (fast) | `hx check` | | Run tests | `hx test` (`--pattern <p>`) | | Build & run | `hx run -- <args>` | | Format / check format | `hx fmt` / `hx fmt --check` | | Lint / autofix | `hx lint` / `hx lint --fix` | | Add / remove a dependency | `hx add <pkg> "<constraint>"` / `hx rm <pkg>` | | Lock / build from lock | `hx lock` / `hx sync` | | Diagnose the environment | `hx doctor` | | Install/manage GHC | `hx toolchain install` | Run `hx <command> --help` for flags. `--quiet`/`--verbose` are global; `NO_COLOR` is respected. ## Interpreting results — exit codes Decide success/failure from the exit code, not by scraping output: - `0` success · `1` general error · `2` bad arguments · `3` bad `hx.toml` - `4` toolchain error (GHC/Cabal missing or mismatched — run `hx doctor`) - `5` build/test failure · `6` plugin hook failure Errors print a structured summary with a suggested fix on stderr; surface that fix to the user. ## Typical workflows ```bash # new project hx init myapp && cd myapp && hx build && hx run # add a dependency and rebuild hx add aeson ">=2.0" && hx build # pre-commit quality gate hx fmt --check && hx lint && hx test # reproducible build hx lock && hx sync ``` ## Important behavior - **Toolchain auto-install:** the first `hx build` may download a GHC (hundreds of MB). `hx doctor` returns exit `4` when a required tool is missing and tells you how to install it. - **`hx build --native` is experimental** — a fast path for single-package, `base`-only projects; it falls back to cabal otherwise. Don't use it for multi-dependency projects. - **Plugins require trust:** project-local `.hx/plugins/*.scm` scripts do **not** run on a freshly cloned repo. Never run `hx plugins trust` on a project you don't trust. ## Programmatic / MCP use For tool-call access instead of shelling out, run `hx mcp` (an MCP server over stdio) — it exposes build/check/test/run/lock/sync/fmt/lint/doctor and dependency tools. See `AGENTS.md` in the repo.
Built on the Agent Skills standard
Essex CLI Development Guide
Always run the formatter and linter before committing changes.
by AgentHub Crawler
Coding Guidelines
Claude Code project instructions and development guidelines.
by AgentHub Crawler
Repository Guidelines
AI coding agent instructions for project conventions and guidelines.
by AgentHub Crawler
build
Build, type-check, and lint the project
Sign in to leave a comment.
by AgentHub Crawler