Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Build server-driven SPAs with Rails backend and Inertia.js frontend in React, Vue, or Svelte by applying skills for project setup, architecture patterns, controllers with props and redirects, full-stack forms and validation, page components with layouts and navigation, TypeScript type generation from Ruby resources, shadcn UI adaptations, and RSpec/Minitest response testing.
npx claudepluginhub inertia-rails/skillsAlba serializers + Typelizer for type-safe Inertia Rails props with auto-generated TypeScript types. Use when serializing models for Inertia responses, setting up Alba resources, generating TypeScript types from Ruby, or using Inertia prop options (defer, once, merge, scroll) with Alba attributes. Replaces as_json with structured, auto-typed ApplicationResource, page resources, and shared props resources. When active, OVERRIDES the `render inertia: { ... }` pattern from other skills — use convention-based instance variable rendering instead.
Server-driven architecture patterns for Inertia Rails + React. Load this FIRST when building any Inertia page or feature — it routes to the right skill. Decision matrix for data loading, forms, navigation, state management. NEVER useEffect+fetch, NEVER redirect_to for external URLs (use inertia_location), NEVER react-hook-form (use Form component). MUST invoke when adding pages, models with views, CRUD, or displaying data in an Inertia Rails app. ALWAYS `render inertia: { key: value }` to pass data — `@ivars` are NOT auto-passed as props.
ALWAYS `render inertia: { key: data }` to pass data as props — instance variables are NOT auto-passed (only alba-inertia does that). Rails controller patterns for Inertia.js: render inertia, prop types (defer, optional, merge, scroll), shared data, flash, PRG redirects, validation errors. Use when writing controllers that load data, display records, or serve Inertia responses. CRITICAL: external URLs (Stripe/OAuth) MUST use inertia_location, NEVER redirect_to.
Full-stack form handling for Inertia Rails: create, edit, delete, multi-step wizard, and file upload forms with validation errors and progress tracking. React examples inline; Vue and Svelte equivalents in references. Use when building any form, handling file uploads, multi-step forms, client-side validation, or wiring form submission to Rails controllers. NEVER react-hook-form. Use `<Form>` for simple forms, useForm for dynamic/programmatic control.
Page components, persistent layouts, Link/router navigation, Head, Deferred, WhenVisible, InfiniteScroll, and URL-driven state for Inertia Rails. React examples inline; Vue and Svelte equivalents in references. Use when building pages, adding navigation, implementing persistent layouts, infinite scroll, lazy-loaded sections, or working with client-side Inertia APIs (router.reload, router.replaceProp, prefetching).
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Practical Hotwire skills for Rails developers: Turbo Drive, Turbo Frames, Turbo Streams, and Stimulus patterns sourced from The Hotwire Club articles.
shadcn-vue for Vue/Nuxt with Reka UI components and Tailwind. Use for accessible UI, Auto Form, data tables, charts, or encountering component imports, dark mode, Reka UI errors.
Apply opinionated StimulusJS best practices from betterstimulus.com — patterns for writing, reviewing, and refactoring Stimulus controllers
Advanced Ruby on Rails skills for MVC patterns, Active Record, and Hotwire
Reusable UI component patterns for implementing common features across different frameworks and tech stacks
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Claude Code plugin that corrects common anti-patterns when building Rails + Inertia.js applications with React, Vue 3, or Svelte.
Claude's training data contains outdated or wrong patterns for the Inertia Rails stack. This plugin fixes the most impactful ones:
| Anti-pattern | Correction |
|---|---|
redirect_to for external URLs (Stripe, OAuth) | inertia_location(url) |
Third-party form libraries (react-hook-form, zod, etc.) with Inertia | <Form> component or useForm hook |
Old PageProps extends SharedProps typing | InertiaConfig module augmentation |
useEffect + fetch for page data | Server-rendered props via controller |
next-themes / use client in shadcn | Vite-compatible patterns |
| Skill | Purpose |
|---|---|
inertia-rails-architecture | Mental model, decision matrices, anti-pattern detection |
inertia-rails-setup | Detects stack and framework, offers recommended deps, generates CLAUDE.md config |
inertia-rails-controllers | Rails controller patterns for Inertia responses |
inertia-rails-forms | Form handling with <Form> component and useForm hook (React inline; Vue/Svelte references) |
inertia-rails-pages | Page components, layouts, navigation, client-side APIs (React inline; Vue/Svelte references) |
inertia-rails-typescript | InertiaConfig module augmentation for shared props, flash, error typing |
shadcn-inertia | shadcn/ui patterns adapted for Inertia + React (not Next.js) |
shadcn-vue-inertia | shadcn-vue patterns adapted for Inertia + Vue 3 |
shadcn-svelte-inertia | shadcn-svelte patterns adapted for Inertia + Svelte |
alba-inertia | Alba serializer patterns with Typelizer auto-generated types |
inertia-rails-testing | RSpec and Minitest matchers for Inertia responses |
npx skills add inertia-rails/skills
MIT