v9-component

Buat kerangka komponen v9 baru dengan semua file yang diperlukan mengikuti pola Fluent UI (hook, styles, render, types, tests, stories, conformance)

npx skills add https://github.com/microsoft/fluentui --skill v9-component

Scaffold a V9 Component

Create a new v9 component named $ARGUMENTS using the repo's Nx generators.

Steps

Adding a component to an existing package

Use the react-component generator:

yarn nx g @fluentui/workspace-plugin:react-component --name $ARGUMENTS --project <project-name>

Where <project-name> is the Nx project (e.g., react-button). This generates all required files: component, types, hook, styles, render, index barrel, and conformance test.

Creating a new package + component

Use the react-library generator first, then add the component:

# Create the package (will prompt for owner team)
yarn create-package

# Or non-interactively:
yarn nx g @fluentui/workspace-plugin:react-library --name <package-name> --owner "<team>"

# Then add the component inside it:
yarn nx g @fluentui/workspace-plugin:react-component --name $ARGUMENTS --project <package-name>

After scaffolding

  1. Review generated files against docs/architecture/component-patterns.md and fill in component-specific logic.

  2. Add styles in use${ARGUMENTS}Styles.styles.ts using design tokens:

    import { makeStyles } from '@griffel/react';
    import { tokens } from '@fluentui/react-theme';
    
  3. Create a default story at the appropriate stories package location if not generated.

  4. Update API docs after adding exports:

    yarn nx run <project>:generate-api
    

Critical Rules

  • Always use ForwardRefComponent with React.forwardRef — never React.FC
  • Always use design tokens from @fluentui/react-theme — never hardcoded colors/spacing/typography
  • Always preserve user className as the LAST argument in mergeClasses()
  • Use _unstable suffix on exported hooks: use$ARGUMENTS_unstable, use${ARGUMENTS}Styles_unstable, render${ARGUMENTS}_unstable
  • Guard any window/document/navigator access with canUseDOM() from @fluentui/react-utilities
  • Do not add dependencies on other Tier 3 component packages (see docs/architecture/layers.md)

Available Generators Reference

GeneratorCommandPurpose
react-componentyarn nx g @fluentui/workspace-plugin:react-componentAdd component to existing package
react-libraryyarn nx g @fluentui/workspace-plugin:react-libraryCreate new v9 package
recipe-generatoryarn nx g @fluentui/workspace-plugin:recipe-generatorCreate a v9 recipe
prepare-initial-releaseyarn nx g @fluentui/workspace-plugin:prepare-initial-releasePrepare package for release (compat/preview/stable)
bundle-size-configurationyarn nx g @fluentui/workspace-plugin:bundle-size-configurationSetup bundle-size tracking
cypress-component-configurationyarn nx g @fluentui/workspace-plugin:cypress-component-configurationSetup Cypress component tests

Lebih banyak skill dari microsoft

oss-growth
microsoft
Persona peretas pertumbuhan OSS
agent-framework-azure-ai-py
microsoft
Bangun agen Azure AI Foundry menggunakan Microsoft Agent Framework Python SDK (agent-framework-azure-ai). Gunakan saat membuat agen persisten dengan AzureAIAgentsProvider, menggunakan alat yang dihosting (code interpreter, file search, web search), mengintegrasikan server MCP, mengelola utas percakapan, atau mengimplementasikan respons streaming. Mencakup alat fungsi, keluaran terstruktur, dan agen multi-alat.
development
airunway-aks-setup
microsoft
Siapkan AI Runway di AKS — dari klaster kosong hingga model berjalan. Mencakup verifikasi klaster, instalasi controller, penilaian GPU, penyiapan penyedia, dan deployment pertama. KAPAN: "setup AI Runway", "onboard AKS cluster", "install AI Runway", "airunway setup", "deploy model to AKS", "GPU inference on AKS", "KAITO setup on AKS", "run LLM on AKS", "vLLM on AKS", "set up model serving on AKS", "AI Runway controller".
devops
appinsights-instrumentation
microsoft
Panduan untuk instrumentasi aplikasi web dengan Azure Application Insights. Menyediakan pola telemetri, pengaturan SDK, dan referensi konfigurasi. KAPAN: cara menginstrumentasi aplikasi, SDK App Insights, pola telemetri, apa itu App Insights, panduan Application Insights, contoh instrumentasi, praktik terbaik APM.
devops
applicationinsights-web-ts
microsoft
Instrumentasi aplikasi browser/web dengan Application Insights JavaScript SDK (@microsoft/applicationinsights-web). Digunakan untuk Real User Monitoring (RUM) — tampilan halaman, klik, dependensi AJAX/fetch, pengecualian, peristiwa kustom, dan jejak agen GenAI sisi browser yang dikorelasikan dengan jejak OpenTelemetry backend. Mencakup pengaturan SDK Loader Script dan npm, ekstensi kerangka kerja (React, React Native, Angular), Click Analytics, inisialisasi telemetri, dan konvensi semantik OTel GenAI untuk span agen/alat/model yang dipancarkan dari browser.
devops
azure-ai-anomalydetector-java
microsoft
Bangun aplikasi deteksi anomali dengan Azure AI Anomaly Detector SDK untuk Java. Gunakan saat mengimplementasikan deteksi anomali univariat/multivariat, analisis deret waktu, atau pemantauan bertenaga AI.
development
azure-ai-language-conversations-py
microsoft
Implementasikan Pemahaman Bahasa Percakapan (CLU) menggunakan SDK Python azure-ai-language-conversations. Gunakan saat bekerja dengan ConversationAnalysisClient untuk menganalisis maksud dan entitas percakapan, membangun fitur NLP, atau mengintegrasikan pemahaman bahasa ke dalam aplikasi.
development
azure-ai-ml-py
microsoft
Azure Machine Learning SDK v2 untuk Python. Gunakan untuk ruang kerja ML, pekerjaan, model, kumpulan data, komputasi, dan pipeline. Pemicu: "azure-ai-ml", "MLClient", "ruang kerja", "registri model", "pekerjaan pelatihan", "kumpulan data".
development