Skip to content

Forge IDE — User Flows & E2E Audit Map

Canonical map of every user-facing flow in Forge IDE. Docs + E2E spec + audit baseline.

Purpose: This page is the canonical map of every user-facing flow in Forge IDE. It serves three goals:

  1. Documentation — every path a user can take, with steps, branches, and expected outcomes.
  2. E2E test spec — each flow block is written as a repeatable test case an agent or human can execute.
  3. Audit baseline — an AI agent can use this page to walk every flow on production (forge-cloud.cmmd.ai) and report pass/fail status.

Last updated: 2026-05-14 | Coverage audit: see Coverage Status section.

To run an audit, instruct the agent:

“Walk every flow in the Forge IDE User Flows & E2E Audit Map on forge-cloud.cmmd.ai. For each flow, follow the steps exactly, check the expected outcome, and report PASS / FAIL / BLOCKED with one-line notes.”

Each flow block contains: Entry (where/how to start), Pre-conditions (state required), Steps (numbered actions), Expected outcome, Edge cases (errors and branches).

URL PatternViewNotes
/Pulse DashboardHome; shows live agent count + recent activity
/loginLoginAuth gate; auto-redirects when unauthenticated
/onboardingCloud vs. Local choiceDesktop (Electron) only
/pairCode pairingSession pairing flow
/newNew thread landingComposer with project/model/mode chips
/cmmd-centerCMMD CenterTask hub for the connected CMMD workspace
/$envId/$threadIdActive chat threadPrimary working surface
/draft/$draftIdDraft threadLocal unsaved thread
/project/$envId/$projectIdProject workspaceProject home + link-to-CMMD sheet
/settingsSettings shell
/settings/generalGeneral settings
/settings/providersModel provider config
/settings/connectionsAPI connectionsDesktop only
/settings/cmmd-syncCMMD sync preferences
/settings/browserBrowser automation
/settings/archivedArchived threads
/settings/agent-workflowAgent orchestration
/settings/agent-contextAgent context config
  1. Onboarding & Authentication
  2. Project Management
  3. Thread Lifecycle
  4. Agent Interaction
  5. Browser Preview
  6. Diff & Code Review
  7. Git Operations (via NLP)
  8. CMMD Integration
  9. Settings Configuration
  10. Terminal

Flow 1.1 — Desktop Onboarding: Cloud vs. Local

Section titled “Flow 1.1 — Desktop Onboarding: Cloud vs. Local”
FieldValue
EntryLaunch Electron app for the first time
Pre-conditionsFresh install; no ~/.forge config
E2E statusNot covered

Steps: App opens to /onboarding. Two options: Use Forge Cloud | Run Locally.

Cloud branch: Connecting → OAuth → reload → land on /. Local branch: Direct to /.

Edge cases: OAuth denied/timeout/network failure — toast + fallback.

Flow 1.2 — CMMD Login (Web / Expired Session)

Section titled “Flow 1.2 — CMMD Login (Web / Expired Session)”
FieldValue
EntryNavigate to any protected route while unauthenticated
E2E statusPartial (PairingRouteSurface component test only)

Steps: Redirect to /login. Click “Sign in with CMMD”. Poll token endpoint. On success → /.

Edge cases: authorization_pending, slow_down, access_denied, expired_token, session expires mid-session.

Command Palette → “Add project” → Blank Project. Project appears in sidebar; opens /project/$envId/$projectId.

Command Palette → “Add project” → CMMD Project → select from list. Sidebar shows new project with CMMD sync badge.

Known Bug (2026-05-14): Re-importing an already-imported project collapses sidebar layout. Reload recovers.

Command Palette → “Add project” → GitHub repository → enter owner/repo or URL. Project added to sidebar.

Command Palette → “Add project” → Git URL → paste full remote URL. Project cloned.

Sidebar “New thread” button or /new. Configure: Project / Worktree / Branch / Provider / Model / Interaction mode. Type prompt → Send.

Flow 3.2 — Start CMMD-Task-Anchored Thread

Section titled “Flow 3.2 — Start CMMD-Task-Anchored Thread”

CMMD Center → select task → “Start thread”. Thread carries task anchor; context strip at bottom of thread.

Flow 3.3 — Resume Thread from Pulse Dashboard

Section titled “Flow 3.3 — Resume Thread from Pulse Dashboard”

/ → “Recent continuations” → click thread card.

Flow 4.1 — Submit Message and Receive Response

Section titled “Flow 4.1 — Submit Message and Receive Response”

Type message in composer → Enter. Message → user turn → agent response streams. Tool use blocks (file reads, shell commands) appear inline.

ComposerPendingApprovalPanel appears. Counter “1/N” if multiple. Approve or Reject.

Flow 4.3 — Answer Agent Multi-Question Input

Section titled “Flow 4.3 — Answer Agent Multi-Question Input”

ComposerPendingUserInputCard. Single-select auto-advances 200ms. Multi-select uses Next button. Keyboard 1–9 selects.

Flow 4.4 — Plan Mode: Propose, Review, Approve

Section titled “Flow 4.4 — Plan Mode: Propose, Review, Approve”

Toggle “Plan” in composer footer. PlanSidebar opens. Approve & Implement → step-by-step execution; status updates live (⭕ → 🔵 → ✅).

Flow 5.1 — Open Browser Session and Navigate to URL

Section titled “Flow 5.1 — Open Browser Session and Navigate to URL”

Click “Browser” tab → state: no-session → click URL bar → enter URL → states: connectingcapture-pendingrunning (screenshot in canvas).

Edge cases: runtime-unavailable, failed (page load error), idle (no page).

“Annotate” button → draw box/arrow → comment → “Send annotation”. Composes browser comment prompt with screenshot.

Flow 6.1 — Review File Changes in Diff Panel

Section titled “Flow 6.1 — Review File Changes in Diff Panel”

DiffPanel auto-opens. Files grouped by status: added (green) / modified (yellow) / deleted (red). Per file: unified diff with context. Navigate via scroll + chevron buttons. Approve hunks → agent continues.

Git flows have no dedicated slash commands. All are driven by natural language to the agent.

“commit these changes with message ‘[message]’” → agent stages + git commit → hash in response.

Flow 7.2 — Push Branch and Create Pull Request

Section titled “Flow 7.2 — Push Branch and Create Pull Request”

“push this branch and create a PR” → git push -u origin <branch> + gh pr create → PR URL in thread.

Flow 8.1 — View and Edit CMMD Task Details

Section titled “Flow 8.1 — View and Edit CMMD Task Details”

Task panel: Title, Description, Status, Priority, Assignee, Due date, Labels. Inline editor on click. Tabs: Details | Threads | Comments | Attachments.

TaskDetailPanel → “Comments” tab → textarea → Post.

Section titled “Flow 8.3 — Link Existing Project to CMMD”

/project/$envId/$projectId → “Link to CMMD” button → LinkToCmmdSheet → select CMMD project.

UX gap: post-import linking path is unclear in current build.

Settings → Providers. Per provider: model selector, binary path or API key, enable/disable.

Flow 9.2 — Configure CMMD Sync Preferences

Section titled “Flow 9.2 — Configure CMMD Sync Preferences”

Settings → CMMD Sync. Auto-create tasks + Push local project dropdowns: Ask each time / Always / Never.

ThreadTerminalDrawer auto-opens. xterm renders previous session history + live stdout/stderr. Scroll, select text, Cmd+Click paths → external IDE, resize drawer.

CategoryFlowsUnit/ComponentTrue E2E
Onboarding & Auth2PartialNone
Project Management4NoneNone
Thread Lifecycle3NoneNone
Agent Interaction4NoneNone
Browser Preview2NoneNone
Diff & Code Review1NoneNone
Git Operations2NoneNone
CMMD Integration3PartialNone
Settings2PartialNone
Terminal1PartialNone
Total244 partial0
  1. Auth flow — login, session expiry, re-auth
  2. Project import — CMMD project, GitHub clone
  3. Thread start → agent response (full round-trip)
  4. Approval gate — command/file-change approval path
  5. Browser preview — URL entry through screenshot
  6. Diff review + accept
  7. Git commit + PR (NLP round-trip)
#SeverityFlowDescription
1Blocker2.2 Import CMMD ProjectRe-import collapses sidebar. Reload recovers.
2Warning2.3 Clone GitHub”16 requests slow” toast persists 5+ min
3Warning3.1 New Thread~10s WS disconnect after clone
4UX5.1 Browser PreviewURL bar not visually discoverable
5Info8.3 Link to CMMDNo post-import linking UI