Subframe is designed for building interfaces—the visual layer that designers own. Code generation in Subframe is deterministic and purely presentational (no API calls, state management, etc). Developers can later add application logic themselves using IDEs like Cursor or VS Code after export. This guide explains Subframe’s design-to-code workflow in detail.Documentation Index
Fetch the complete documentation index at: https://docs.subframe.com/llms.txt
Use this file to discover all available pages before exploring further.
Components vs pages
As a developer, you should treat components and pages differently:- Components are your design system (e.g. buttons, inputs, cards). They are synced via CLI to a folder in your codebase (default:
./ui/components) and are not meant to be modified after export. - Pages are screens built from components. They are exported as copyable React code or using the MCP server and are meant to be modified after export.
Design handoff
Suppose your designer creates a sign in page in Subframe:
Button and SocialSignInButton components:

Syncing components
When the designs are ready for handoff, sync theButton and SocialSignInButton code to your codebase by running the following command:
Button, SocialSignInButton, and any other components into a specific folder in your codebase. By default this folder is located in the ./src/ui/components folder but can be configured in the project settings.
View synced code
View synced code
Exporting pages
Subframe generates page code with stubs for business logic that need to be filled in:SignInPage.tsx
- MCP server (recommended) - install Subframe MCP server and ask your AI tool to integrate the page code directly using the page link.
- Copy/paste - Open Code > Inspect in Subframe and copy the React code.
SignInPage.tsx

