apprun-skills

Guide developers through MVU patterns, routing, and Vitest testing in AppRun TypeScript projects.

Updated Feb 4, 2026
One-click install
npx skills add https://github.com/yysun/apprun-skills --skill apprun-skills
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: apprun-skills
Source: https://github.com/yysun/apprun-skills/tree/main
Command: npx skills add https://github.com/yysun/apprun-skills --skill apprun-skills

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill provides end-to-end guidance for building AppRun applications in TypeScript using the MVU (Model-View-Update) pattern. It helps teams learn patterns for components, event handling, and stable state management including async generators, along with routing and testing practices.

Core Features & Use Cases

  • MVU patterns: Clear models for state, view, and update functions to create predictable, testable components.
  • Routing & navigation: Declarative route registration and programmatic navigation with parameters and guards.
  • Testing: Guidelines for unit testing AppRun components and update handlers with Vitest.
  • Use Case: Design a small AppRun app that demonstrates a routed page with async data loading and a modal component.

Quick Start

Start with a minimal AppRun project, install AppRun, set up a simple MVU page, and register routes in main.tsx.

Frequently Asked Questions about apprun-skills

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

FAQPage Schema
How do I build components using the MVU pattern in TypeScript?

The MVU (Model-View-Update) pattern structures AppRun components with a state model, view function that renders based on state, and update function that handles events. This separation creates predictable, testable components where state changes flow through a single update handler.

Can I use async generators for state management in AppRun?

Yes, AppRun supports async generators within the MVU pattern for stable state management. Async generators let you handle asynchronous operations like data loading while maintaining predictable state transitions and component testability.

How do I set up routing with parameters and guards in an AppRun application?

AppRun provides declarative route registration and programmatic navigation. You register routes in your main application, pass parameters through the navigation API, and implement route guards to control access before loading pages.

What's the best way to test AppRun components and update handlers?

Use Vitest to unit test AppRun components and update handlers. Test the update function's state transitions and side effects independently, then test view rendering with different state values to ensure predictable behavior.

Do I need additional tooling beyond TypeScript to get started with AppRun?

No, AppRun only requires the standard TypeScript toolchain and the AppRun library itself. The Skill provides comprehensive guidance through documentation and embedded examples to set up a minimal MVU project without extra dependencies.

How do I handle async data loading in routed AppRun pages?

Combine routing with async generators in your update handler to load data when a route activates. The async generator maintains state during loading, and the view updates reactively when data arrives, keeping the component's MVU structure intact.