vtex-io-service-apps

Automate VTEX IO backend service setup with typed IOClients and REST routes.

39|9|Updated Mar 16, 2026
One-click install
npx skills add https://github.com/vtex/ai-skills --skill vtex-io-service-apps-vtex
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: vtex-io-service-apps
Source: https://github.com/vtex/ai-skills/tree/main/tracks/vtex-io/skills/vtex-io-service-apps
Command: npx skills add https://github.com/vtex/ai-skills --skill vtex-io-service-apps-vtex

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Facilitates rapid development of VTEX IO backend services by providing a standard Service entry point, typed IOClients, and clear guidelines for routes, resolvers, and events.

Core Features & Use Cases

  • Service-first architecture: wiring routes, GraphQL resolvers, and events in a single, typed service.
  • Client-centric design: create custom IOClients and access them via ctx.clients for per-request context and built-in features.
  • Best-practices guidance: enforce using @vtex/api clients, proper client lifecycles, and separation of business logic from clients.
  • Common patterns: middleware, resolvers, and Master Data access within VTEX IO apps.

Quick Start

Spin up a VTEX IO backend by wiring a Clients registry, routes, and sample middlewares, then run the service.

Frequently Asked Questions about vtex-io-service-apps

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

FAQPage Schema
How do I build a VTEX IO backend service with typed clients?

Build a VTEX IO backend by defining a Service entry point, wiring REST routes, GraphQL resolvers, and event handlers, then registering typed IOClients to ensure per-request context, caching, and metrics.

What is the best way to structure routes, resolvers, and events in a VTEX IO app?

The best way to structure VTEX IO apps is using a service-first architecture that wires routes, GraphQL resolvers, and events in a single typed service while keeping business logic separate from client implementations.

How does a Service entry point handle per-request context and caching for IOClients?

A Service entry point handles per-request context and caching by using the @vtex/api clients registry, exposing clients via ctx.clients to manage lifecycles and built-in features automatically.

Do I need @vtex/api to create custom IOClients for Master Data access?

Yes, you need @vtex/api to create custom IOClients for Master Data access, as it enforces proper client lifecycles and provides the built-in features required for secure data handling.

Can I wire middleware and GraphQL resolvers in a single VTEX IO backend service?

Yes, you can wire middleware and GraphQL resolvers in a single VTEX IO backend service by applying a service-first architecture that centralizes these common patterns within one typed application.

Why separate business logic from clients when developing VTEX IO backend services?

Separate business logic from clients when developing VTEX IO backend services to enforce best-practices, ensure proper client lifecycles, and maintain clear guidelines for routes, resolvers, and events.