AgentSkillsCN

inertia

在“枯燥的 JavaScript 技术栈”中,运用 Inertia.js 服务器端渲染、重定向、共享数据、表单、校验,以及客户端模式。在 Sails.js 应用程序中构建页面、处理表单提交、管理重定向、共享数据,或使用 Inertia.js 的任何功能时,可使用此技能。

SKILL.md
--- frontmatter
name: inertia
description: >
  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.
metadata:
  author: sailscastshq
  version: '1.0.0'
  tags: inertia, sails, boring-stack, spa, forms, redirects, shared-data, props

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')
  • 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