Skip to content

improvement(docs): builder-first IA reorganization of the English docs#4896

Merged
waleedlatif1 merged 115 commits into
simstudioai:stagingfrom
ouiliame:feat/docs-reorg
Jun 11, 2026
Merged

improvement(docs): builder-first IA reorganization of the English docs#4896
waleedlatif1 merged 115 commits into
simstudioai:stagingfrom
ouiliame:feat/docs-reorg

Conversation

@ouiliame

@ouiliame ouiliame commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

What this does

Rebuilds the English docs around the product's real ontology — everything is a block; some blocks are triggers; an integration is one block with Actions and optionally a Trigger — with a rewritten core reference, executor-verified semantics, live app-styled visuals, a reworked docs generator, and URLs that mirror the sidebar. 109 commits, kept current with staging throughout (8 merges absorbed, including the Sim trigger, Enrichment/Logs blocks, and every integration added along the way).

1. IA — sections own their pages, URLs match

/workflows/{overview, how-it-runs, data-flow, connections, variables}
/workflows/deployment/* · /workflows/triggers/{start,schedule,webhook,rss,table,sim} · /workflows/blocks/{agent…workflow}
/agents/{overview, choosing, custom-tools, mcp, skills}
/tables · /files · /knowledgebase · /logs-debugging · /mothership (+ mailer)
/platform/{workspaces, organization, permissions, credentials, costs, self-hosting/*, enterprise/*}
/integrations/<service>   ← one page per service (was /tools/* + /triggers/<service>)

Every previously-live URL 308-redirects to its new home (/tools/*, /blocks/*, /triggers/* incl. native-vs-service disambiguation, /mcp, /skills, /costs, /credentials, /permissions/*, /mailer, /self-hosting/*, /enterprise/*, /deployment/*, /capabilities/*, /execution/*, /connections/*, /variables/*, /copilot) — chains verified single-hop.

2. Hand-rewritten reference, verified against code

  • 16 core block pages + 6 native trigger pages rewritten against the real schemas; every distinct example is a live WorkflowPreview (~40 hand-authored workflows). FAQs and Best Practices kept.
  • Execution semantics audited against the executor — several old claims were wrong and are fixed: failure behavior (an unhandled error stops the run; only a connected error port continues it), join semantics (waits only for feeders that will run), reference resolution order + unmatched-tag behavior, run time limits (5 min free / 50 min paid sync, 90 min async — from execution-limits).
  • Variables vs connection tags untangled ("one syntax, named sources"; variable is a literal prefix); workflow-as-tool corrected to agent-decided (workflow_executor).

3. Live visuals (theme-aware, no screenshot rot for block chrome)

  • BlockPreview heroes, WorkflowPreview canvases with Loop/Parallel containers, per-branch condition/router handles matching the app's real handle ids (condition-<id>, router-<routeId>), tool chips, click-to-inspect lightbox with a read-only block inspector, and a run-inspector OutputBundle — all driven by --wp-* tokens mirroring the app's light/dark globals.
  • ~20 current-UI screenshots placed (tables workflow-columns, logs, integrations/skills flows, error paths); the remaining capture list lives in apps/docs/.plans/visuals-manifest.md, priority-ordered by platform usage data.

4. Generator (scripts/generate-docs.ts)

  • Emits per-service integrations/<service>.mdx (Actions + Triggers on one page; provider→page mappings like jsm→Jira Service Management; native resources table/knowledge/memory/enrichment/logs included; the native Sim trigger excluded).
  • Manual-content preservation hardened through three bug classes — cleanup/writer share one canonical filter, hand-written pages are guarded, anchor-less manual sections append instead of dropping. Double regeneration is provably idempotent. Pipeline documented in scripts/README.md.
  • The agent skills (add-integration, add-block, validate-integration) now teach the new layout, so integration PRs mint /integrations/ docsLinks the moment this merges — which also ends the recurring fork-PR conflicts (staging's old generator writing into the deleted tools/).

5. Accuracy & data-driven content

  • Stale-content sweep: model rosters → current defaults, wrong tokens shapes fixed, Settings-era flows updated to the sidebar UI (Integrations, Skills + new import flow), retired Vision block, HubSpot Marketplace setup guide added.
  • Platform-metrics read (sim-internals) drove targeted additions, each with an inline {/* why */} provenance comment: run-timeout docs (the Workflow Zoom #1 provable error class), a first-green-run callout on getting-started (92%→49% funnel cliff), error-port guidance guarded (<1% adoption).

Verification

  • Production build passes; fumadocs-mdx clean; full-tree link sweep: 0 broken internal links; all preview usages validated against specs/exports; generator double-run → zero diff.
  • Information-loss audit (4-agent, full diff): zero substantive facts/limits/procedures lost — every deletion is relocated (verified), covered elsewhere, or a listed deliberate cut (stale facts, re-teach padding, prose catalogs, UI hand-holding).

Known follow-ups (tracked, not blockers)

  • Decision: in-editor Copilot still exists in the app but its docs page was removed in favor of Mothership (/copilot redirects there). Confirm direction or add a page post-merge.
  • Screenshot/video re-capture pass (.plans/visuals-manifest.md, usage-prioritized; getting-started videos first) + remaining {/* VISUAL */} slots.
  • Port the IA to de/es/fr/ja/zh; Academy tab; @sim/workflow-preview shared-renderer package (RFC on feat/docs-workflow-preview).

🤖 Generated with Claude Code

Restructure the English docs from internal product categories into a
topic-based information architecture, and rewrite the conceptual pages
to install a mental model first rather than enumerate features.

Structure & navigation
- Reorder the sidebar to follow how someone builds: Get Started ->
  Workflows -> Tables -> Files -> Knowledge Bases -> Logs ->
  Building agents -> Mothership -> Workspaces -> Platform -> Reference.
- Demote the generated blocks/tools/triggers catalogs to a Reference
  section at the bottom.
- Break up the monolithic execution/ folder into deployment/ and
  logs-debugging/; collapse connections/* and variables/* into single
  pages under workflows/.
- Rename capabilities/ to building-agents/; relabel the integration
  catalog as "Integrations". Remove deprecated copilot and form
  deployment. Redirects added in next.config.ts for every moved URL.

Conceptual rewrites
- Workflows core (index, how-it-runs, data-flow, connections,
  variables): one mental model, one running example, terser prose.
- New building-agents overview distinguishes an agent (a workflow you
  build) from an Agent block (one reasoning step), plus a "choosing
  what to use" guide.
- Concept-trim passes on Knowledge Base, Tables, Blocks, Triggers
  overviews; new task pages for KB, Tables, and Files.
- New code-verified Alerts page.

Infrastructure
- pageType frontmatter (concept/guide/reference) + badge render.
- WorkflowPreview / OutputBundle components to embed real, app-styled
  workflow diagrams (adds framer-motion + reactflow to apps/docs).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 6, 2026

Copy link
Copy Markdown

@ouiliame is attempting to deploy a commit to the Sim Team on Vercel.

A member of the Team first needs to authorize it.

@cursor

cursor Bot commented Jun 6, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Large, public-facing documentation and URL migration—broken redirects or stale generator output would affect discoverability, but runtime product code paths are largely unchanged.

Overview
Reorganizes English docs around builder-first IA: workflows, agents, platform, and one page per service at /integrations/<service> (replacing split /tools + /triggers paths), with legacy URLs 308-redirected and agent skills updated so new blocks use docsLink: …/integrations/{service}.

Adds a workflow-preview stack in the docs app—WorkflowPreview (React Flow canvases with loop/parallel containers, branch handles, lightbox + read-only inspector), BlockPreview heroes, OutputBundle, and --wp-* theme tokens aligned to the product UI—plus dozens of hand-authored example workflows wired into rewritten agent/concept pages.

Docs UX: front matter pageType drives a new PageTypeBadge; page templates drop the default DocsDescription subtitle. Generator (generate-docs.ts) emits merged Actions+Triggers integration MDX with hardened manual-content preservation; old per-block pages under content/docs/en/blocks/ are removed in favor of the new tree (content relocated per the PR audit).

Content updates: new guides (agents/choosing, custom-tools, expanded overview), trimmed MCP/skills copy (Skills UI on Integrations tab, import flows), and .gitignore for .plans/.

Reviewed by Cursor Bugbot for commit 649b01c. Bugbot is set up for automated code reviews on this repo. Configure here.

Comment thread apps/docs/components/workflow-preview/workflow-preview.tsx
@ouiliame ouiliame marked this pull request as draft June 6, 2026 01:24
@greptile-apps

greptile-apps Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR reorganizes the English docs from a product-category IA into a builder-first topic structure, rewrites key conceptual pages, and introduces two new infrastructure pieces: a pageType Diátaxis badge and a WorkflowPreview/OutputBundle component system that embeds live ReactFlow diagrams in MDX. All moved URLs have permanent redirects in next.config.ts.

  • Sidebar restructured: Get Started → Workflows → Tables → Files → Knowledge Bases → Logs → Building agents → Mothership → Workspaces → Platform → Reference. Generated catalogs (blocks/tools/triggers) demoted to a Reference section.
  • WorkflowPreview and OutputBundle React components added, backed by ReactFlow 11 + Framer Motion 12; four static example workflows defined in examples.ts with unique IDs, keyed on the ReactFlowProvider to force remount on highlight changes.
  • pageType frontmatter field added via a Zod schema extension in source.config.ts, rendered as a small Diátaxis-mode badge in page.tsx; DocsDescription intentionally removed from the page template in favour of first-paragraph prose in each MDX body.

Confidence Score: 5/5

Docs-only change with no runtime logic outside of two new React components and redirect rules; all redirects verified against deleted files, all sidebar page references verified to exist on disk.

The WorkflowPreview/OutputBundle components are client-only and isolated to the docs app. The ReactFlowProvider key correctly includes workflow.id plus the two highlight props, so state resets whenever the diagram content changes. The pageType schema extension is backward-compatible (field is optional). Redirect coverage is complete for every removed path. No application code outside apps/docs is touched.

No files require special attention. The two-hop redirect chains in next.config.ts (capabilities/agents and execution/form) were already flagged in a previous review thread.

Important Files Changed

Filename Overview
apps/docs/next.config.ts 32 permanent redirects added for moved/removed URLs; two redirect chains (capabilities/agents and execution/form) incur two round-trips but this was already flagged in a previous thread
apps/docs/components/workflow-preview/workflow-preview.tsx New ReactFlow-based read-only workflow diagram component; ReactFlowProvider keyed on workflow.id+highlight props to force remount on changes; nodes state correctly resets because of the key, but animate prop is not part of the key
apps/docs/components/page-type-badge.tsx New Diátaxis badge component; uses satisfies Record to enforce exhaustive CONFIG coverage at compile time; runtime null guard is harmless
apps/docs/app/[lang]/[[...slug]]/page.tsx Adds PageTypeBadge before DocsTitle; removes DocsDescription from visual rendering while keeping it in SEO metadata (StructuredData, generateMetadata); change is intentional for pages rewritten in this PR
apps/docs/source.config.ts Extends frontmatter schema with optional pageType enum via Zod; backward-compatible since field is optional
apps/docs/content/docs/en/meta.json Root sidebar restructured; all referenced files verified to exist on disk; individual knowledgebase/mothership pages listed flat rather than as folder groups, consistent with their respective meta.jsons
apps/docs/package.json Adds reactflow ^11.11.4 and framer-motion ^12.5.0 to docs app dependencies

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    subgraph WorkflowPreview["WorkflowPreview (client)"]
        WP["WorkflowPreview\n(wrapper, key = workflow.id + highlights)"]
        RFP["ReactFlowProvider\n(remounts on key change)"]
        PF["PreviewFlow\n(useState nodes/edges)"]
        PBS["PreviewBlockNode\n(framer-motion m.div)"]
        PE["PreviewEdge\n(m.path or path)"]
    end

    subgraph Data["Static data (examples.ts)"]
        CW["CLASSIFY_WORKFLOW"]
        CRW["CLASSIFY_REPLY_WORKFLOW"]
        SKW["SUPPORT_KB_WORKFLOW"]
        TEW["TABLE_ENRICH_WORKFLOW"]
    end

    subgraph Transform["workflow-data.ts"]
        TRF["toReactFlowElements()"]
    end

    subgraph Badge["pageType badge"]
        SC["source.config.ts\n(Zod schema extension)"]
        LS["lib/source.ts\n(DocsPageType type)"]
        PTB["PageTypeBadge component"]
    end

    MDX["MDX page\n(server component)"] -->|imports| WP
    MDX -->|frontmatter pageType| SC
    SC --> LS
    LS --> PTB
    PTB --> PageTsx["page.tsx"]

    Data --> WP
    WP --> RFP
    RFP --> PF
    PF -->|useMemo| TRF
    TRF -->|nodes| PBS
    TRF -->|edges| PE
Loading

Reviews (2): Last reviewed commit: "docs: reorganize into topic/ontology IA ..." | Re-trigger Greptile

Comment thread apps/docs/next.config.ts Outdated
Comment on lines +36 to +52
{ source: '/capabilities/agents', destination: '/building-agents/agents', permanent: true },
{
source: '/capabilities/choosing',
destination: '/building-agents/choosing',
permanent: true,
},
// execution/* was broken up; redirect old URLs to their new homes
{ source: '/execution', destination: '/workflows', permanent: true },
{ source: '/execution/index', destination: '/workflows', permanent: true },
{ source: '/execution/basics', destination: '/workflows/how-it-runs', permanent: true },
{ source: '/execution/files', destination: '/files/passing-files', permanent: true },
{ source: '/execution/logging', destination: '/logs-debugging/logging', permanent: true },
{ source: '/execution/costs', destination: '/costs', permanent: true },
{ source: '/execution/api', destination: '/api-reference/getting-started', permanent: true },
{ source: '/execution/api-deployment', destination: '/deployment/api', permanent: true },
{ source: '/execution/chat', destination: '/deployment/chat', permanent: true },
{ source: '/execution/form', destination: '/deployment/form', permanent: true },

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Two-hop redirect chains on deprecated URLs

Two redirect chains are introduced here. /capabilities/agents first hits the /building-agents/agents rule (line 23) before bouncing again to /building-agents, and /execution/form first hits /deployment/form (line 25) before going to /deployment. With permanent: true (308), browsers eventually cache both hops, but the first visit still pays two round trips and search-engine crawlers must follow two hops to update index URLs. Both chains can be collapsed to a single hop by pointing the old source directly at the final destination.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

@waleedlatif1 waleedlatif1 marked this pull request as ready for review June 6, 2026 01:28
@vercel

vercel Bot commented Jun 6, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview, Comment Jun 11, 2026 1:39am

Request Review

ouiliame and others added 2 commits June 8, 2026 15:04
Replace the static screenshot hero on each block reference page with a
<BlockPreview> that renders the block exactly as the builder canvas shows
it — header icon, sub-block rows, and branch/error handles — from a
hand-authored display spec. Static and non-interactive (no ReactFlow), so
it can't be panned or dragged, and self-updating to edit.

- block-display-specs.ts: one editable spec per block (rows, branches, handles)
- block-preview.tsx: static scaled card renderer with decorative handles
- block-icons.tsx: brand glyphs for the core block types; icons.tsx adds WaitIcon
- 14 block + 3 trigger pages swapped from <Image> to <BlockPreview>

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Audited the docs against the product changelog (GitHub releases / staging
git history) for content that misleads readers — features that moved, were
renamed, or removed — rather than cosmetic drift. Fixes:

- Skills: no longer a Settings tab. It was promoted to its own workspace
  page (simstudioai#4354), so "Settings → Skills under the Tools section" sent readers
  to a tab that no longer exists. (skills/index.mdx)
- Env vars: the workspace tab is "Secrets", not "Environment Variables"
  (credentials→secrets rename, simstudioai#4364). (quick-reference/index.mdx)
- Mothership FAQ pointed to "Settings → Credentials" for integration
  connections; integrations moved to their own page and there is no
  Credentials tab. (mothership/tasks.mdx)
- Vision block was retired (simstudioai#4684); a tip still named it. Reworded to
  "an Agent using a vision-capable model". (files/passing-files.mdx)
- Getting-started FAQ told new users to "use the Copilot feature" to build
  in natural language — that surface is Mothership. (getting-started)
- Removed the dead "Mod+Y → Go to templates" shortcut; the templates
  gallery was removed (simstudioai#4354). (keyboard-shortcuts)

Note: MCP "tools" (Settings → Tools, for consuming) and MCP "servers"
(Settings → System, for exposing) are distinct surfaces — both doc
references are correct and were intentionally left as-is.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Comment thread apps/docs/components/workflow-preview/workflow-data.ts Outdated
ouiliame and others added 15 commits June 8, 2026 17:26
The enterprise overview linked to /docs/enterprise/* (access-control, sso,
whitelabeling, audit-logs, data-retention, data-drains), but the docs site
is served at root — those 6 links 404'd. Now root-relative /enterprise/*.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The /workflows diagram blocks are hand-authored (separate from the
spec-driven BlockPreview heroes) and had drifted from the real UI:
- Agent color purple #6f3dfa -> green #33C482 (the var(--brand) rebrand)
- Model gpt-4o -> claude-sonnet-4-6 (current default)
- "Prompt" row -> "Messages" (the actual agent sub-block)
- Start color #34B5FF -> #2FB3FF (real starter bgColor)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The header (input/output) handles are positioned relative to the card and
used a -16px offset, so they floated 8px past the edge. Row/error handles
are -16px relative to a row that's already inset 8px by content padding, so
they sit correctly. Header handles are now -8px, so every handle sticks out
the same 8px and hugs the block edge.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The page documented the old UI (System/User Prompt, no Files or Skills, Memory
taught as a separate block — contradicting its own FAQ). Rewritten to the real
sub-blocks (Messages, Model, Files, Tools, Skills, Memory, Response Format) in
the builder voice of the workflows exemplars: oriented opening, agent vs
Agent-block callout, outputs table, a live WorkflowPreview example, FAQ kept and
corrected (tool control "Force", not "Required"). pageType: reference.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Tightened to the builder voice and the real config (URL, Method, Query Params,
Headers, Body + Advanced timeout/retries/backoff). Dropped the off-topic
"Dynamic URL Construction" / "Response Validation" sections (those are
Function-block techniques, not API config). Outputs table, FAQ kept. The example
is now a live WorkflowPreview (new API_FETCH_WORKFLOW in examples.ts, exported
via the barrel). pageType: reference.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Tightened to the builder voice: oriented opening (branches on boolean
expressions, no model call, vs Router), the real branch model (if / else if /
else, checked top to bottom), connection-tag expression examples, an error-path
callout, outputs table, and a live branching WorkflowPreview example
(CONDITION_ROUTE_WORKFLOW). FAQ kept. pageType: reference.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…dition

Recalibration: reference pages keep genuine substance (Best Practices, every
distinct example), cutting only redundancy and verbose register. Restores the
Best Practices section and turns the three use cases into three rendered
WorkflowPreview examples (route by priority, moderate content, branch
onboarding). Adds CONDITION_MODERATE_WORKFLOW and CONDITION_ONBOARD_WORKFLOW.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Fixed the verbose register and dropped the duplicated outputs section + the
stale Python screenshot/TODO, while keeping the real substance: JS vs Python
(local vs E2B sandbox), the large-inputs sim.files/sim.values helpers, the
worked loyalty-score example, and Best Practices. The use cases are now two
rendered WorkflowPreview examples (reshape an API response, validate input).
Adds FUNCTION_RESHAPE_WORKFLOW and FUNCTION_VALIDATE_WORKFLOW. pageType: reference.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Cleaned the register, generalized the drifting model list, and folded the
Router-vs-Condition guidance into a callout. Kept the substance (routes as
output ports, NO_MATCH error path, all seven outputs, Best Practices, FAQ). The
three same-shape use cases collapse to one rendered triage WorkflowPreview
(ROUTER_TRIAGE_WORKFLOW), which the prose notes stands for the pattern.
pageType: reference.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
I wrongly folded two distinct Router scenarios into a note. Restored all three
as their own rendered WorkflowPreview examples: triage a support ticket,
classify feedback (to child workflows), qualify a lead (sales vs self-serve).
Adds ROUTER_CLASSIFY_WORKFLOW and ROUTER_LEAD_WORKFLOW. (Also exports
RESPONSE_API_WORKFLOW for the next page.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Cleaned the register and broadened "Variable References" to connection tags
(any output, not just workflow variables). Kept the substance: exit-point
semantics, Builder/Editor mode, status codes, headers, the parallel-branch
warning, Best Practices, FAQ. All three use cases are now rendered
WorkflowPreview examples (API endpoint, webhook ack, status-per-branch). Adds
RESPONSE_API/WEBHOOK/ERROR_WORKFLOW. pageType: reference.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Cleaned the register, corrected the outputs (each assignment is also exposed as
<variables.name>, not "no outputs"), and kept the substance: assignments
reference earlier outputs and current values, global <variable.name> access,
Best Practices, FAQ. Two use cases now render as WorkflowPreview examples (count
retries, hold config). Adds VARIABLES_RETRY_WORKFLOW and VARIABLES_CONFIG_WORKFLOW.
pageType: reference.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Corrected a real staleness: the block now has an Async mode that suspends the
run for minutes/hours/days (not a hard 10-minute cap), plus a resumeAt output.
Documents Wait Amount / Unit / Async, the sync-vs-async distinction, all three
outputs, Best Practices, and updated FAQ. Two rendered WorkflowPreview examples
(space out API calls, delayed follow-up). Adds WAIT_RATELIMIT_WORKFLOW and
WAIT_FOLLOWUP_WORKFLOW. pageType: reference.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Comment thread apps/docs/components/workflow-preview/workflow-preview.tsx
…t tabs)

The page was already accurate to the block (Select/List operations, the outputs
tabs, the wiring steps). Light touch only: added description + pageType, made the
header consistent, and folded the two identical Gmail/Slack "how to wire" tabs
into one line. Examples stay as labeled flows + the List/ForEach screenshot,
since they use integration blocks and a Loop the WorkflowPreview can't render.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@gitguardian

gitguardian Bot commented Jun 10, 2026

Copy link
Copy Markdown

⚠️ GitGuardian has uncovered 1 secret following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

Since your pull request originates from a forked repository, GitGuardian is not able to associate the secrets uncovered with secret incidents on your GitGuardian dashboard.
Skipping this check run and merging your pull request will create secret incidents on your GitGuardian dashboard.

🔎 Detected hardcoded secret in your pull request
GitGuardian id GitGuardian status Secret Commit Filename
33881454 Triggered Generic Password aae00a9 apps/sim/app/api/chat/utils.test.ts View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secret safely. Learn here the best practices.
  3. Revoke and rotate this secret.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

ouiliame and others added 2 commits June 10, 2026 11:56
# Conflicts:
#	apps/docs/content/docs/en/integrations/codepipeline.mdx
#	apps/docs/content/docs/en/tools/meta.json
…gger from catalog

The native Sim workspace-event trigger is documented at triggers/sim — the
block writer no longer emits an integrations page for it (skip + canonical-set
exclusion). CodePipeline (simstudioai#4945) lands in the catalog in the Actions format.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ouiliame and others added 2 commits June 10, 2026 15:13
Final loss audit found the old page's pointer from built-in agent memory to the
standalone Memory block had been dropped; one line restores it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Every page lives at a path matching its meta.json section, done now while none
of these URLs are publicly live (the last free window before merge):

- Workflows owns its accordions: /blocks/* -> /workflows/blocks/*,
  /triggers/{start,schedule,webhook,rss,table,sim} -> /workflows/triggers/*,
  /deployment/* -> /workflows/deployment/*
- Mothership owns Mailer: /mailer -> /mothership/mailer
- Workspaces & Access folds into Platform, sequenced concept-first with the
  reference tail last: /platform/{workspaces,organization,permissions,
  credentials,costs}, then platform/self-hosting/*, platform/enterprise/*
  (from /workspaces/fundamentals+organization, /permissions/roles-and-
  permissions, /credentials, /costs, /self-hosting/*, /enterprise/*)

All internal links swept (0 broken in a full-tree resolver sweep), root
meta.json repointed, and every previously-live URL 308s to its new home —
including retargeted destinations of existing redirects so chains stay
single-hop (verified: /execution/chat reaches /workflows/deployment/chat in
one hop), and the native-trigger rule ordered after the enumerated
integration-trigger redirects so /triggers/gmail still reaches
/integrations/gmail. Production build passes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Comment thread apps/docs/.plans/integrations-ia.md Outdated
@@ -0,0 +1,85 @@
# Spec: integration pages as per-service block indexes

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ouiliame we should probably remove this

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Comment thread apps/docs/.gitignore Outdated

# Fumadocs
/.source/ No newline at end of file
/.source/ .plans/

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Malformed gitignore entry

Low Severity

The Fumadocs ignore line combines /.source/ and .plans/ into one pattern with a space. Git treats that as a single path, so .plans/ under apps/docs is not ignored as intended.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 379fc98. Configure here.

The canvas previews' tool chips were ad-hoc (5px radius, header surface, plain
border). The app's canonical chip chrome is the ChipTag family: 20px tall,
rounded-md, px-1, gap-1.5, --surface-5 light / --surface-4 dark with an inset
--border-1 ring and --text-body label. Mirrored those values into --wp-chip-*
tokens (both modes) and restyled the chip; the integration's brand-color icon
square stays, sized to the chip.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

There are 4 total unresolved issues (including 3 from previous reviews).

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 79b6cbf. Configure here.

type='source'
position={Position.Right}
id='loop-start-source'
className={HANDLE_START}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Parallel preview wrong handle

Medium Severity

Parallel workflow previews use the Loop inner-start handle id loop-start-source, but the builder uses parallel-start-source on Parallel containers. Docs claim handle ids match the app, so readers may wire the wrong handle in real workflows.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 79b6cbf. Configure here.

Block definitions are the patterns coding agents copy from, so redirects alone
leave new blocks minting dead conventions. Every docs.sim.ai link in apps/sim
now points at the final URL scheme: /tools/<slug> -> /integrations/<slug>
(433 links), /blocks/<core> -> /workflows/blocks/<core> (knowledge/enrichment/
logs -> /integrations/*), native /triggers/* -> /workflows/triggers/*,
/mcp -> /agents/mcp, /self-hosting + /enterprise -> /platform/*, plus the
llms.txt listings and the blocks.test.ts assertions.

Verified every rewritten target against the docs tree: all resolve except ten
hidden blocks (vision, spotify, thinking, tts...) and a2a whose links were
already dead pre-reorg — no regressions introduced.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Accuracy audit against apps/sim/blocks/blocks/file.ts (FileV5Block, the visible
block) and tools/file/*:

- The block has FIVE operations, not four — Get Content was missing entirely.
- Read outputs file objects only; the page claimed it also returned extracted
  text. Text comes from Get Content (contents, per file) or Fetch
  (combinedContent) — table, prose, and the Fetch callout corrected.
- Functions CAN read files: sim.files.readText/readBase64 exist in the sandbox
  (isolated-vm-worker.cjs), so "doesn't reach into workspace storage" is gone;
  the section now teaches Get Content text or sim.files on the file object.
- Workspace file IDs are wf_<shortId> (workspace-file-manager.ts:511), not f_.
- Stale "such as Claude or GPT-4o" vision parenthetical dropped.
- "File block reference" card pointed at /files (the section overview); now
  /integrations/file.
- FILE_SUMMARY example agent consumed <file.combinedContent>, which Read never
  produces — now binds the file object to the Files input.
- passing-files.mdx: combinedContent scoped to Fetch, contents documented.

Verified intact: Write's numeric-suffix collision behavior, Fetch's auth
headers, Append-by-name, and the file-object shape.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…gacy workspace detail

Every binding verified against commands-utils.ts (the global registry),
workflow.tsx, and table-grid.tsx. Three fixes: tables Mod+A (select all rows)
doesn't exist — the real bindings are Shift+Space (select row, was misworded
as a toggle) and the undocumented Mod+Space (select column); the global
Mod+Shift+A row conflated two commands — add-agent (Mod+Shift+A) and
add-workflow (Mod+Shift+P) are separate. All 29 other documented shortcuts
confirmed accurate, including tables clipboard (native copy/cut/paste events)
and Mod+Y redo (tables only — correctly absent from the workflow editor
section).

Also drops the grandfathered_shared workspace paragraph — internal billing
taxonomy, not something a reader can act on.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- getting-started: workflow creation is the + button next to Workflows in the
  sidebar (no "New Workflow" button exists); Exa/Linkup no longer need
  user-supplied API keys on hosted Sim (apiKey is hideWhenHosted in the Exa
  block) — step and FAQ updated.
- workflows overview: chat and API are entry points of the Start trigger, not
  separate triggers — the "swap in a chat/API trigger" sentence now matches
  triggers/start's own model.
- variables: names cannot contain periods — the resolver reads everything
  after the first dot as a path into the value (executor/variables/resolvers/
  workflow.ts splits on dots) — constraint now stated where name normalization
  is taught.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…king

Function block: the Python callout's "common packages like matplotlib" becomes
the actual package list, grouped by use. Sources verified 2026-06-10 and cited
in an inline provenance comment: E2B's code-interpreter template requirements
(the base Sim's mothership-shell template builds from) plus Sim's three pip
additions (awscli/yq/csvkit, per the copilot repo's template.ts via
sim-internals). Versions omitted so the list doesn't rot on routine bumps.

Agent surfaces deduplicated by direction: blocks/agent's Tools section now
links custom tools and MCP and points at the Agents concept page for tool
sourcing; agents/index drops its duplicated Auto/Force/None enumeration in
favor of the block reference, which owns config mechanics.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@waleedlatif1 waleedlatif1 changed the title docs: builder-first IA reorganization of the English docs improvement(docs): builder-first IA reorganization of the English docs Jun 11, 2026
@waleedlatif1 waleedlatif1 merged commit bc55fc3 into simstudioai:staging Jun 11, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants