Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Scaffolds React/TypeScript frontend components with MVVM architecture.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Creates a React/TypeScript frontend component following the MVVM (Model-View-ViewModel) architecture with TanStack ecosystem.
Use when creating webapp components. Supports multiple named instances (e.g., webapp-admin, webapp-public).
components/<webapp-name>/
├── .gitignore
├── components.json
├── eslint.config.js
├── eslint-rules/
│ └── allowed-structure.js
├── package.json
├── tsconfig.json
├── vite.config.ts
└── src/
├── index.html
├── index.ts
├── index.css
├── main.tsx # Entry point
├── app.tsx # Root app component
├── vite-env.d.ts
├── components/
│ ├── index.ts
│ ├── layout/
│ │ ├── index.ts
│ │ └── layout.tsx
│ ├── sidebar/
│ │ ├── index.ts
│ │ └── sidebar.tsx
│ └── ui/
│ ├── index.ts
│ ├── button.tsx
│ └── card.tsx
├── hooks/
│ ├── index.ts
│ ├── use_app_config.tsx
│ ├── use_app_router.ts
│ └── use_query_client.ts
├── lib/
│ ├── index.ts
│ └── utils.ts
├── pages/
│ ├── index.ts
│ └── home_page/
│ ├── index.ts
│ └── home_page.tsx
├── routes/
│ ├── index.ts
│ └── routes.tsx
├── services/
│ └── index.ts
└── types/
└── index.ts
| Layer | Purpose | Location |
|---|---|---|
| View | React components (pages, layout, UI primitives) | src/pages/, src/components/ |
| ViewModel | State and logic hooks | src/hooks/ |
| Model | API client services | src/services/ |
| Utilities | cn(), shared helpers | src/lib/ |
| Routes | TanStack Router route definitions | src/routes/ |
| Types | Shared type definitions | src/types/ |
| Technology | Purpose |
|---|---|
| React 19 | UI framework |
| TypeScript 5.9 | Type safety |
| Vite 7 | Build tool and dev server |
| Vitest 4 | Unit testing framework |
| ESLint 9 | Linting (flat config) |
| Tailwind CSS 4 | Utility-first CSS (CSS-based config) |
| TanStack Router | Type-safe routing |
| TanStack Query | Server state management |
| TanStack Table | Headless table primitives |
| TanStack Form | Type-safe form management |
| Radix UI / Shadcn | Accessible component primitives |
| class-variance-authority, clsx, tailwind-merge | Style composition utilities |
Supports multiple named frontend instances:
| Input | Directory Created |
|---|---|
{type: webapp, name: main} | components/webapps/main/ |
{type: webapp, name: admin} | components/webapps/admin/ |
{type: webapp, name: public} | components/webapps/public/ |
| Variable | Description |
|---|---|
{{PROJECT_NAME}} | Project name |
{{CONTRACT_PACKAGE}} | Workspace package name for API contract types (e.g., @my-project/api-types) |
{{CONFIG_PACKAGE}} | Workspace package name for webapp configuration types (e.g., @my-project/config) |
Called programmatically by the scaffolding script:
import { scaffoldFrontend } from './frontend-scaffolding';
scaffoldFrontend({
targetDir: '/path/to/project',
componentName: 'admin', // Creates webapp-admin/
projectName: 'my-app',
});
All templates are colocated in this skill's templates/ directory:
skills/components/frontend/frontend-scaffolding/templates/
├── .gitignore
├── components.json
├── eslint.config.js
├── eslint-rules/
│ └── allowed-structure.js
├── package.json
├── tsconfig.json
├── vite.config.ts
└── src/
├── index.html
├── index.ts
├── index.css
├── main.tsx
├── app.tsx
├── vite-env.d.ts
├── components/
│ ├── index.ts
│ ├── layout/
│ ├── sidebar/
│ └── ui/
├── hooks/
├── lib/
├── pages/
├── routes/
├── services/
└── types/
When scaffolding a webapp component, the following config section is added to components/config/:
webapp-{name}:
apiBaseUrl: /api
export type WebappConfig = Readonly<{
apiBaseUrl: string;
}>;
{
"webapp-{name}": {
"type": "object",
"properties": {
"apiBaseUrl": { "type": "string", "default": "/api" }
},
"required": ["apiBaseUrl"]
}
}
Features may extend the config as needed:
webapp-{name}:
apiBaseUrl: /api
features:
darkMode: true
analytics: false
To scaffold a frontend component, build a spec and invoke the engine:
<plugin-root>/fullstack-typescript/system/system-run.sh scaffolding apply --spec spec.json
| Variable | Source |
|---|---|
PROJECT_NAME | From sdd-settings.yaml project name |
CONTRACT_PACKAGE | Workspace package name for API contract types |
CONFIG_PACKAGE | Workspace package name for webapp configuration types |
{
"target_dir": "<project-root>",
"base_dir": "<plugin-root>/skills",
"variables": { "PROJECT_NAME": "<project-name>", "CONTRACT_PACKAGE": "<contract-package>", "CONFIG_PACKAGE": "<config-package>" },
"operations": [
{
"type": "template_dir",
"source": "components/frontend/frontend-scaffolding/templates",
"dest": "components/webapps/<webapp-name>"
},
{
"type": "package_json_scripts",
"scripts": {
"<webapp-name>:dev": "npm run dev -w @<project-name>/<webapp-name>",
"<webapp-name>:build": "npm run build -w @<project-name>/<webapp-name>",
"<webapp-name>:preview": "npm run preview -w @<project-name>/<webapp-name>",
"<webapp-name>:test": "npm run test -w @<project-name>/<webapp-name>"
}
}
]
}
No conditions needed.
Schema: schemas/input.schema.json
Accepts webapp name, project metadata, and optional contract list for API client generation.
Schema: schemas/output.schema.json
Returns the scaffolding engine result: created files, directories, and scripts; skipped paths; errors; and a human-readable summary.
frontend-standards — Generated frontend code must follow these standards. Defines MVVM architecture with TanStack Router/Query, component structure, and state management patterns.typescript-standards — Generated TypeScript files must follow these coding conventions. Defines strict typing, readonly patterns, branded types, and import standards.unit-testing — Generated test files must follow these patterns. Defines Vitest setup, mocking strategies, fixture patterns, and assertion conventions for frontend components.아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Scaffolds Node.js/TypeScript backend components with CMDO architecture, driven by component settings.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
CMDO architecture standards for Node.js/TypeScript backends with strict layer separation.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Intent-to-command mappings for fullstack-typescript tech pack features.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Create change specification and implementation plan with dynamic phase generation. Supports feature, bugfix, refactor, and epic types.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Orchestrates the full change lifecycle — routes actions to phase-specific sub-files.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.