Add a sign-up page. Plan it, build it, test it, and get it reviewed.
I’ll have it planned first, then built and tested side by side, then reviewed.
PlannerPlan the page1m 04s
Plan’s in: name, email and password, checked as you type, and you’re signed in when it’s done.
DeveloperBuild the form4m 12s
TesterWrite the tests3m 38s
ReviewerReview the code1m 51s
Done. The sign-up page is at /signup, the new tests pass, and Reviewer found nothing to change.
9 files changed +214−31
Ask for changes…
Team4 agentsTimelineGraph
PlannerOpus 5
DeveloperGPT-5.6
TesterSonnet 5
ReviewerSonnet 5
Plan the pageDone1m 04s
Build the formDone4m 12s
Write the testsDone3m 38s
Review the codeDone1m 51s
Out of tokens halfway through?
Switch the same chat to another account, or to Codex or Cursor, and keep going right where
you stopped.
storefrontAdd a sign-up page9%
Add a sign-up page with name, email and password.
I’ll build the form first, then write the tests.
Edited SignUp.tsx+64
You’ve hit your limit · resets 4pm
Carry on.
Claude Code is carrying on as sam@acme.com
Wrote SignUp.test.tsx+58
Ran the tests6 passed
Done. The sign-up page is at /signup and all six tests pass.
Ask for changes…
Opus 5
HTML is the new markdown.
In Codiz, a plan arrives as a page you can take in at a glance, not a wall of text you
have to wade through.
storefront Add a sign-up page
Where do new visitors make an account?
They can’t yet. There’s only a sign-in page, and “Get started” in the header opens it too.
Add a sign-up page. Plan it first.
ReadApp.tsx
ReadSignIn.tsx
ReadHeader.tsx
The plan’s ready: name, email and password, each checked as they type, and they land signed in. Have a look before I build it.
Plan ready Open
Ask for changes…
Planplan.html
# Plan: Add a sign-up page
## Summary
Add a new sign-up page at /signup so that new visitors can create an account in one step. The form asks for a name, an email and a password, checks each field as the person types, shows a message under any field that fails, and when everything passes it creates the account, signs the person in and takes them to their dashboard.
## Flow
1. Visitor opens /signup and fills in the form (name, email, password).
2. Each field is checked as they type, and again when they press the button.
- If a field fails -> show why under that field, keep what they typed, don't send.
- If every field passes -> send the form.
3. Check the email isn't already used.
- If it is -> show "That email already has an account" under Email.
- If not -> create the account.
4. Sign them in and go to /dashboard.
## Checks
| Field | Rule | Message |
|----------|-----------------------------|-------------------------------------|
| Name | Not empty | "Tell us your name" |
| Email | A real address, not used | "That email already has an account" |
| Password | 8 characters or more | "Use at least 8 characters" |
## Screen
- Title: "Create your account"
- Three fields stacked, label above each: Name, Email, Password
- Under each field a hint that turns red when the check fails and shows a green tick when it passes
- Main button: "Create account" (greyed out while sending)
- Under the button: "Already have an account? Sign in" -> /login
- Same centred card as the sign-in page
## Changes
- New page SignUp.tsx with the form and the checks
- New /signup address in App.tsx
- "Get started" in the header now opens /signup
- Tests for each check and for landing on the dashboard
Add a sign-up page
New visitors sign up in one step and land signed in.
How it works
The new page
storefront.com/signup
Create your account
NameAda Lovelace
Email ada@example.com
Password••••••Use at least 8 characters
Create account
Already have an account? Sign in
What gets checked
Field
Rule
If it fails
Name
Not empty
“Tell us your name”
Email
A real address, not used yet
“That email already has an account”
Password
8 characters or more
“Use at least 8 characters”
Commits and PRs, one click away.
Your agents’ work reaches your team without a trip to the terminal.
storefront Add a sign-up page
Add a sign-up page: name, email and password.
Done. The sign-up page is at /signup, it checks each field as you type, and the new tests pass.
Commit and open a pull requestintomain
Opened Add a sign-up page as pull request #24 into main: nine files in one commit.
Got what you needed? Mark as Done Commit Push →origin/sign-upPull from →origin/main
Press / to type Opus 5
storefront#24
Add a sign-up page
YYou·into main·just now
OverviewCommits 1Files 9
Adds a sign-up page at /signup: name, email and password, each checked as you type.
You’re signed in as soon as the account is made. Tests cover the form and the errors.
Pull requests, handled.
A teammate asked for your review? Let AI review it for you. Comments or a failing check
on yours? Fix them in one click.
storefront#218
Add a password reset link
SSam Ortiz·into main·1h ago
OverviewActivity 2Commits 3Files 4
S
Sam Ortiz commented 1h ago
Adds a “Forgot password?” link that emails you a reset link.
A
You reviewed just now
Works well. One catch: the reset link never expires, so an old email still works. Make it last an hour? Reviewed by Claude (Opus 5) in Codiz
Agents that check their own work.
With a browser built in, your agents open the page they just made, try it, and fix what
breaks while you watch.
storefront Add a sign-up page
Add a sign-up page: name, email and password.
The sign-up page is built. Let me try it in the browser.
Opened localhost:5173/signup
Typed Ada Lovelace
Typed ada@example.com
Typed ••••••••••
Clicked Create account
Read the page1 error
Pressing the button does nothing. The page hits an error before the form is sent.
Edited SignUp.tsx
Clicked Create account
Read the pageNo errors
Fixed. I signed up as Ada in the browser and landed on the dashboard.
Press / to type Opus 5
localhost:5173/dashboard
storefrontA
Welcome, Ada
Your account is ready.
Walk away. Hear when it’s done.
Every chat shows where it stands, and a sound lets you know when an agent finishes,
needs your answer, or hits an error.
Working
Waiting for your answer
Finished
Ended in an error
storefrontFix the flaky checkout test GPT-5.6
The checkout test fails about one run in ten. Find out why and fix it.
Read checkout.test.ts
Ran npm test1 failed
Found it. The test presses Pay before the cart has loaded, so on a slow run there is nothing to pay for yet.
Edited checkout.test.ts
Ran the test 50 times50 passed
Fixed. It now waits for the cart before paying, and it passed 50 runs in a row.
1 file changed +6−3
Ask for changes…
A full IDE, built right in.
Open any file, see what changed and run your tests without leaving your agents.
storefront Add a sign-up page
Chat App.tsxSignUp.tsxvalidate.ts
1import{useState}from'react'
2import{validate}from'../lib/validate'
3
4exportfunctionSignUp(){
5const[form,setForm]=useState({})
6consterrors=validate(form)
7
8return(
9<formonSubmit={submit}>
10<Fieldname="name"errors={errors}/>
11<Fieldname="email"errors={errors}/>
12<Field
13name="password"
14type="password"
15errors={errors}
16/>
17<button>Create account</button>
18</form>
19)
20}
validate.ts
1importtype{Form,Errors}from'./types'
2
3exportfunctionvalidate(form:Form):Errors{
4consterrors:Errors={}
5if(!form.name?.trim()){
6errors.name='Enter your name'
7}
8if(!EMAIL.test(form.email??'')){
9errors.email='Enter a valid email'
10}
11if((form.password??'').length<8){
12errors.password='Use 8 or more characters'
13}
14returnerrors
15}
16
17constEMAIL=/^[^@\s]+@[^@\s]+\.[^@\s]+$/
storefrontMain folderAdd a sign-up pageWorktree Test
sign-up $ npm test
✓ src/pages/SignUp.test.tsx (6 tests) 41ms
Test Files1 passed(1)
Tests6 passed(6)
sign-up $
Put your agents to work.
Sign in to each agent from inside the app. There are no API keys to paste.