# Kane CLI Hack Day: the whole flow

Everything at Kane CLI Hack Day happens in Codex with $hack-os. This page is the whole flow in one place: read it yourself, or point your agent at https://kaneclihack.sh/start.md for the full context.

## Pacific time: The day

The event server's clock decides. In Codex, `event_get_brief` has the exact deadlines.

- 09:30 Check-in at the desk.
- 11:00 Teams set. Rosters stay open after this: invite codes still work.
- 12:00 Idea saved. You can keep refining it after this.
- 16:00–17:00 Final evaluation at your team's table.
- 18:00 Submissions due.

## Step 01: Install, once

In your terminal. It asks before installing anything and never uses sudo. Installed before today? Run it again.

macOS / Linux:

```sh
curl -fsSL https://kaneclihack.sh/install.sh | sh
```

Windows (PowerShell):

```sh
irm https://www.kaneclihack.sh/install.ps1 | iex
```

It installs the kanehack helper, the $hack-os and $hack-gtm skills, Kane CLI's release candidate (`npm install -g @testmuai/kane-cli@rc`) with the official kane-cli skill, and connects Codex to the event server, letting Codex's sandbox reach the network and `~/.kanehack`. Say yes to each question.

## Step 02: Open Codex, type $hack-os

A new Codex session in your project folder. From here on, $hack-os runs the day with you.

In Codex:

```sh
$hack-os
```

It finds where you are, does the next step, and stops wherever you have to act.

When you've done something outside Codex (your terminal, your email, the browser), type done and it checks.

## Step 03: Your password

Once, in your own terminal, typed hidden. Never type a password, key or coupon into the Codex chat.

In your own terminal:

```sh
kanehack password
```

Saved in `~/.kanehack/credentials.json`, readable only by you.

- New here: choose one (8+ characters). It is also your TestMu AI password.
- Registered on the site already: use that password.

## Step 04: Sign up or sign in

Codex runs it with your saved password. No browser.

- New here, or only checked in at the desk: `kanehack register` with your name, the email you registered for the event with, and LinkedIn (X and GitHub optional). It saves your profile and signs this machine in.
- Already registered: `kanehack signin --email you@example.com`.

## Step 05 · before 11:00: Your team

Start one, join one, or go solo. The captain locks it when everyone is in.

- Start a team: `team_create`. Then the captain makes a join code with `team_invite_create` and gives one to each teammate.
- Join a team: give $hack-os the join code from your captain; it calls `team_join`.
- Go solo: a one-person team, also `team_create`.
- Looking for teammates: `team_find`, or https://kaneclihack.sh/match
- Lock it: when everyone is in, the captain runs `team_lock`. Nobody can join or leave after that (an organizer can reopen it).

## Step 06: Activate

After the team is locked: your TestMu AI plan, then your Codex coupon.

1. TestMu AI plan: `kanehack claim`. It uses your saved password and creates, or signs in to, your TestMu AI account.
2. Password refused: the email already has a TestMu AI account with a different password. Save that account's password with `kanehack password --testmu` and claim again. Signed up there with Google or GitHub, or don't remember it? Set a new one at https://accounts.lambdatest.com/password/reset with the same email first.
3. Codex coupon: `codex_coupon_send` emails it to the address you registered with, if you're on the participant list. Redeem it yourself, then tell $hack-os it's done.

## Step 07 · before 12:00: Your idea

Checked and coached in Codex, then saved for your team. Coaching, not a score.

- What it asks: your product name, app type, description and Kane CLI plan (which flows Kane tests, at least one assertion, and how your agent reacts to a Kane result).
- What you get: what to change, if anything, one question at a time.
- Saving it: `idea_save`, private to your team.

## Step 08: Build with Kane CLI

Your coding agent builds the app; Kane CLI tests it in a real browser.

- Kane commands: the official kane-cli skill writes them. Kane CLI must be the release candidate: `npm install -g @testmuai/kane-cli@rc`.
- Recording runs: `kanehack report -- kane-cli run "<objective>" --agent`, after you agree to send a redacted summary (`kanehack consent yes`). Your team's runs so far: `kanehack status`.
- Kane's data, optional: read-only APIs (projects, explorations) to track your progress, show Kane's results in your app, or build a companion app.

## Step 09 · by 18:00: Submit

Final evaluation is 16:00–17:00 at your table. Submissions due at 18:00.

1. Say `$hack-os ready to submit`. It runs `submission_preflight` and lists what's missing.
2. `$hack-gtm` drafts your launch posts, blog, a Show HN title and outline (you post it in your own words), deck and demo video. They're samples; you post them yourself.
3. The Submit tab needs four things to finalize: project name, project description, a one-liner pitch and the GitHub repo URL (no commit SHA). Everything else is an optional link: showcase page, LinkedIn post(s), X post(s), blog link(s), deck, video and Hacker News post. Several posts go in one field, separated by commas. Your Codex session saves them and the captain finalizes there (`$hack-os ready to submit`); the Submit tab is the fallback.
4. The shipped prize counts only from the Shipped prize bundle on your Submit tab, and preflight never checks it: the repo, a live URL or run command and a Kane CLI run report, plus any two of video, blog, X post and Show HN post. A signed-in teammate pastes each live link, ticks the row and presses Save, by 18:00 and before the captain finalizes.
5. The demo video field takes a link. Put `launch/video/showcase.mp4` on YouTube or Loom, or run `kanehack publish launch/video/showcase.mp4` for a public link (it asks first; an agent adds `--yes --json` only after you say yes), and paste the link into Video and the bundle's Video row.
6. The captain finalizes on the Submit tab, `https://kaneclihack.sh/t/<team-slug>/submit`.

## Stuck?: If something goes wrong

The usual fixes. For anything else, ask $hack-os for help or go to the help desk.

- `ENOTFOUND`, `UNREACHABLE` or `EPERM` inside Codex: that's Codex's sandbox, not the event. Re-run the install command, say yes to connecting Codex, and start a new Codex session.
- "That password or code doesn't match this email": your account already has a different password. Save that one with `kanehack password`, then `kanehack signin --email you@example.com`. Forgot it? The help desk gives one-time codes.
- TestMu AI password refused: see step 06.
- A Kane command or flag isn't recognized: `kane-cli --version`, then `npm install -g @testmuai/kane-cli@rc`.
- Anything else: ask $hack-os for help (it starts with `help_diagnose`), or the help desk at https://kaneclihack.sh/help

## For agents: How to help

The hack-os skill is the source of truth; this page is the overview.

- The skill: `~/.agents/skills/hack-os/SKILL.md` after step 01. Read it and follow it.
- Event tools: the MCP server `kane-hack-event` at https://kaneclihack.sh/mcp, connected by the installer (the kanehack helper adds the sign-in header; no token is stored in the config). Without it: `node ~/.agents/skills/hack-os/scripts/event-api.mjs call <tool> --args <file>`.
- Every session: start with `participant_get_status`; it says where the person is.
- Rules: never ask for a password, key or coupon in chat. Anything public or hard to undo needs the person's yes to the exact content; they post and finalize submissions in the browser themselves. Never report something done unless the event server or a command said so.
