Tutorial
The complete Bystep tutorial, every mode, step by step
From creating an account to an app that is proven to work. Pick your path: Bystep builds it, you build it with the CLI, or your own computer builds it with the AI subscription you already pay for. Founders and developers working together can follow the Team Build chapter.
Build it for me
Business owners, creators, teachers. Nothing to install.
- Bystep does the steps
- You approve each stage
- Try it on your phone, then Publish
On your own, with the CLI
Developers who already have a coding agent and a project folder.
- One task per request
- Evidence first, only then done
- CLI or MCP, your choice
My computer
You pay for Claude Pro/Max or ChatGPT and want to use it.
- Your computer does the work
- Bystep step credits stay untouched
- Bystep still holds the plan and the evidence
On this page
- Pick the path that fits
- The basics worth five minutes
- From an idea to a plan you can work through
- Dissect a website: from a reference site to a plan of your own
- Build it for me
- On your own, with the CLI
- Build on your own computer (bystep serve)
- Team Build: build together with 2–10 people
- Agent teams: several steps at once
- Gates, the Reviewer, command approvals, and how to step back
- Use Bystep through MCP
- Design Room, sharing, and the client portal
- Publish, maintain, and keep an eye on it
- Quota, plans and payment
- Common problems and what to do
- Quick reference
01 Step 0
Pick the path that fits
Bystep has one plan and several ways to work through it. Part 1 (the plan) is the same for everyone; after that you choose who types the code.
| If you… | Start with |
|---|---|
| do not write code and just want the app | Path A — Build it for me |
| are a developer using Claude Code / Cursor / Codex | Path B — On your own, with the CLI |
| already pay for Claude or ChatGPT and want to use it | Path C — My computer |
| are 2–10 founders and developers using your own AI tools | Team Build — build together |
| want several steps done at once | Agent teams (needs Path B or C first) |
| want to shape the idea with a team or a client | Design Room |
| have a reference site (a competitor, an inspiration or your old site) to dissect first | Dissect a website, then any path |
The same plan can be built by Bystep today and continued on your own computer tomorrow. Only "who does the work" moves; the plan, the evidence and the approvals stay where they are.
02 Before you start
The basics worth five minutes
Account, two interfaces, quota, and the vocabulary. This saves a lot of confusion later.
Create an account
Open bystep.dev, press Get started free, then Continue with Google. The same button creates the account — there is no separate password form.
A new account goes through three short screens: your name, where you heard about Bystep, and "What describes you best?". The last answer decides your interface.
Choose your interface: developer or simple mode
Developer mode (default) Simple mode How to get it default pick "I am not a programmer" during onboarding, or Settings → Turn on simple mode Clarifying questions up to 3 rounds (3–6 per round), written for your idea 1 round of 3 PRD body 10 sections 5 sections, plain language Tech choices yes skipped (standard stack) Tabs in a project Wiki · Tasks · Cost · Team · Studio Plan · Build · Publish · Help Wording PRD, task, phase Plan, Step, Stage You can switch modes any time in Settings; existing plans stay.
Know the free allowance
- Free: 1 PRD per month and 5 Bystep Agent messages per month.
- Steps that Bystep runs for you have their own monthly allowance, depending on the plan.
- A failed step never costs an allowance.
- Using a template does not spend PRD quota.
One place for the numbersCurrent prices and limits always live on the Pricing page. If a number there differs from what you remember, the Pricing page is right.
Learn the vocabulary
Simple mode Developer mode What it means Plan PRD the source of truth for the project Step Task one piece of work with acceptance criteria, checked by machines or human review as specified Stage Phase a group of steps ending in an approval gate Evidence Evidence the result of running the acceptance criteria — not an AI opinion AI key API key your own API key, never an account login My computer bystep serve your computer runs the agent Reviewer Reviewer agent a read-only agent that reports Critical/Major/Minor findings
03 Part 1 — for everyone
From an idea to a plan you can work through
Every path starts here. The output: a PRD, a feature map, and a task list where every task carries acceptance criteria.
Start a new plan
From the home screen press Plan, then choose From an idea. (Already have code? Choose From a codebase — Bystep will first ask your agent to scan the repository. Want to start from an existing site? Choose Dissect a website — see Part 1b.)
Write your idea
Two or three sentences: who it is for, what the problem is, what the result should be. At least 20 characters. Enter submits, Shift+Enter adds a line.
Under the idea box you can pick the document language (Indonesian/English) and — in developer mode — the AI model.
Do not want to start from nothing?The Templates page holds real plans with at least 5 verified tasks, and using one does not spend PRD quota. The Playbooks page holds ready recipes for small shops, tutoring centres, notaries, cooperatives, clinics and foundations.
Decide the tech (developer mode)
Either Let AI choose, or Pick my own for frontend, backend, database and deployment. Simple mode skips this step and uses the standard stack.
Answer the clarifying questions
Bystep interviews you in rounds. It first reads your idea and reference documents and lists what it already found (those facts are never asked), then asks only the decisions it cannot make for you: 3 to 6 questions per round, each with a short title, why it matters, and a recommended answer you can accept with one click. Your answers unlock the next round, up to three rounds in developer mode; simple mode asks a single round of 3 plain questions.
Every card has a Skip button and an Other chip for adding your own option. Use all recommendations fills the open questions of the round; Copy as questionnaire gives you a Markdown file to hand to whoever holds the answers; Start the questions over discards the interview. Ask the next round needs the current round answered or skipped; Enough, write the plan is always available once everything is answered or skipped. When Bystep has nothing left to ask it shows the shared understanding it will write the PRD from.
Read the PRD draft
Bystep writes the PRD and then stops on the review page: the document on the left, the Bystep Agent on the right. A developer-mode PRD has 10 sections — Overview, Requirements, Core Features, User Flow, Architecture, Database Schema, Tech Stack, Goals & Success Metrics, Risks, and Milestones. Simple mode has 5.
Rewriting the PRD costs quotaRewrite PRD discards the revisions made in chat and spends one plan credit. For small edits use Edit, or ask in the chat.
Revise through the Bystep Agent
Ask in plain words, for example "add teacher attendance" or "drop payments for now". The agent rewrites the PRD and then offers a proposal to align the features.
Proposals are grouped Added / Updated / Removed, and you press Apply or Reject. Nothing is overwritten silently.
Build features & tasks
Press Build features & tasks. Bystep maps features to sub-features, then writes specs and tasks. In developer mode every feature is broken into 8–20 tasks.
Tasks are layered on purpose: frontend tasks are built on mock data first, and backend tasks (schema → API → realtime) follow. You can click through the UI before a single line of backend exists.
Get to know your workspace
View What it is for Roadmap feature map per phase; Map or Timeline, exportable as PNG/SVG/Mermaid Tasks a four-column board: Queued · In progress · Done · Failed Wiki codebase documentation from sync, plus the drift scan Cost tokens, duration and cost per task; exportable as CSV Readiness the project readiness score and the evidence report Open a task to see its acceptance criteria, evidence, comments, the files it owns, and a ready-to-paste prompt.
A task cannot be marked done without passing evidence. Forced attempts are refused by the server with evidence_required. The only other route is an override, which always requires a reason and is recorded in the report.
04 Part 1b — start from an existing site
Dissect a website: from a reference site to a plan of your own
Have a site you admire, a competitor, or your own old site? Paste its address. Bystep reads its public pages, writes an evidence-backed dissection, then interviews you to decide your own version — not a copy.
Open Dissect a website
From the home screen choose the Dissect a website card, or press Plan and choose Dissect a website. Both open /plan?flow=website.
Fill in the form
Website address: a bare domain is enough (for example plane.so) or a full address. Public sites over http/https on standard ports only; IP addresses, localhost and internal networks are refused.
What do you want to build? (optional, up to 2,000 characters): the direction of your version, for example "a version for Indonesian small businesses, paid with QRIS, simpler than the original". The note shapes the idea draft and the interview.
Your relation to this site Meaning Inspiration a site you admire Competitor you want to do better than it Your own site rebuilt or modernised — the interview asks what must stay the same for existing users Client site a project for your client Pick the output language (and the AI model in developer mode), tick the usage statement, then press Dissect now. The statement is required: the dissection is for analysis and inspiration only, without imitating another site's brand, logo, text, images or distinctive look.
Wait for the dissection (usually 1–4 minutes)
The first step shows the stage in progress and a live log:
- Reading the site's robots.txt rules. If the site forbids automated tools, Bystep stops.
- Opening the page you entered, then picking up to 12 important pages (pricing, features, product, how it works, integrations, FAQ…) from the navigation, sitemap and llms.txt.
- Reading the pages one at a time, with a pause between them, as BystepBot.
- Taking screenshots of up to 4 pages in an isolated browser; pages that need JavaScript are read there too.
- The AI reads everything and writes the dissection.
You can leaveThe work continues and the result is saved in the plan. Open it again any time from your plan history.
Read the dissection
The result is grouped: Product (who it is for, the problem it solves, value propositions, business model), Features, User flows, Pricing, Data model (inferred), Detected technology, Design, Main navigation, Screenshots, Opportunities for your version, Cautions, Not visible from outside, Draft idea for your version, and What the interview will ask.
Feature label Meaning observed quoted from a page that was read; the quote is checked to really be on that page inferred the AI's conclusion that is not directly visible, such as screens behind the login or the data model Copy report copies the whole result as Markdown. Once the dissection is done, the draft idea for your version becomes the plan's idea, and the temporary title "Dissect <domain>" is replaced with a new one.
Continue to the interview
Press Continue to the interview. In developer mode the next step is the tech choice; above it you see the technology the reference site uses, for information only — you do not have to use the same. The questions step shows a Reference website card; View dissection opens the report again.
The interview treats the dissection as facts: what the site does is never asked again. Round 1 usually covers Version-one features (picked from the reference's features), who your version is for, the main difference, monetisation compared with the reference's pricing, and the platform. Simple mode stays one round of 3 questions; the third offers the reference's features in everyday words.
PRD and build as usual
The PRD is written from your answers, not from the reference's feature list. Section 1 gets a Reference product subsection: which site served as a functional reference (not an affiliation and not a copy), what this product keeps, what it does differently, and what it deliberately leaves out. Features you dropped go to Non-goals. The PRD never uses the reference's brand name and carries no images or links from that site.
After you read the PRD, Build features & tasks runs as usual, then you build through any path (A, B, C or Team Build). The Bystep Agent on the PRD review page also reads a summary of the dissection.
If the dissection fails
What happens Why Do this Refused before it starts an IP address, localhost, an internal network, a port other than 80/443; a bank, e-wallet or payment site; a military domain; a sign-in, checkout or payment page enter the home page of a public site robots.txt forbids it the site owner closed that page to automated tools; a robots.txt that errors counts as forbidding everything Change URL, or Continue without dissection Content-Signal: ai-input=no the site owner forbids using its content as AI input Continue without dissection and describe your own idea Behind a sign-in or bot protection the page needs a login, or a bot check/captcha appears — Bystep does not bypass it enter the site's home or marketing page Site unavailable, too slow, server restarted, AI failed a temporary problem Try again Government site (.go.id) read in light mode: 3 pages, longer pauses, no screenshots the result is still usable On failure, Change URL and Continue without dissection (write your own idea, at least 20 characters, then go to the normal interview) are always there; Try again appears when the cause is temporary.
Free: 3 dissections per 24 hours, paid plans 12, admins unlimited. Only dissections that reach the AI step count (with an extra brake on very frequent attempts). At most 2 dissections run at once per account. Writing the PRD still uses the PRD allowance as usual.
- Public pages without a login only: screens inside their app (dashboard, settings) are not visible and show up as "inferred" or as interview questions.
- At most 12 pages and 4 screenshots per dissection; sites that rely heavily on JavaScript may be read only partly.
- A dissection is inspiration, not a copy: do not imitate another site's brand, logo, text, images or distinctive look.
- Screenshots and the page text that was read are deleted after 7 days; the dissection summary stays in the plan.
- Sites that refuse through robots.txt or Content-Signal, bank and payment sites, and sign-in and checkout pages cannot be dissected.
05 Path A
Build it for me
Bystep runs the steps on Bystep computers. You read, try, and approve. Nothing to install.
Turn on simple mode
During onboarding pick "I am not a programmer", or switch it on any time in Settings → Turn on simple mode. Every screen then uses everyday language.
Describe the idea and read the plan
Follow Part 1 above. In simple mode the plan is short (around 15 steps at most) and the first stage is always called "A first version you can use".
On the "Your plan is ready" screen, choose Build it for me
Three doors appear: Build it for me, Guided, and On your own. Take the first.
Opening graduallyThe automatic path is opening gradually for early users. If it is not available for your account yet, the button reads Join the waiting list and we email you. Everything else in this tutorial still works.
Press Build it for me on the Build page
The Build page shows "Step n of m" and a sentence about what is being worked on. You do not need to sit and watch — close the tab, we will tell you.
The Build with card lets you choose who pays: Bystep step credits, your own AI key, or My computer (Path C).
Try it on your phone
After each stage, Open the app gives you a trial version you can open on a phone. If it fits, press Continue. If something is wrong, say it plainly: "this part is wrong, it should …".
When it gets stuck
Bystep tries to fix itself up to twice, then stops and explains in plain language. Your options: retry this step, go back to the previous version, skip the step, or Ask for a review by a human from the Help page.
Failed steps cost nothingThe allowance is spent only on steps that actually finish.
Publish
The Publish page runs a security check and then gives you a link anyone can open. After that you get Update the live app, Version history (restore a version), Download a copy (ZIP), and instructions for adding it to a phone home screen.
- The result is a web app you can install on a phone home screen (PWA), not an App Store / Play app.
- Custom domains are not available yet; addresses live under bystep.dev.
- Your Claude/ChatGPT subscription cannot run on Bystep servers. It can run on your own computer — see Path C.
- The automatic path is still opening gradually; without access you can join the waiting list.
06 Path B
On your own, with the CLI
Your own coding agent does the work. Bystep hands out one task at a time and refuses to close it until the evidence passes.
Prerequisites: you are inside a Git project folder, you have network access, and Node.js 18 or newer.
Install the CLI
Install CLI 0.7.0 from this versioned download, then use the bystep command. The package on npm can lag behind the Bystep download:
npm install -g https://bystep.dev/downloads/bystep-cli-0.7.0.tgz bystep --versionWant the command list without guessing? The CLI publishes a machine manifest:
bystep --llms bystep task --llmsLog in, bind the folder, install the skill
Replace <workspaceId> and <planId> with the workspace and project IDs you will work on. Both are saved so subsequent task commands use the correct project.
bystep login bystep connect --workspace <workspaceId> --plan <planId> bystep initlogin uses a device flow: a code appears in the terminal and you confirm it in the browser (valid 10 minutes). You can also pass a token directly: login --token bs_… from Settings → API keys.
connect writes .bystep/config.json with ids only — safe to commit. init installs the Bystep skill, the guard hook and the subagents into the agents it detects (Claude Code, Cursor, Codex, OpenCode, AGENTS.md).
Check the setup
bystep doctor bystep doctor --repodoctor checks Node, the API address, the token and the repository binding. doctor --repo scores this checkout for agent readiness, offline.
Run the loop
bystep task next --plan <planId> --json bystep task start <ref> # … the agent works on this one task … bystep task verify <ref> bystep task complete <ref>The server picks the next task — the agent never sees the whole backlog. task next returns a Task Packet: description, acceptance criteria, the files the task owns, files it must not touch, conventions, verify commands, and the project decisions.
task complete runs verify first and refuses while the evidence has not passed. Failed twice? Report it honestly:
bystep task fail <ref> "<reason>"Choose when it stops
The default is Autopilot. Change it from the task board (Execution) or from the terminal:
bystep plan exec --plan <planId> --mode checkpoint --verifier local bystep plan exec --plan <planId> --mode strictMode Stops when Autopilot (default) never waits for approval; stops when finished, failed, or after three red verifications Checkpoint every time a phase + layer group is complete Strict after every single task Approve a stage gate
While a gate is waiting, task next exits with code 3 and hands out no task. Approving is a human decision — an agent must never press it on your behalf.
bystep task approve <phase> --layer frontend bystep task approve <phase> --layer backendName the layerCheckpoint gates are stored per phase AND layer. Without --layer the CLI sends "all", which matches no gate, so nothing appears to happen. Use --layer frontend or --layer backend; the hint line in the CLI output already names the right layer.
Want to send part of the work back with a note?
bystep task approve <phase> --layer frontend --return <ref>:"<reason>"Strict mode is approved per task, and that is only possible from the web page or the hosted MCP — not from the CLI.
Send a codebase summary (optional, useful)
bystep sync --plan <planId> bystep statussync scans the repository, respects .gitignore, refuses .env and secrets, and uploads only paths, sizes, hashes and languages. Your agent writes a short summary per file locally; only the summaries are uploaded. From those Bystep builds the Wiki — and the Wiki unlocks the next plan in that workspace.
Already have a spec elsewhere?
bystep import ./spec --from speckit --workspace <workspaceId>Import supports Spec Kit, OpenSpec, backlog.md and Task Master.
| Exit code | Meaning |
|---|---|
| 0 | ok |
| 1 | runtime/API error, or verification failed |
| 2 | bad input (missing ids, wrong usage) |
| 3 | a stage gate is waiting for human approval |
Do one task; never touch files outside ownedFiles; obey doNotTouch, the conventions and the project rules block in the packet; complete only after verify is green; after two failures call fail with a reason instead of forcing an override.
- There is no Verify button on the web. Evidence only arrives from the CLI or an agent.
- The GitHub Actions verifier can be selected through the CLI/API, but the web interface still disables it and marks it as coming soon.
- Strict mode cannot be approved from the CLI or the stdio MCP.
- docs/cli.md in the repository is stale; use bystep --llms or /api/schema as the command reference.
07 Path C
Build on your own computer (bystep serve)
Your computer runs the agent with the subscription you already pay for. Bystep still picks the step, keeps the evidence and holds the buttons — but never touches your login.
Install Node.js and your agent
Install Node.js LTS from nodejs.org. Then install your agent and sign in yourself on that computer — Bystep never copies an agent login.
npm install -g @anthropic-ai/claude-code claudenpm install -g @openai/codex codexCheck the computer is ready
bystep serve --doctor bystep login bystep serveserve --doctor answers in plain language: the Node version, git, which agents were found and their versions, where their credentials appear to come from, the protocol version, how many parallel steps this computer accepts, and the free disk space.
Credential source is a guessThe "subscription" or "API key" note is inferred from the files and variables present on the computer. It is not proof of account identity.
Or connect with a pairing code (no login)
On the My computer page (bystep.dev/serve), signed in, press Show pairing code. You get an 8-character code, a QR code and the command. On the target computer:
bystep serve --pair <8-char-code>The code works once and for 10 minutes only. The computer receives a key of its own, valid 90 days and renewed automatically when less than 7 days remain. A wrong, expired or already-used code gives the same message — just show a new one.
Point the project at that computer
In Bystep open the Build page → the Build with card → My computer, then pick the machine. From now on Build it for me sends steps to that computer, and Bystep step credits stay untouched.
Leave the serve window open. "Try it on your phone" keeps working as long as the computer is on and connected.
Tune it to taste
bystep serve --parallel 2 bystep serve --runs-per-hour 6 bystep serve --name "MacBook kantor"Option What it does --parallel <n> cap the team sessions this computer runs at once (1–8). Without it the computer follows the team, up to 4. --runs-per-hour <n> an opt-in brake: at most n runs per hour. Off by default. --once build one step, then exit. --dir <path> the project folder to use (default: ~/.bystep/projects/<workspace>). --no-listen turn the local listener off; agents then report only through their output. --yolo let the agent run any command without asking — only on a machine you trust. Keep it running in the background
bystep service install bystep service status bystep service uninstallservice install runs serve as a service that restarts itself (systemd on Linux, launchd on macOS, Task Scheduler on Windows). Log in or pair first — the token is never copied into the service unit.
Update the CLI
bystep update bystep update --apply bystep update --apply --channel previewupdate on its own only checks. --apply downloads, verifies size and sha256, then installs. Restart serve or its service afterwards.
Which agents you can use
Agent On your computer In the cloud Claude Code yes yes Codex CLI yes yes (your own API key required) Cursor Agent yes no Gemini CLI yes no opencode yes no Your own script (custom) yes no GitHub Copilot CLI listed, not enabled yet no An agent only works if the program is installed and signed in on your computer. The always-current list lives at /api/agents (sign-in required).
Want to use your own script? Put an executable file in .bystep/agents/, then select it when you start an agent team:
# .bystep/agents/mine.sh (Windows: mine.ps1) #!/usr/bin/env bash echo "$BYSTEP_PROMPT" | my-own-agent --run # select that script when you start an agent team: bystep workflow start --plan <planId> --agent custom:mineBystep fills in BYSTEP_PROMPT (or BYSTEP_PROMPT_FILE), BYSTEP_RUN_ID, BYSTEP_TASK_REF, BYSTEP_API_URL and a BYSTEP_TOKEN scoped to that step. The result is read from JSON on stdout or from .bystep/out/<runId>.md.
- A Claude/ChatGPT subscription login must never be uploaded to Bystep. Secrets that look like a subscription token are refused; use an API key from the provider console, or run the agent on your own computer.
- Background services and key storage on macOS and Windows are not yet verified on real machines; Linux is.
- The update manifest is not signed; what is checked is size and sha256 over HTTPS.
- Bystep Desktop exists for Linux x64 only and is unsigned; execution on Windows is disabled. The web app remains the main product.
- The npm packages can lag behind the downloads on bystep.dev — check with --version.
08 With your developers
Team Build: build together with 2–10 people
The founder sets goals and priorities; every task has a human owner. Developers can use their own AI tools and logins while Bystep holds assignments, context, evidence, reviews and recorded releases.
This chapter covers collaboration between people. The Agent teams chapter covers several agents running under Bystep management. You can choose a suitable tool for each task, but a Team Build claim does not launch an agent automatically.
In a two-person team, a developer can implement a task and the founder can review it if qualified to assess the criteria. When the founder implements a task, assign someone else to review. AI can assist, while responsibility stays with the human account.
Invite the team and choose a project
Open the workspace → Team / Team build. The owner opens Team settings to invite developers. Members must accept the invitation using their own accounts before working. Select a project at the top; draft projects can also be used.
An invitation gives collaboration access according to the member role. Access to the owner’s computer, secrets, payment account and deployment requires separate configuration.
Turn a PRD, brief or codebase into agreed scope
Starting point What to do in Project scope You have a PRD Paste text or import Markdown/plain text, then preview the requirements. You do not have a PRD Choose a brief and describe the goal and initial needs. Review assumptions before approving tasks. You have a codebase Connect the repository with the CLI and run bystep sync --plan <planId>. Choose codebase to inspect the file baseline, commit and scope. You are adding a feature to an existing project Choose an additional plan; decide whether each requirement uses an existing task, needs an additional task or should be excluded. The owner reviews source and extraction coverage, edits requirements, chooses relevant verification commands and applies the approved selection. Previewing does not run commands. A file appearing in a manifest does not prove the feature works; check what is observed, verified and unknown.
For PDFs or other formats, use extracted text and inspect its coverage. Changing scope or criteria after work starts can invalidate older context, evidence or approvals; tell the developer to fetch fresh context.
Assign the task owner and reviewers
On a task card, press Assign. Choose the person responsible, a technical reviewer and a product reviewer when needed. Select Technical or Technical and product according to the team decision, and explain the assignment. A reviewer must be someone other than the task owner.
Assignment records who is responsible. A claim records who is working on it now. Start with clearly bounded tasks; coordinate changes to shared files through branches, PRs and handoffs.
Claim a task, then give context to your own AI
On each developer computer, use Node.js 22 or newer and run commands from the project repository. Replace <workspaceId>, <planId> and <ref> with the actual workspace ID, project ID and task reference. Supply both IDs when connecting a new repository:
npm install -g https://bystep.dev/downloads/bystep-cli-0.7.0.tgz bystep --versionbystep login bystep connect --workspace <workspaceId> --plan <planId> bystep team tasks --minebystep team claim <ref> --agent codex bystep team context <ref>Replace codex with your tool name, or manual for work without AI. After the claim succeeds, fetch context and give it to your chosen tool. Start the AI yourself with your personal login. The agent name on a claim records the tool; Bystep does not copy AI logins or subscriptions. If using a daily budget or shared resources, use the resources.json claim example in the budget step below.
One active claim per taskClaims last 15 minutes by default. Extend the lease while working, before it expires. Do not start editing a task still claimed by someone else. Add .bystep/team-claims/ to .gitignore; each developer keeps their own claim state. Use the same repository when switching between CLI and MCP.
Verify the revision, refresh context, then report
Finish the changes at a known Git revision, run the agreed checks and ensure evidence refers to that same commit. Fetch context again after verification records the latest revision. If sources, rules, decisions or scope changed, review the impact and update the work before reporting:
bystep team heartbeat <ref> bystep task verify <ref> bystep team context <ref>Create report.json. Replace every <…> value in this example: acceptanceHash from the latest context, the full commit SHA, a truthful summary of the work and checks, and the verification evidence ID. Do not submit placeholders or claim tests passed before running them.
{ "status": "ready_for_review", "acceptanceHash": "<current-acceptance-hash>", "commitHash": "<full-commit-sha>", "summary": "<summary-of-work-and-checks>", "evidenceIds": ["<verification-evidence-id>"] }bystep team report <ref> --file report.jsonUse blocked or failed with an explanation when the result is not ready. Tasks whose criteria are all manual can be submitted to an independent human reviewer; they do not receive an automatically verified test label. Code criteria still require matching passing evidence.
If a report is rejectedCheck the claim lease, assignment, context and revision. Older session results are rejected after a claim is relinquished, replaced, expired or revoked. To retry an identical request, retain the idempotencyKey returned by the CLI and reuse it with --key; a different payload needs a new key.
Get an independent review of that result
The reviewer opens My reviews and checks the criteria, code changes, test results and evidence. Accept the result or request changes with a note. When the policy requires technical and product reviews, both must be satisfied.
A review is bound to the criteria, commit and PR revisions assessed. Later changes require evidence and review matching the latest version. AI can assist a reviewer, but a decision through CLI or MCP still uses the identity of the human giving the instruction.
State What it means Verified Machine checks passed for the relevant criteria and revision. Accepted The review policy is satisfied for the current result. Override The owner recorded an exception; it remains distinct from an accepted or verified result. Released The owner recorded a deployment of the accepted result. Record a release after deployment is complete
After acceptance, deploy through the process agreed by your team and check the application. The owner then presses Record release on the task and enters the environment and deployment URL. The record binds the release to the accepted criteria and revision and appears in the history.
Recording a release does not deploy itRecord release does not send code to hosting or grant access to a deployment account. If merging produces a different SHA, update evidence and review for the merged revision before recording its release.
Hand over context when changing people or tools
Before leaving the work, write handoff.json with goal, completed, the current acceptanceHash, commitHash if available, and nextSteps (a list). Add toUserId, branch, evidenceIds, checks, risks or decisions when relevant. A handoff ends the claim and assigns the task to toUserId; omitting it leaves the task unassigned. The recipient must be an accepted member and cannot be a reviewer of that task.
bystep team handoff <ref> --file handoff.jsonAlternatively, to stop without a handoff, create reason.json with an explanation such as {"reason":"Stopping for today"}, then use this command instead of handing off:
bystep team relinquish <ref> --file reason.jsonStop the external editor or agent yourself. The recipient claims the task and fetches fresh context with their own account. A handoff does not transfer a native model conversation session or an AI login.
Track progress in Overview
Use My work for your own tasks, My reviews for your review queue, and the blocked filter for issues needing attention. Overview shows milestones, blockers, expired sessions, updates for your account and release history.
Set milestone tasks and a target date, then track accepted results and recorded releases. CSV export helps evaluate activity and review time. Unknown costs and missing data still need follow-up; task counts alone do not prove result quality.
Connect PRs and GitHub checks when needed
In Repositories & PRs, the owner saves a GitHub token with read access to metadata, PRs, checks and commit statuses for the relevant repositories. Register the repository and exact required check names, then Refresh from GitHub and link the PR to a task. One task can require several PRs from different repositories, each with its own SHA.
CI is trusted from authenticated snapshots for the exact revisions. A self-reported ci label does not establish trusted CI. Refresh and review again when a PR or merge changes. A signed webhook requires separate administrator configuration; registering a repository does not install it automatically. Manual refresh remains available.
Configure computers and budgets when sharing is needed
The simplest workflow uses each person’s own computer and AI. To use another member’s computer, register it through bystep serve; its owner grants a specific member, agent and expiry in AI & budgets. A claim with --file resources.json can specify the authorized executorId and executorOwnerId. A grant does not automatically start remote AI work.
The payer provides a separate grant and daily budget. At claim time, payerId and requestedBudgetMicros set the payer and session reservation; 1 USD = 1,000,000 micros. If a daily budget is enabled, declare a reservation before starting. Actual usage is reported separately.
bystep team claim <ref> --agent codex --file resources.json bystep team context <ref>MCP 0.5.0 does not expose grant or reservation parameters on team_claim. For this case, create the claim through the CLI with resources.json first, then continue with MCP in the same repository so it uses that local claim.
Unknown stays unknownUnreported subscription or personal costs are not counted as zero. Reservations remain held until the payer reconciles costs with a note. Bystep limits session reservations; AI usage outside the session follows the provider account. A revoked grant, offline computer or changed runtime can reject reports; revocation does not guarantee an external process has stopped.
Import GitLab issues while preserving local decisions
In Issue integrations, the owner saves a GitLab.com token with read_api permission, enters group/project and chooses whether task titles and descriptions follow GitLab or Bystep. Preview issues, select them, resolve conflicts between local and remote changes, then apply.
Import and refresh read issues from GitLab.com. Bystep execution and review status remain separate from issue status; task changes are not automatically written back to GitLab. Disabling a connection preserves created tasks. Linear, Jira and self-hosted GitLab are not available in this workflow.
- Wait for managed runners or agent teams in the workspace to finish or be reconciled before making a personal claim. Ongoing plan generation must also finish first.
- Claims protect coordination for one task; shared files, branches, merges and deployment still need team discipline.
- Fresh context must be read and applied. Fetching it alone does not prove an AI understood the changes or produced correct work.
- To work through AI without typing CLI commands, install MCP 0.5.0 using the MCP chapter. Follow team_tasks → team_claim → team_context → work → task_verify → team_context → team_report; renew with team_heartbeat. For budgets or shared resources, replace team_claim with a parameterized CLI claim as shown in the budget step.
09 Advanced mode
Agent teams: several steps at once
A single step is always done one at a time. An agent team works on several steps that do not touch each other, each part in its own folder.
Turn it on from the Build page
Open the Build with an agent team panel, switch on Work on several at once, then press Start agent team. The switch appears only when your plan allows more than one.
Advanced settings holds the number of parts at once plus the token, USD and minute limits. The cost estimate appears under the button before you press it.
Or drive it from the terminal
bystep workflow start --plan <planId> --parallel 2 --usd 5 --minutes 60 bystep workflow list --plan <planId> bystep workflow show <id> bystep workflow message <id> "<guidance for the team>" bystep workflow stop <id>Know the rules
- Each step works in its own folder; steps touching the same files take turns.
- One wave holds at most 4 steps whose owned files do not overlap. A task with no owned files counts as touching everything, so it runs alone.
- A step counts as finished when the combined evidence passes; the stage gate still waits for you.
- A message to the team is read on the next assignment — it never interrupts a running agent.
- Stopping completes only after every process is proven to have stopped.
On your own computer, --parallel caps how many parts that machine takes at once.
When parts collide on merge
The team stops, Bystep creates a "Merge conflict: <ref>" task and an Inbox item "Conflict — needs you". Fix tasks always go first. Conflicts are never resolved automatically.
A team stopped by a limit shows as "Stopped because of a limit …" in the Inbox and on the Cost page.
When it stops on a limit or the computer went away
The Inbox may offer Continue in the cloud or Continue on your computer, with a cost estimate. This is never automatic: you have to press and confirm.
In the workspace settings you choose between Ask first (default) and Never move.
- A request above your plan limit is refused with a clear message, never quietly trimmed.
- Buying extra concurrent agents is not sold yet.
- Cloud agent teams run only where the server enables them; otherwise use your own computer.
- Undoing a turn does not support team sessions on your own computer yet — use Restore version.
10 Quality control
Gates, the Reviewer, command approvals, and how to step back
All of this is optional and off by default. Switch on what you need from the task board, under Execution.
Stop mode and verifier
Setting Options Notes Mode Autopilot · Checkpoint · Strict default Autopilot; in Autopilot the checkpoint banner never appears Verifier Local · Bystep Reviewer · GitHub Actions default Local; GitHub Actions is still disabled in the interface Reviewer agent Off · Auto · Always default Off Gate Critical · Major a finding at or above the gate holds the result Command approvals Off · Risky · All default Off; own computer only The Bystep Reviewer verifier runs only after the local check passes, and it may downgrade a pass to a fail. When its allowance runs out the check is skipped and the local result stands.
The Reviewer (a read-only agent)
After the combined result passes, an extra agent reads the changes without editing any file and reports findings labelled Critical, Major or Minor. There is no "run the Reviewer" button — it runs by itself according to the setting.
A finding at gate level stops the team and appears in the Inbox. From the Reviewer findings panel you can press Fix all (which creates a Fix task per owning file), Re-check, or Review from scratch.
Three similar names, three different thingsThe Reviewer agent reports findings. The Bystep Reviewer verifier decides pass or fail for one step. Ask for a review is a paid human review on the Help page.
Command approvals
On Risky, clearly safe commands run on their own (git status, pnpm test, ls). Anything else waits for you to press Allow or Decline in the Inbox, and you can tick Remember for this project.
Claude Code onlyOnly Claude Code can ask per command. Codex, Gemini, Cursor, opencode and custom scripts stay inside their own sandbox and are recorded as approval_unsupported. The setting also applies on your own computer only, not in the cloud.
Decision cards
One question, two or three options with their consequences. Your choice becomes a project decision that every later agent reads, and a card can be answered only once.
Check the plan looks for contradictions inside the plan and spends 1 chat message from your allowance per click.
Decisions can also be recorded from the terminal:
bystep decision list bystep decision add "<decision>" --why "<reason>" bystep decision replace <id> "<new decision>"See what is happening
- Work trail: what the agent did, in plain language — messages, reading/editing/running, changed files, commands and their output.
- Technical log: a read-only terminal view. You cannot type commands to the agent from there.
- Why this status?: the effective state, the rule that decided it, and the last signals. Agents with no signal are marked clearly — silence does not mean working.
- The Turn lens on the task board regroups cards into AI working, Needs you, Ready and Done. Drag and drop is off in that lens.
When you need to step back
Undo this step returns files to the state before one agent turn. Files that changed again afterwards are not overwritten.
What is not undoneOnly files on disk are restored. Task status, evidence and saved versions do not change — verify again afterwards. The same computer and project folder must be running; files over 5 MB, symlinks and submodules cannot be restored; team sessions on your own computer are not supported yet.
When undo is not possible, use Restore version — it puts back an earlier version of the app without rebuilding it.
Inbox and notifications
The Inbox collects everything waiting for you: stage gates, command approvals, failed steps, merge conflicts, Reviewer findings and decision cards. Every row has Open and Why?.
Notifications separate "needs attention" from "finished", and can go to email, Telegram or Discord. Messages that could not be delivered are logged with the reason in the notification settings.
11 Integration
Use Bystep through MCP
If your agent speaks MCP, you can use Bystep without typing a single command.
stdio MCP in Claude Code or Cursor
Install MCP 0.5.0 from the versioned download. Install the CLI separately as in Path B, run bystep login and connect the repository first:
npm install -g https://bystep.dev/downloads/bystep-mcp-0.5.0.tgzAdd the bystep-mcp executable to your agent configuration. Set BYSTEP_REPO and BYSTEP_REPO_ROOT to the same absolute path to the connected repository; both are needed so context and verification use the same folder:
{ "mcpServers": { "bystep": { "command": "bystep-mcp", "env": { "BYSTEP_REPO": "/absolute/path/to/repo", "BYSTEP_REPO_ROOT": "/absolute/path/to/repo" } } } }From the connected repository directory, Claude Code also supports:
claude mcp add bystep -- bystep-mcpThe server reuses your local CLI login and reads the plan id from .bystep/config.json. Ensure bystep-mcp is on the application PATH, or use its absolute executable path. CLI and MCP for Team Build must point to the same repository; do not share .bystep/team-claims/ files.
stdio MCP in Codex
# ~/.codex/config.toml [mcp_servers.bystep] command = "bystep-mcp" [mcp_servers.bystep.env] BYSTEP_REPO = "/absolute/path/to/repo" BYSTEP_REPO_ROOT = "/absolute/path/to/repo"Hosted MCP for Claude.ai, ChatGPT or Cursor
Add a Streamable HTTP connector with a Bystep API key from Settings → API keys:
https://bystep.dev/api/mcp Authorization: Bearer bs_…The hosted server speaks plain language: list plans, plan status, run the next step, run status, a link to try it on a phone, approve a stage, and escalate when something is stuck.
Available tools
Group Tools Plans & steps (stdio) plan_get · plan_list · task_next · task_packet · task_start · task_verify · task_complete · task_fail · task_evidence_get · phase_approve · wave_next · sync_status Team Build (stdio) team_tasks · team_claim · team_context · team_heartbeat · team_assign · team_report · team_handoff · team_relinquish · team_review · team_release Agent teams (both) workflow_list · workflow_get · workflow_start · workflow_stop · workflow_resume · workflow_message Control (both) review_submit · approval_list · approval_answer · decision_card_list · decision_card_choose · decision_list · decision_add · rules_list · state_get Hosted only list_plans · plan_status · run_next · run_status · preview_url · approve_stage · escalate · task_packet Only on the user requestApproving a stage, answering a command approval, choosing a decision card, and starting or stopping an agent team must never be done by an agent on its own initiative.
12 With other people
Design Room, sharing, and the client portal
Before there is a plan, shape it together. After there is a plan, show the progress without handing over edit access.
Open a Design Room
From the home screen choose Start from a Design Room, then New room. Set the title, the session template, the room language, whether cards are anonymous, whether votes are hidden, and how many votes each person gets.
Invite the participants
Press Create link. Anyone with that link joins with just a name — no account. The link is valid for 30 days, and creating a new one invalidates the old.
Work through the six steps
Problem → Users → Assumptions → Ideas → Vote → Decide. Everyone adds cards (and may build on someone else card), then marks I am done with this step.
Ideas stay hidden until the session lead presses Reveal all ideas — which needs at least three ideas. They are then clustered automatically and the session moves to voting. Votes stay blind until voting is closed.
The AI facilitator panel can summarise, challenge, critique via personas, cluster ideas and draft hypotheses. The AI never votes.
Turn the result into a plan
On the last step the session lead presses Formulate & create plan. Bystep creates a plan complete with the wizard answers and the origin trail, starts the PRD, and closes the room. A session report is available as Markdown for every participant.
Share the plan as a read-only link
Share in the project header gives you a public link. Visitors see the PRD, the feature list per phase, a Proof of Done card (numbers only), and the phases you approved. Task titles and outputs are never included.
The link is created when the dialog opensA share link has no password, does not expire, and cannot be revoked yet. Do not share a plan whose content is confidential.
Invite a client to the portal
In the Team card enter an email, pick the Client role, press Invite and send the link. The invitation is bound to that email: the account accepting it must use the same address.
Clients see progress per phase, evidence statistics, estimate versus actual, and the approval timeline. The only button they can press is Approve phase, with an optional note. The Client role does not consume a team seat.
- Clients cannot comment and do not see decision cards.
- A fully live room mode (per-step timers, cursor indicators) does not exist yet; there are periodic updates instead.
- Participant certificates are not available yet.
13 After it works
Publish, maintain, and keep an eye on it
The plan is not the destination. This is what you use once steps start landing.
Publish the app
The Publish page runs a security check, then gives you a public link. After publishing you get Update the live app, Version history, Put it to sleep, Copy link, and Download a copy (ZIP).
Publishing needs a project that can actually run (it has a package.json).
Keep the documentation alive
Run a codebase sync regularly. Bystep builds the Wiki from the file summaries, and that Wiki is what unlocks the next plan in the same workspace.
The Wiki tab has Scan drift to compare the PRD against the code that actually exists; the result becomes a proposal you Apply or Reject. The drift scan is a Pro feature.
Watch cost and readiness
- Cost page: tokens, duration and cost per task; exportable as CSV.
- Project readiness page: the readiness score and a downloadable evidence report.
- Public agent readiness page: paste any public GitHub repository URL for a 0–100 score and eleven checks, no sign-in needed.
- Public benchmark page: real pass rates per agent and per criterion type, not an illustration.
Export anywhere
Start building offers: download the PRD (Markdown), download a ZIP, a Kiro spec, Spec Kit, OpenSpec, Backlog.md, Task Master, Claude Code Tasks, GitHub Issues, Linear, and a ready-to-paste prompt for an AI agent.
14 Plans
Quota, plans and payment
The numbers below were correct when this tutorial was written. The Pricing page is always the one that counts.
| Plan | Price | PRD/month | Agent messages/month |
|---|---|---|---|
| Free | Rp 0 | 1 | 5 |
| Starter | Rp 99,000 | 5 | 60 |
| Pro | Rp 249,000 | 15 | 120 |
| Builder | Rp 299,000 | 3 | 40 |
| Studio | Rp 699,000 | 40 | 350 |
Builder is aimed at the automatic path: 20 verified steps and 2 live apps per month. There are also Campus and Facilitator plans.
Buy or extend
Open Pricing, pick a plan, and complete the payment. Rupiah checkout runs on Pakasir (QRIS and virtual accounts from the major banks); USD checkout runs on Paddle with taxes included. Vouchers apply to rupiah checkout only.
Top up without changing plan
Top-up Contents Price PRD 5 credits Rp 39,000 Chat messages 100 messages Rp 89,000 Runner steps 10 steps Rp 99,000 Reviewer 25 reviews Rp 79,000 Top-up credits do not expire and are used once the monthly allowance of your plan runs out.
Use your own AI key
In Settings → My AI connections you can store an Anthropic, OpenAI, OpenRouter or custom API key. Test connection confirms that it works. Up to 10 connections, and usage is billed straight to your provider account, not to Bystep.
An API key, not an account loginValues that look like a subscription token are refused. If what you have is a Claude or ChatGPT subscription, use Path C and run it on your own computer.
- Studio is still a waiting list and is sold per workspace, not through this checkout.
- Campus is billed through the partnership form on the Campus page.
- Consulting takes no payment on the site; requests are answered by email.
- Extra concurrent agents are not sold yet.
15 When it stalls
Common problems and what to do
The messages you are most likely to meet, what they mean, and the next move.
| What you see | What it means | Do this |
|---|---|---|
| evidence_required when marking done | the task has no passing evidence | run task verify, or mark it done through an override with a reason |
| task next exits with code 3 | a stage gate is waiting for a human | approve it on the web, or task approve <phase> --layer frontend|backend |
| task approve ran but nothing happened | without --layer the CLI sends "all", which matches no gate | repeat it with --layer frontend or --layer backend |
| 402 while writing a PRD or chatting | the monthly allowance is spent | wait for next month, buy a top-up, or upgrade |
| Out of step credits | this month Runner steps are used up | buy a step top-up, or switch to My computer |
| The pairing code is refused | wrong, expired (10 minutes) or already used | show a new code on the My computer page |
| The computer shows offline while serve runs | pairing just finished, or the serve window was closed | leave serve running; check with serve --doctor |
| This looks like a subscription token | what was pasted is an account login, not an API key | use an API key from the provider console, or run it on your own computer |
| Your plan allows n concurrent agents | the team request exceeds the plan limit | lower the number; requests are never quietly trimmed |
| The team stopped with Reviewer findings | a finding at gate level | press Fix all, or Re-check after fixing |
| Conflict — needs you | two parts of the team changed the same file | work the Merge conflict task that was created |
| Wiki not ready yet | the second plan is locked until a wiki exists | run a codebase sync first |
| Issue import asked too often | one request per 5 minutes per workspace | wait a moment and retry |
| Daily dissection limit reached | your plan's 24-hour website dissection allowance is used up | wait, or choose From an idea and describe your own idea |
| Website dissection stopped at robots.txt or Content-Signal | the site owner refuses automated tools or AI input | Change URL, or Continue without dissection (see Part 1b) |
The Help page inside a project offers a paid human review with a 24-hour turnaround. For general questions use the Support page.
16 Reference
Quick reference
Every command there is, grouped. The always-current source: bystep --llms and bystep.dev/api/schema.
| Group | Commands |
|---|---|
| Account & folder | login · connect · init · doctor · status · whoami · workspace list |
| Plans | plan list · plan get · plan exec · import <path> --from speckit|openspec|backlog|taskmaster |
| Steps | task next · task list · task start · task verify · task complete · task fail · task packet · task guard · task approve · wave next |
| Code | sync |
| Team Build | team tasks · team claim · team context · team heartbeat · team assign · team report · team handoff · team relinquish · team review · team release |
| Agent teams | workflow list · workflow start · workflow show · workflow stop · workflow resume · workflow message |
| Decisions | decision list · decision add · decision replace |
| Own computer | serve (--doctor, --pair, --parallel, --runs-per-hour, --listen/--no-listen, --once, --dir, --yolo, --no-keychain) · service install|status|uninstall · update |
| Inside a Bystep step | report · review submit · hooks <adapter> <event> (installed automatically) |
When you are the agent inside a Bystep step, report your state and submit findings like this:
bystep report --state blocked --message "<what is blocking>"
bystep review submit --body '{"verdict":"…","comments":[]}'To take one wave of at most four non-overlapping tasks:
bystep wave next --plan <planId> --json| Page | What is on it |
|---|---|
| /mulai | the three doors, briefly explained |
| /plan?flow=website | Dissect a website: reference site → dissection → interview → PRD |
| /bot | about BystepBot: user agents, the rules it follows, how to refuse it |
| /otomatis | the path for non-programmers |
| /tutorial#team-build | founder and developer collaboration with individual AI tools |
| /serve | connect a computer, pairing code, QR |
| /docs | how Bystep works, plus the hosted MCP section |
| /integrations | import/export formats and the MCP connector |
| /readiness | score a public GitHub repository |
| /benchmark | public pass rates |
| /templates and /playbooks | finished plans and business recipes |
| /kebijakan-penyedia | each AI vendor policy per way of running |
| /pricing | the prices and limits that apply |
| /api/schema | the machine schema: every command, MCP tool and the Task Packet |
Ready to try?
The first plan is free, no card needed. Start from your idea, or take a template that already worked.