All labsLab 08
Level 125 min+80 XP

Cursor, Codex & Gemini CLI Quickstarts

Build the same thing three times in three tools, so no vendor owns your workflow.

After this module you can

run explore-plan-build in Cursor, Codex CLI and a free terminal agent, and keep one instructions file that all of them read

You need
  • Git installed and an empty folder you can throw away (Lab 00)
  • Node installed if you want the npm route for Codex CLI
  • A GitHub account, a personal Google account and a ChatGPT account — all free, none needs a card

You are about to build the same small thing twice, maybe three times. The point is to prove that the loop you learned in Claude Code is not the tool. Explore, plan, approve, review, commit works the same everywhere. Only the shortcut changes.

In one year Gemini CLI stopped serving free users, Windsurf became Devin Desktop, Roo Code’s repo was archived, Cursor was acquired by SpaceX, and GitHub replaced Copilot’s premium requests with token-metered credits. If your skill is knowing where the buttons are, one product decision deletes it. The loop and one instructions file move with you.

Before you start: one folder, one commit, one task

bash
mkdir vibe-demo
cd vibe-demo
git init
git commit --allow-empty -m "empty start"

The task, in every tool: a single-page tenge/USD converter with a hardcoded rate, plain HTML/CSS/JS, no build step. Small enough to finish in five minutes, real enough that a bad plan shows.

Cursor: the plan step is a keyboard shortcut

A VS Code fork with the agent inside. Hobby needs no card; Pro is $20, and Cursor’s own pricing docs put daily agent users at $60–$100 a month of total usage. It has belonged to SpaceX since 14 August 2026, and its pricing page now lists Grok access next to Claude and GPT.

  1. Install and open the folder

    Download from cursor.com, sign in with Google or GitHub, then File → Open Folder → vibe-demo.

  2. Open the agent and switch it to Plan mode

    Ctrl+I (Cmd+I on macOS) opens the agent. In the agent input, Shift+Tab switches to Plan mode — same idea as plan mode in Claude Code. It writes a plan, not files.

    Plan promptCursor · agent input, Plan mode (Shift+Tab)
    Plan a single-page tenge/USD converter with a hardcoded rate,
    plain HTML/CSS/JS, no build step, one file.
    
    Ask me questions first if anything is ambiguous.
    Do not write code yet.

    Edit the plan before you approve it. Changing three lines of plan is cheaper than reviewing three hundred lines of diff.

  3. Approve, then review the diff file by file

    Cursor shows each changed file with Accept and Reject. Reject once on purpose so you know where the button is. Then open index.html in your browser yourself.

  4. Make it write the instructions file, then commit

    Ask: “create an AGENTS.md with how to run this project and the code style we just used”. Then git add -A && git commit -m "first agent build". You reuse that file below.

  5. Optional: the same agent in your terminal

    Cursor ships a CLI whose binary is agent. Install with curl https://cursor.com/install -fsS | bash (macOS, Linux, WSL) or irm 'https://cursor.com/install?win32=true' | iex in PowerShell, then run agent "explain this repo".

Codex CLI: the plan step is something you ask for

OpenAI’s agent across terminal, IDE extension and cloud on one account. The CLI is Apache-2.0, 125.7k stars on 21 September 2026. Codex is included in ChatGPT Free as a small allowance, in Go at $8 and in Plus at $20 — where the limits are published as ranges per five hours that move with the model, not as one number.

  1. Install it

    bash
    # macOS / Linux
    npm install -g @openai/codex
    # or
    curl -fsSL https://chatgpt.com/codex/install.sh | sh
    PowerShell
    powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"

    The package is @openai/codex, not codex. Copy that line, do not type it from memory.

  2. Sign in, then look at the dials before you prompt

    Run cd vibe-demo && codex and choose “Sign in with ChatGPT”. Three slash commands, in this order: /status shows model, sandbox and approval setting; /model picks model and reasoning effort; /permissions decides how much runs without asking you. On Windows a secondary guide reports the sandbox as experimental — prefer WSL, and keep approvals on.

  3. Let it write AGENTS.md, then cut it down

    /init writes an AGENTS.md. Open it immediately and delete everything obvious or untrue. The section below explains why shorter wins.

  4. Build the same converter

    Build promptCodex CLI · after /init
    Build the tenge/USD converter described in AGENTS.md:
    one HTML file, hardcoded rate, no build step.
    
    Show me the plan first and wait for my yes.
    Then make the edits one at a time.

    Approve each edit and command as it appears. Open the page yourself — do not accept “it works” from a summary.

  5. Make it review its own diff, then scale it

    /review puts Codex on your uncommitted changes as a reviewer. Fix what it finds, commit. Then meet the three commands that matter later: codex exec "add a EUR option" runs non-interactively, codex resume reopens an old session, codex cloud hands the task to a machine that is not yours.

Gemini CLI is not the free option any more

Most tutorials still get this wrong. On 19 May 2026 the maintainers announced that from 18 June, “Gemini CLI will stop serving requests for Google AI Pro and Ultra” — and for people using it free of charge. Consumers were moved to Antigravity CLI. That post drew 301 thumbs-down against 6 thumbs-up. It was the second cut: an update posted 18 March 2026 had already put Gemini Pro models behind paid subscriptions.

It is still Apache-2.0 and still installs with npm install -g @google/gemini-cli. It is still the right tool if your university or employer has Gemini Code Assist Standard or Enterprise, or you hold a paid key: run gemini, pick API key or Vertex auth, keep context in GEMINI.md. Whether an unpaid AI Studio key still works is contradictory between Google’s own pages, so test it the day before you need it.

The free terminal agent that took its place

Antigravity CLI is the replacement and its binary is agy. The Individual plan is $0 with weekly rate limits, and it serves non-Google models too: the pricing page lists Gemini 3.8, 3.7 and 3.6 Flash, Gemini 3.1 Pro, Claude Sonnet and Opus 4.6, and gpt-oss-120b. Kazakhstan is on the supported list. Two hard limits: personal Google accounts only, and nobody under 18.

  1. Install and launch

    PowerShell
    irm https://antigravity.google/cli/install.ps1 | iex
    bash
    curl -fsSL https://antigravity.google/cli/install.sh | bash
    cd vibe-demo
    agy

    The binary lands in ~/.local/bin/agy, or C:\Users\<username>\AppData\Local\agy\bin on Windows. Open a new terminal so the path is picked up.

  2. Get through the first-run wizard

    Colour scheme, rendering mode, trust this workspace, then Google sign-in. On university Wi-Fi the localhost callback sometimes fails; agy can print an authorization URL instead.

  3. Look at your quota before you spend it

    /usage shows what is left per model this week. Do this first on any metered tool: knowing your budget beats discovering it.

  4. Make it interrogate you, then build

    /grill-me makes the agent ask clarifying questions before it writes anything — the closest thing on this page to a free requirements review.

    Grill promptAntigravity CLI · agy
    /grill-me Build a single-page tenge/USD converter with a hardcoded rate,
    plain HTML/CSS/JS, no build step, one file.
    
    Ask me every question you need before you write any code.

    Answer honestly, let it build, then open the file in your browser yourself.

  5. Feel the autonomy dial, then commit

    /goal <task> runs to completion with no approval stops. Try it on one tiny follow-up, then ask yourself where that setting stops being safe. agy reads AGENTS.md from the working directory; Antigravity-only rules go in .agents/rules/.

The same task, five tools, five kinds of friction

Tool Where the plan step lives What you approve What $0 gets you
Claude Code Shift+Tab into plan mode the plan, then edits by permission mode no $0 route here; this course assumes Claude Pro
Cursor Shift+Tab in the agent input Accept/Reject per file diff, in a GUI Hobby, limited agent requests, no card
Codex CLI you ask for it in the prompt; /permissions sets the rest each edit and command as it appears a small allowance inside ChatGPT Free
Gemini CLI the same terminal flow as before only on an enterprise licence or a paid key nothing for consumers since 18 Jun 2026
Antigravity agy /grill-me to be questioned; /goal to remove the stops step by step, unless you chose /goal Individual plan, weekly limits, 18+ only

The shape of the review is the real difference. A GUI diff is easy to skim and easy to fake-read; a terminal agent shows one edit at a time, slower and harder to ignore. Neither is better. Know which one you are more likely to lie to yourself in.

Go deeperMoney and cards from Kazakhstan

Kazakhstan is on Anthropic’s, OpenAI’s and Antigravity’s supported lists, so the main tools need no VPN. Kazakhstani Visa and Mastercard cards are reported to work; the usual failures are foreign payments switched off in the bank app, a 3-D Secure failure, or a billing country that does not match the card.

Three accounts cost nothing and need no card: GitHub with an Education application in (Copilot Student, 200 AI credits a month), a personal Google account (Antigravity, Jules), a ChatGPT free account (Codex). If you can spend $20 a month, spend it on one plan, not three.

One instructions file that all of them read

AGENTS.md at the repo root is the shared standard: plain Markdown, no required fields, nested copies allowed with the nearest file winning. It is stewarded by the Agentic AI Foundation under the Linux Foundation and used by more than 60,000 open-source projects.

File Who reads it The detail that catches people
AGENTS.md Codex, Cursor, Copilot, Jules, opencode, Devin, Aider, agy, and Claude Code since 18 Sep 2026 nested files merge nearest-first, so a package-level file wins
CLAUDE.md Claude Code; also VS Code Copilot, where chat.useClaudeMdFile is on by default Claude reads AGENTS.md only when no CLAUDE.md exists
.cursor/rules/*.mdc Cursor only frontmatter description, globs, alwaysApply — for glob-scoped rules, not shared facts
.github/copilot-instructions.md Copilot chat, review and agents VS Code merges every instruction file it finds, in no guaranteed order
.agents/rules/ Antigravity IDE, desktop and agy agy also still reads GEMINI.md

The recipe is short. Shared facts go in AGENTS.md: exact build, test and lint commands, the style, the do-not-touch areas, the commit convention. For Claude Code, either delete CLAUDE.md or make it two lines — @AGENTS.md plus a heading for Claude-specific notes. Anthropic’s docs recommend that import over a symlink when anyone on the team is on Windows, because symlinks need admin or Developer Mode and git may check the link out as plain text. Then stop: copy the same text into .github/copilot-instructions.md too and VS Code merges both, so you pay for those tokens twice.

60k+open-source repos with an AGENTS.mdagents.md, Sep 2026 ↗
301 vs 6thumbs-down vs up on the Gemini CLI transition postGitHub, 21 Sep 2026 ↗
+20%inference cost a context file adds, for no general gainETH Zurich / LogicStar, Jun 2026 ↗

Keep it short and non-obvious. Researchers at ETH Zurich and LogicStar.ai found context files did not generally improve task success rates while adding over 20% to inference cost — repository overviews least of all, though written instructions were followed well. Vercel’s counter-example points the same way: an 8 KB compressed docs index in AGENTS.md took their Next.js evals from 53% to 100%. Facts the model cannot guess earn their tokens. A generated tour of your folders does not.

Write the file that earns its tokensAny agent · in your repo, after the first build
Write an AGENTS.md for this repo. Hard limit: 30 lines.

Include ONLY what you could not guess by reading the code:
- the exact commands to install, run, test and lint
- anything that breaks if done the obvious way
- files or folders you must not edit
- our commit message convention

Do not describe the folder structure.
Do not summarise what the code does.
If you are unsure about a command, ask me instead of guessing.
Quick check

Your repo has an AGENTS.md at the root, shared with your team. You add a CLAUDE.local.md with two personal notes. What happens in your next Claude Code session?

Keep the habit, drop the tool

Habits that survive the next rename0/7 done
Take it with you · templateOne AGENTS.md, every tool

The 30-line instructions file plus the two-line CLAUDE.md import — so switching agents costs you ten minutes, not a weekend.

You are done when

The same converter opens in your browser twice, built by two different tools from one AGENTS.md, and you can say which tool you are keeping and why.