Skip to content

Commit 99e08fd

Browse files
roodboiclaude
andcommitted
docs(readme): sharpen differentiation and add the portability story
Portless framing woven in ('the URL is just the front door'), the one-project-model claim as the table capstone, and a new 'Your environment, anywhere' section: committed + isolated environments make remote coding sandboxes (Codex, Claude Code, Cursor, custom) zero-work — install hack, pass HACK_ENV_SECRET_KEY, hack up. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 3c3f502 commit 99e08fd

1 file changed

Lines changed: 28 additions & 9 deletions

File tree

README.md

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,11 @@ AGENTS.md/CLAUDE.md, Cursor rules, and Codex skills.
4747

4848
## More than ports
4949

50-
Hack gets compared to local-domain tools like portless. Stable URLs are one slice.
51-
A project isn't running until *all* of it is running, and every other slice usually
52-
means another tool, another script, another README section:
50+
Hack gets compared to local-domain tools like portless. Portless names your ports.
51+
Hack runs your project — the URL is just the front door.
52+
53+
A project isn't running until *all* of it is running, and every slice beyond the
54+
URL usually means another tool, another script, another README section:
5355

5456
| The job | The usual duct tape | With hack |
5557
| --- | --- | --- |
@@ -61,9 +63,26 @@ means another tool, another script, another README section:
6163
| Parallel branches | a second clone and port surgery | branch instances; worktrees isolate automatically |
6264
| Workspaces | hand-rolled tmux setups | `hack session` |
6365

64-
Each row is a tool you don't install or a script you don't maintain. The pieces
65-
compose because they share one model of the project — the same config that names
66-
your URL also resolves your env, starts your tunnels, and labels your logs.
66+
Each row is a tool you don't install or a script you don't maintain. And the
67+
pieces compose because they share one model of the project: the same identity that
68+
routes `api.myapp.hack` also decrypts its secrets, starts its tunnels, labels its
69+
logs, and namespaces its branch instances. That's why none of it needs glue code.
70+
71+
## Your environment, anywhere
72+
73+
Remote coding environments — Codex, Claude Code, Cursor, your own sandboxes — all
74+
stall on the same problem: someone has to hand-build the project's environment
75+
inside the box. Services, env, secrets, startup order. It's manual, it drifts, and
76+
it has to be redone for every project and every platform.
77+
78+
A hack project has already done this work. The environment is committed with the
79+
repo and isolated by design, so it runs the same on a teammate's laptop, in CI, or
80+
inside an agent's sandbox. Install hack, pass `HACK_ENV_SECRET_KEY`, run `hack up`.
81+
That is the entire setup — make a repo portable once and every environment,
82+
human or machine, gets it for free.
83+
84+
There's a slim container image (`hackdance/hack:slim`) built for exactly this; see
85+
[managed environments](./docs/guides/codex-managed-environments.md).
6786

6887
## Install
6988

@@ -120,9 +139,9 @@ Every command works from the repo root, or anywhere with `--project <name>`.
120139
- [Agent-first setup](./docs/guides/agent-first-setup.md)
121140

122141
A slim macOS companion app shows project status and quick actions; the CLI stays the
123-
source of truth. Runtime container images (`hackdance/hack:latest`, `:slim`) and
124-
optional extensions are covered in the docs. Remote/gateway/node/dispatch commands
125-
are source-available but unsupported experimental — hidden behind `hack help --all`.
142+
source of truth. Optional extensions and container images are covered in the docs.
143+
Remote/gateway/node/dispatch commands are source-available but unsupported
144+
experimental — hidden behind `hack help --all`.
126145

127146
## License
128147

0 commit comments

Comments
 (0)