Skip to content

Commit 401ef6a

Browse files
authored
Merge branch 'main' into codex/define-env-key-rotation-and-recovery-flows-16o779
2 parents 5bb98db + 9d69ee8 commit 401ef6a

22 files changed

Lines changed: 552 additions & 37 deletions

File tree

‎.github/workflows/release.yml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,8 @@ jobs:
121121
files=(
122122
"dist/release/hack-${RELEASE_VERSION}-install.sh"
123123
"dist/release/hack-install.sh"
124+
"dist/release/hack-${RELEASE_VERSION}-codex-install.sh"
125+
"dist/release/hack-codex-install.sh"
124126
)
125127
for file in "${files[@]}"; do
126128
if [ ! -f "${file}" ]; then

‎AGENTS.md‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,19 @@ TypeScript (strict). Runtimes: Bun 1.3+, Node 23. Prettier: 2 spaces, no semicol
3838
Always default to useing named paramaters in functions eg myFunction({ ctx, other }) vs myFunction(ctx, other)
3939
Never use any types and always default to leveraging generics and smart types to sensure the best possible tpye inference across the project.
4040

41+
## Commits And Releases
42+
43+
- Use Conventional Commits for every commit you author in this repo.
44+
- Format commits as `<type>(<scope>): <summary>` when a scope is useful, or `<type>: <summary>` when it is not.
45+
- Prefer these types: `feat`, `fix`, `docs`, `refactor`, `test`, `chore`, `build`, `ci`, `perf`, `revert`.
46+
- Use `feat` for user-facing capability changes that should trigger a feature release signal.
47+
- Use `fix` for behavior corrections, regressions, and release-blocking repairs.
48+
- Use `build` or `ci` for release pipeline, packaging, notarization, versioning, or workflow-only changes.
49+
- Do not use vague commit subjects like `update stuff`, `misc fixes`, or `wip`.
50+
- If a change is breaking, mark it explicitly with `!` in the type or scope position and include a `BREAKING CHANGE:` footer explaining the migration impact.
51+
- If work lands through a squash merge, the PR title must also follow Conventional Commits so release automation can classify it correctly.
52+
- Before pushing or merging, make sure the final commit history or squash title still preserves the intended release signal.
53+
4154
<!-- hack:tickets:start -->
4255
## Tickets (git-backed)
4356

‎CHANGELOG.md‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
## <small>1.21.1 (2026-03-24)</small>
2+
3+
* Merge branch 'main' into codex/fix-authorization-bypass-for-team-management ([3c4eee5](https://github.com/hack-dance/hack/commit/3c4eee5))
4+
* Merge pull request #25 from hack-dance/codex/fix-authorization-bypass-for-team-management ([4e0a5fd](https://github.com/hack-dance/hack/commit/4e0a5fd)), closes [#25](https://github.com/hack-dance/hack/issues/25)
5+
* fix(auth): restore team-scoped authorization ([5622392](https://github.com/hack-dance/hack/commit/5622392))
6+
7+
## 1.21.0 (2026-03-24)
8+
9+
* feat(release): publish codex slim installer ([b0451e0](https://github.com/hack-dance/hack/commit/b0451e0))
10+
11+
## 1.20.0 (2026-03-24)
12+
13+
* feat(codex): add slim install path for managed containers ([38f6b78](https://github.com/hack-dance/hack/commit/38f6b78))
14+
* improve linear routing status output ([64574f1](https://github.com/hack-dance/hack/commit/64574f1))
15+
* Merge branch 'main' into codex/linear-mention-hack-444-improve-status,-error,-and-help-ou ([7c08dd5](https://github.com/hack-dance/hack/commit/7c08dd5))
16+
* Merge pull request #26 from hack-dance/codex/linear-mention-hack-444-improve-status,-error,-and-help ([b88c8b7](https://github.com/hack-dance/hack/commit/b88c8b7)), closes [#26](https://github.com/hack-dance/hack/issues/26)
17+
* docs(agents): require conventional commits for release flow ([4a929c3](https://github.com/hack-dance/hack/commit/4a929c3))
18+
119
## <small>1.19.1 (2026-03-23)</small>
220

321
* Merge pull request #24 from hack-dance/fix/macos-ghostty-vt-latest ([2546af4](https://github.com/hack-dance/hack/commit/2546af4)), closes [#24](https://github.com/hack-dance/hack/issues/24)

‎README.md‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,16 @@ curl -fsSL \
102102
| bash
103103
```
104104

105+
Managed Codex or CI container:
106+
107+
```bash
108+
curl -fsSL \
109+
https://github.com/hack-dance/hack/releases/latest/download/hack-codex-install.sh \
110+
| bash
111+
```
112+
113+
This slim install path skips `hack global install`, Caddy/CoreDNS, and Loki/Grafana.
114+
105115
CLI + desktop app:
106116

107117
- Download the latest DMG from [GitHub Releases](https://github.com/hack-dance/hack/releases/latest)

‎apps/macos/Config/Base.xcconfig‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ PRODUCT_NAME = Hack Desktop
99
PRODUCT_BUNDLE_IDENTIFIER = dance.hack.desktop
1010
HACK_URL_SCHEME = hack
1111
MACOSX_DEPLOYMENT_TARGET = 14.0
12-
MARKETING_VERSION = 1.19.1
12+
MARKETING_VERSION = 1.21.1
1313
CURRENT_PROJECT_VERSION = $(MARKETING_VERSION)

‎docs/beta.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ local model instead of replacing it.
1212
- [Run laptop-to-laptop node pairing e2e](guides/remote-node-laptop-e2e.md)
1313
- [Bootstrap a remote node on Railway](guides/remote-node-railway.md)
1414
- [Run a remote node via container image](guides/remote-node-container.md)
15+
- [Use Hack in managed Codex containers](guides/codex-managed-environments.md)
1516
- [Expose the gateway over SSH](guides/remote-ssh.md)
1617
- [Expose the gateway with Cloudflare](guides/remote-cloudflare.md)
1718
- [Expose the gateway with Tailscale](guides/remote-tailscale.md)
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# Managed Codex Containers
2+
3+
This guide is for managed Codex or CI-style containers where you control a repo checkout and setup script,
4+
but do not control the host machine or a long-lived Docker Desktop style environment.
5+
6+
Use this path when:
7+
8+
- the container is ephemeral or cache-backed
9+
- you only have a setup script and optional maintenance script
10+
- `hack global install` is too heavy or not applicable
11+
- you want tickets, integrations, docs, and repo-local CLI workflows without the full local host stack
12+
13+
## What slim mode does
14+
15+
Slim mode is enabled by setting `HACK_EXECUTION_MODE=codex` or `HACK_EXECUTION_MODE=slim`.
16+
17+
It is designed to skip machine-level Hack surfaces:
18+
19+
- Caddy
20+
- CoreDNS
21+
- Loki
22+
- Grafana
23+
- local CA and TLS bootstrap
24+
- Docker event watching in `hackd`
25+
26+
This mode is intentionally not a substitute for a full local workstation setup.
27+
28+
## Install from a release
29+
30+
Run this in your managed Codex setup script:
31+
32+
```bash
33+
curl -fsSL \
34+
https://github.com/hack-dance/hack/releases/latest/download/hack-codex-install.sh \
35+
| bash
36+
```
37+
38+
The installer downloads the latest Hack release tarball, installs the binary into `~/.hack/bin`,
39+
and writes a thin `hack` wrapper with these defaults:
40+
41+
- `HACK_EXECUTION_MODE=codex`
42+
- `HACK_DAEMON_DISABLE_DOCKER_EVENTS=1`
43+
- `HACK_SETUP_SYNC_MODE=warn`
44+
45+
## Recommended setup script
46+
47+
```bash
48+
set -euo pipefail
49+
50+
mise install bun@1.3.5
51+
export PATH="$HOME/.local/share/mise/shims:$PATH"
52+
53+
bun install
54+
curl -fsSL \
55+
https://github.com/hack-dance/hack/releases/latest/download/hack-codex-install.sh \
56+
| bash
57+
```
58+
59+
## Recommended maintenance script
60+
61+
```bash
62+
set -euo pipefail
63+
64+
export PATH="$HOME/.local/share/mise/shims:$PATH"
65+
bun install --frozen-lockfile || bun install
66+
```
67+
68+
If you are developing inside the Hack repo itself, the repo-local helpers are still available:
69+
70+
```bash
71+
bash scripts/install-codex-slim.sh
72+
bash scripts/maintain-codex-slim.sh
73+
```
74+
75+
## Good fit for slim mode
76+
77+
- `hack tickets`
78+
- `hack linear`
79+
- `hack x github`
80+
- repo-local docs, specs, and agent setup
81+
- command and config surfaces that do not require the machine-wide runtime stack
82+
83+
## Not available in slim mode
84+
85+
- `hack global install`
86+
- `hack global up`
87+
- `hack global status`
88+
- `hack global logs`
89+
- explicit Loki-backed log paths such as `hack logs --loki`
90+
91+
When you need full remote runtime orchestration instead of repo-local agent workflows, use the
92+
[remote node container image](remote-node-container.md) instead.

‎package.json‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "hack-cli",
3-
"version": "1.19.1",
3+
"version": "1.21.1",
44
"packageManager": "bun@1.3.9",
55
"module": "index.ts",
66
"type": "module",
@@ -19,7 +19,9 @@
1919
"commit": "cz",
2020
"install:dev": "bun run --cwd packages/cli install:dev",
2121
"install:bin": "bun run build && bun run --cwd packages/cli install:bin",
22+
"install:codex": "bash scripts/install-codex-slim.sh",
2223
"install:status": "bun run --cwd packages/cli install:status",
24+
"maintain:codex": "bash scripts/maintain-codex-slim.sh",
2325
"lint": "bun run check",
2426
"macos:project-gen": "bun run --cwd packages/cli macos:project-gen",
2527
"macos:open": "bun run --cwd packages/cli macos:open",

‎packages/cli/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@hack/cli",
33
"private": true,
4-
"version": "1.19.1",
4+
"version": "1.21.1",
55
"type": "module",
66
"module": "index.ts",
77
"scripts": {

‎packages/db/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@hack/db",
33
"private": true,
4-
"version": "1.19.1",
4+
"version": "1.21.1",
55
"type": "module",
66
"main": "src/client.ts",
77
"module": "src/client.ts",

0 commit comments

Comments
 (0)