원클릭으로
dsfr-component
Develops, styles, and tests DSFR-compliant React 19 components.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Develops, styles, and tests DSFR-compliant React 19 components.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Extracts methods from the monolithic RoseauGateway/RoseauRepository into a dedicated gateway/repository pair within the same folder. Use this when moving domain-specific methods out of roseau.gateway into their own gateway.
Creates a full-stack paginated table page with filters, sorting, and detail view — from SQL to React — using MasaProvider.
Creates new functionalities that fetch reference data via MasaProvider instead of directly using LanceleauGateway or RoseauGateway.
Creates unit and e2e tests for NestJS applications using Jest and Supertest. Includes patterns for testing services, controllers, guards, and e2e tests with testcontainers.
Creates a typed API endpoint across shared route definition, NestJS controller, frontend service, and Query hook.
Creates unit tests for React frontend components using Vitest and React Testing Library, following accessibility-first best practices.
| name | dsfr-component |
| description | Develops, styles, and tests DSFR-compliant React 19 components. |
This skill provides instructions and best practices for creating UI components for the Verseau frontend, based on the Système de Design de l'État (DSFR).
@codegouvfr/react-dsfrvitest + @testing-library/reactreact-dsfr)react-dsfr components (e.g., Button, Input, Card, Badge, Alert, Accordion).fr-m-2w, fr-text--bold, fr-container, fr-grid-row) for layout and spacing.1w = 4px, 2w = 8px, 3w = 12px, etc.).apps/front/src/components..spec.tsx file in the same directory.@testing-library/react for functional testing.npm run test in apps/front.src/components/MyComponent.tsx.src/components/MyComponent.spec.tsx.npm run test and npm run check (TypeScript).import { ReactNode } from "react";
import { Button } from "@codegouvfr/react-dsfr/Button";
import { fr } from "@codegouvfr/react-dsfr";
interface MyComponentProps {
title: string;
description?: string;
onConfirm: () => void;
}
export const MyComponent = ({ title, description, onConfirm }: MyComponentProps) => {
return (
<div className={fr.cx("fr-container", "fr-my-4w")}>
<div className={fr.cx("fr-grid-row")}>
<div className={fr.cx("fr-col-12")}>
<h1>{title}</h1>
{description && <p className={fr.cx("fr-text--lead")}>{description}</p>}
<Button onClick={onConfirm}>Confirmer</Button>
</div>
</div>
</div>
);
};