vtex-io-react-apps

Set up VTEX IO React apps with interfaces, schemas, and styling.

Updated Mar 27, 2026
One-click install
npx skills add https://github.com/exilonX/ap2 --skill vtex-io-react-apps-exilonx
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: vtex-io-react-apps
Source: https://github.com/exilonX/ap2/tree/main/.agents/skills/vtex-io-react-apps
Command: npx skills add https://github.com/exilonX/ap2 --skill vtex-io-react-apps-exilonx

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It prevents VTEX Store Framework React storefront and admin UI integrations from failing due to missing interfaces, incorrect styling conventions, broken Site Editor schemas, or unsafe client-side API calls.

Core Features & Use Cases

  • Store Framework block mapping: Define store/interfaces.json so theme blocks correctly resolve to React root exports and can render on the storefront.
  • Store Editor prop configurability: Create store/contentSchemas.json so component props are editable via Site Editor using JSON Schema.
  • Correct styling and data fetching patterns: Use vtex.css-handles for storefront styling and vtex.styleguide for admin UIs, while fetching data via GraphQL with useQuery rather than direct browser API calls.

Quick Start

Use the skill to implement a VTEX IO React storefront component by adding the required store/interfaces.json entry, creating any needed store/contentSchemas.json definitions for Site Editor, and wiring the React root export under react/ with vtex.css-handles styling.

Frequently Asked Questions about vtex-io-react-apps

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make a custom React component editable in the VTEX IO Site Editor?

You make a React component editable in the VTEX IO Site Editor by defining a JSON Schema in `store/contentSchemas.json` that maps your component props, allowing the Site Editor to render configuration fields for your storefront blocks.

Why does my VTEX IO storefront block not render on the page?

VTEX IO storefront blocks fail to render when `store/interfaces.json` is missing the required interface mapping that links your theme block to the correct React root export under the `/react` directory, preventing the Store Framework from resolving the component.

What is the correct way to style VTEX IO admin UI components?

The correct way to style VTEX IO admin UI components is using the `vtex.styleguide` library, whereas storefront components require `vtex.css-handles` to apply CSS classes that safely integrate with the Store Framework theme.

Can I use direct browser API calls for data fetching in VTEX IO React apps?

You should not use direct browser API calls for data fetching in VTEX IO React apps; instead, use GraphQL `useQuery` from `react-apollo` to safely fetch data and ensure reliable storefront rendering.

Do I need react-intl messages for VTEX IO Store Framework components?

Yes, you need `react-intl` messages for VTEX IO Store Framework components to provide internationalization, ensuring your custom storefront blocks and admin interfaces support multiple languages correctly.

What are the limitations of building custom storefront blocks without interfaces.json?

Without `store/interfaces.json`, your custom storefront blocks cannot resolve to React root exports, meaning the VTEX Store Framework will fail to render your components or recognize them within the theme JSON structure.