command-center-app-components

Define AppComponent input contracts, forms, and field definitions.

6|1|Updated Nov 14, 2024
One-click install
npx skills add https://github.com/mainsequence-sdk/mainsequence-sdk --skill command-center-app-components
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: command-center-app-components
Source: https://github.com/mainsequence-sdk/mainsequence-sdk/tree/main/docs/astro/command_center/app_components
Command: npx skills add https://github.com/mainsequence-sdk/mainsequence-sdk --skill command-center-app-components

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill provides a structured framework for managing AppComponent backend contracts in Main Sequence projects, including input contracts, custom forms, form sections and field definitions, and the boundary between input contracts and widget-facing output contracts, while explicitly excluding workspace layout, generic FastAPI design, or Streamlit dashboards.

Core Features & Use Cases

  • decide whether an AppComponent should rely on the default generated form
  • create a custom EditableFormDefinition
  • define FormSectionDefinition
  • define FormFieldDefinition
  • choose the correct FormFieldKind
  • define stable token values
  • review whether an AppComponent form is too thin or too custom
  • separate input contracts from output contracts
  • decide when the API behind an AppComponent must return exact widget-facing response contracts

Quick Start

Provide the AppComponent widget contract details, including input contracts, form definitions, and the boundary with widget-facing outputs for a given widget.

Frequently Asked Questions about command-center-app-components

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

FAQPage Schema
How do I define custom forms for backend app components instead of using the default generated form?▼

To define custom forms for backend app components, you create an EditableFormDefinition structured with FormSectionDefinition and FormFieldDefinition entries, overriding the default generated form to capture specific input contract requirements.

When should I separate input contracts from widget-facing output contracts in domain modeling?▼

Separate input contracts from widget-facing output contracts when the API behind an app component must return exact response structures, ensuring clear boundaries between backend data intake and widget rendering expectations.

How do I choose the correct FormFieldKind for my app component field definitions?▼

Choose the correct FormFieldKind by matching the field definition to the specific input data type and interaction required, ensuring stable token values are assigned to maintain contract consistency across the app component.

What is the difference between a thin app component form and an overly customized one?▼

A thin app component form relies mostly on default generated fields, while an overly customized one uses extensive custom EditableFormDefinition structures, potentially blurring the boundary between input contracts and widget-facing outputs.

Does this app component contract framework handle workspace layout and API design?▼

No, this app component contract framework explicitly excludes workspace layout, generic API design, and dashboard building, focusing solely on defining input contracts, form sections, and field definitions for backend widgets.