sailscastshq

inertia

Inertia.js server-side rendering, redirects, shared data, forms, validation, and client-side patterns for The Boring JavaScript Stack. Use this skill when building pages, handling form submissions, managing redirects, sharing data, or working with any Inertia.js feature in a Sails.js application.

sailscastshq 498 24 Updated 3mo ago

Resources

3
GitHub

Install

npx skillscat add sailscastshq/boring-stack/inertia

Install via the SkillsCat registry.

SKILL.md

Inertia.js for The Boring JavaScript Stack

Inertia.js is the bridge between Sails.js and your frontend framework (React, Vue, or Svelte) in The Boring JavaScript Stack. It lets you build modern single-page apps using classic server-side routing and controllers -- no API required. The inertia-sails package implements the full Inertia.js v2 protocol as a Sails hook.

When to Use

Use this skill when:

  • Rendering pages with Inertia (responseType: 'inertia')
  • Setting page-specific meta tags, titles, and OG images with locals (sails.inertia.local(), return { locals })
  • Handling form submissions and redirects (responseType: 'redirect' vs 'inertiaRedirect')
  • Sharing data globally across all pages (sails.inertia.share(), once(), refreshOnce())
  • Working with flash messages (sails.inertia.flash())
  • Handling validation errors (responseType: 'badRequest', form.errors)
  • Using advanced props: deferred, optional, always, merge, scroll
  • Building frontend components with useForm, usePage, Link, Head, router
  • Setting up createInertiaApp and persistent layouts
  • Handling server errors with the Inertia error modal
  • Working with partial reloads, history encryption, or asset versioning

Rules

Read individual rule files for detailed explanations and code examples:

Framework-Specific APIs

  • rules/react.md - React: useForm, usePage, Link, Head, Deferred, WhenVisible, usePoll, layouts
  • rules/vue.md - Vue: useForm, usePage, Link, Head, Deferred, WhenVisible, usePoll, defineOptions layouts
  • rules/svelte.md - Svelte: useForm (stores), page store, Link, inertia action, svelte:head, layouts