This page documents the lower-level extension and control-plane surfaces that still ship in the repo.
If you want the supported product overview first, read integrations.md and core.md.
Hack v3 is local-first. The supported product does not include hosted auth, a web dashboard, built-in GitHub integration, or built-in Linear integration.
- Deprecated compatibility helpers:
- Tickets:
hack x tickets ...(existing data migration only)
- Tickets:
- Unsupported experimental workflows:
- Gateway:
hack x gateway ... - Supervisor:
hack x supervisor ... - Remote node / dispatch flows documented under beta.md
- Gateway:
- Retired from the supported product:
hack authhack linear- built-in GitHub browser/profile flows
- Built-in extensions are registered in
src/control-plane/extensions/builtins.ts. - The CLI dispatches extension commands via
hack x <namespace> <command>. - Global enablement lives in
~/.hack/hack.config.jsonviacontrolPlane.extensions. - Per-project overrides live in
.hack/hack.config.json. - Built-in gateway enablement remains project-scoped through
controlPlane.gateway.enabled— the global config'sgateway.enabledfield is explicitly ignored when resolving gateway state; only the per-project opt-in decides whether gateway is enabled. - When a disabled extension's command is run, the CLI prints the exact enable command for that
extension (and on a TTY offers to run it for you). Gateway is a special case: its enable hint
always routes to
hack gateway enablerather than ahack config setinvocation.
- Tickets (deprecated; disabled unless
controlPlane.extensions["dance.hack.tickets"].enabledis explicitly set totrue; no agent skills or instructions are installed):hack x tickets setup|create|update|comment|review-note|document|list|show|status|resolve-conflict|sync|tui- Also available as the top-level alias
hack tickets <command>(see docs/guides/tickets.md). setupremoves legacy Tickets guidance and repairs storage hygiene; it no longer enables the extension or installs agent integrations.
- Unsupported experimental:
hack x gateway token-create|token-list|token-revokehack x supervisor job-create|job-list|job-show|job-tail|job-attach|job-cancel|shellhack x cloudflare ...hack x tailscale ...
GitHub and Linear are intentionally not part of the shipped built-in extension set for Hack v3.
hack x <namespace> <command> [args...]Use hack x <namespace> help to list commands for an enabled extension, or hack x list to list
all registered extensions (enabled and disabled) with their namespaces.
Remote/gateway/supervisor/cloud-provider functionality is still in the repo, but it is not part of the default local-first product contract.
- Do not depend on it for first-run onboarding.
- Do not expect hosted Hack services or browser auth flows.
- Treat bugs here as experimental unless they break the core local runtime.
- These commands are hidden from default
hack --helpoutput; list them withhack help --all. Invoking one prints a one-line experimental/unsupported warning.
When the unsupported experimental gateway is enabled, the current HTTP/WS surface includes:
GET /v1/statusGET /v1/metricsGET /v1/projectsGET /v1/psGET/POST /control-plane/projects/:id/jobsGET /control-plane/projects/:id/jobs/:jobIdPOST /control-plane/projects/:id/jobs/:jobId/cancelWS /control-plane/projects/:id/jobs/:jobId/streamPOST /control-plane/projects/:id/shellsGET /control-plane/projects/:id/shells/:shellIdWS /control-plane/projects/:id/shells/:shellId/stream
For usage patterns, see gateway-api.md and beta.md.