Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 84 additions & 0 deletions .changeset/build-info-node-modules.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
---
"@fluentui-react-native/adapters": patch
"@fluentui-react-native/android-theme": patch
"@fluentui-react-native/apple-theme": patch
"@fluentui-react-native/avatar": patch
"@fluentui-react-native/badge": patch
"@fluentui-react-native/button": patch
"@fluentui-react-native/callout": patch
"@fluentui-react-native/checkbox": patch
"@fluentui-react-native/chip": patch
"@fluentui-react-native/codemods": patch
"@fluentui-react-native/components": patch
"@fluentui-react-native/composition": patch
"@fluentui-react-native/contextual-menu": patch
"@fluentui-react-native/default-theme": patch
"@fluentui-react-native/design": patch
"@fluentui-react-native/desktop-driver": patch
"@fluentui-react-native/desktop-test": patch
"@fluentui-react-native/divider": patch
"@fluentui-react-native/drawer": patch
"@fluentui-react-native/dropdown": patch
"@fluentui-react-native/experimental-activity-indicator": patch
"@fluentui-react-native/experimental-appearance-additions": patch
"@fluentui-react-native/experimental-avatar": patch
"@fluentui-react-native/experimental-checkbox": patch
"@fluentui-react-native/experimental-expander": patch
"@fluentui-react-native/experimental-menu-button": patch
"@fluentui-react-native/experimental-native-date-picker": patch
"@fluentui-react-native/experimental-native-font-metrics": patch
"@fluentui-react-native/experimental-shadow": patch
"@fluentui-react-native/experimental-shimmer": patch
"@fluentui-react-native/focus-trap-zone": patch
"@fluentui-react-native/focus-zone": patch
"@fluentui-react-native/framework": patch
"@fluentui-react-native/framework-base": patch
"@fluentui-react-native/icon": patch
"@fluentui-react-native/input": patch
"@fluentui-react-native/interactive-hooks": patch
"@fluentui-react-native/link": patch
"@fluentui-react-native/menu": patch
"@fluentui-react-native/menu-button": patch
"@fluentui-react-native/native-core": patch
"@fluentui-react-native/notification": patch
"@fluentui-react-native/overflow": patch
"@fluentui-react-native/persona": patch
"@fluentui-react-native/persona-coin": patch
"@fluentui-react-native/popover": patch
"@fluentui-react-native/pressable": patch
"@fluentui-react-native/radio-group": patch
"@fluentui-react-native/separator": patch
"@fluentui-react-native/spinner": patch
"@fluentui-react-native/stack": patch
"@fluentui-react-native/storybook-desktop": patch
"@fluentui-react-native/storybook-desktop-runtime": patch
"@fluentui-react-native/styling-utils": patch
"@fluentui-react-native/switch": patch
"@fluentui-react-native/tablist": patch
"@fluentui-react-native/tester": patch
"@fluentui-react-native/text": patch
"@fluentui-react-native/theme": patch
"@fluentui-react-native/theme-tokens": patch
"@fluentui-react-native/theme-types": patch
"@fluentui-react-native/themed-stylesheet": patch
"@fluentui-react-native/theming-utils": patch
"@fluentui-react-native/tokens": patch
"@fluentui-react-native/tooltip": patch
"@fluentui-react-native/use-slots": patch
"@fluentui-react-native/use-styling": patch
"@fluentui-react-native/use-tokens": patch
"@fluentui-react-native/vibrancy-view": patch
"@fluentui-react-native/win32-theme": patch
"@fluentui/react-native": patch
"@uifabricshared/foundation-composable": patch
"@uifabricshared/foundation-compose": patch
"@uifabricshared/foundation-settings": patch
"@uifabricshared/foundation-tokens": patch
"@uifabricshared/theme-registry": patch
"@uifabricshared/themed-settings": patch
"@uifabricshared/theming-ramp": patch
"@uifabricshared/theming-react-native": patch
---

Write TypeScript build information to `node_modules/.cache` instead of `.cache`, so
incremental build state is no longer included in published packages.
13 changes: 13 additions & 0 deletions .changeset/components-native-core-guidance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
"@fluentui-react-native/callout": patch
"@fluentui-react-native/components": patch
"@fluentui-react-native/focus-zone": patch
"@fluentui-react-native/native-core": patch
---

Add package-owned agent guidance, user entry points, and indexed references to
components and native-core. The agentic component recipes and contract source
adapters move into the components package, the desktop focus plan is replaced
by `references/remaining-work.md`, and both packages publish their guidance.
Components now restricts published contents with a `files` allowlist, and the
callout and focus-zone shims link to native-core's architecture reference.
11 changes: 11 additions & 0 deletions .changeset/design-framework-base-guidance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
"@fluentui-react-native/design": patch
"@fluentui-react-native/desktop-driver": patch
"@fluentui-react-native/framework-base": patch
---

Add package-owned agent guidance, user entry points, and indexed references to
design and framework-base. Design's completed plan is removed and its open
theming work moves to `references/remaining-work.md`. Both packages now restrict
published contents with a `files` allowlist. Desktop Driver guidance now tracks
unfinished work in a remaining-work reference.
28 changes: 14 additions & 14 deletions .github/skills/agentic-component-authoring/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ references the current change needs.

- **Higher-order components** live in `src/components`. Read the
[package instructions](../../../packages/agentic/components/AGENTS.md) and the
[higher-order component instructions](../../../packages/agentic/components/src/components/AGENTS.md). The
[higher-order component reference](../../../packages/agentic/components/references/higher-order-components.md). The
component's `SPEC.md` and `spec/` companions are its contract.
- **Primitives** live in `src/primitives`. Read the package instructions and the
[primitive instructions](../../../packages/agentic/components/src/primitives/AGENTS.md). A primitive's colocated
[primitive reference](../../../packages/agentic/components/references/primitives.md). A primitive's colocated
`CONTRACT.md` is its contract; primitives have no upstream-backed `SPEC.md`.
- Changes spanning components, repeated helpers, or dependency boundaries also use the
[optimization skill](../agentic-component-optimization/SKILL.md). Do not audit the whole package for a small edit.
Expand All @@ -28,16 +28,16 @@ references the current change needs.

## Load focused references

| Work | Reference |
| ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Source interpretation, provenance, contract drafting, or divergences | [Contract authoring](../agentic-component-contract-authoring/SKILL.md) |
| Public props, slots, state types, native prop exposure, or exports | [Types and slots](../../../references/agents/components/agentic/types-and-slots.md) |
| Defaults, derived state, interaction hooks, accessibility, or slots | [State and accessibility](../../../references/agents/components/agentic/state-and-accessibility.md) |
| Focus, focus visuals, keyboard activation, or native focus refs | [Common focus authoring](../../../references/agents/focus/common.md), then [Windows/Win32](../../../references/agents/focus/windows-win32.md) or [macOS](../../../references/agents/focus/macos.md) |
| Tokens, theme caching, state precedence, or slot style application | [Styles and tokens](../../../references/agents/components/agentic/styles-and-tokens.md) and [tokens and theming](../../../references/agents/design/tokens-and-theming.md) |
| Pure slot rendering, component assembly, or display names | [Rendering and assembly](../../../references/agents/components/agentic/rendering.md) |
| Runtime tests, type tests, snapshots, Storybook stories, or validation | [Tests and stories](../../../references/agents/components/agentic/tests-and-stories.md) |
| Native React Native Windows Fabric components, codegen, registration, or UIA | [Windows Fabric native components](../../../references/agents/native/windows-fabric.md) |
| Work | Reference |
| ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Source interpretation, provenance, contract drafting, or divergences | [Contract authoring](../agentic-component-contract-authoring/SKILL.md) |
| Public props, slots, state types, native prop exposure, or exports | [Types and slots](../../../packages/agentic/components/references/types-and-slots.md) |
| Defaults, derived state, interaction hooks, accessibility, or slots | [State and accessibility](../../../packages/agentic/components/references/state-and-accessibility.md) |
| Focus, focus visuals, keyboard activation, or native focus refs | [Common focus authoring](../../../references/agents/focus/common.md), then [Windows/Win32](../../../references/agents/focus/windows-win32.md) or [macOS](../../../references/agents/focus/macos.md) |
| Tokens, theme caching, state precedence, or slot style application | [Styles and tokens](../../../packages/agentic/components/references/styles-and-tokens.md) and design [tokens](../../../packages/agentic/design/references/tokens.md) and [styling](../../../packages/agentic/design/references/styling.md) |
| Pure slot rendering, component assembly, or display names | [Rendering and assembly](../../../packages/agentic/components/references/rendering.md) |
| Runtime tests, type tests, snapshots, Storybook stories, or validation | [Tests and stories](../../../packages/agentic/components/references/tests-and-stories.md) |
| Native React Native Windows Fabric components, codegen, registration, or UIA | [Windows Fabric native components](../../../references/agents/native/windows-fabric.md) |

A new higher-order component normally needs the types, state, styles, rendering, and tests references, plus focus
guidance when it is focusable. Load the Windows Fabric reference only for native Windows views. A focused fix loads only
Expand All @@ -55,8 +55,8 @@ references used, the implementation order, and the validation plan.
[contract authoring workflow](../agentic-component-contract-authoring/SKILL.md) and complete its pre-code review
gate first (R-AGENTIC-001 in the [package instructions](../../../packages/agentic/components/AGENTS.md)).
3. Inspect the closest canonical implementation:
[`components/button`](../../../packages/agentic/components/src/components/button) for a styled higher-order
component, or [`primitives/icon`](../../../packages/agentic/components/src/primitives/icon) for a direct primitive.
`packages/agentic/components/src/components/button` for a styled higher-order component, or
`packages/agentic/components/src/primitives/icon` for a direct primitive.
4. Establish the public contract before implementation: variants, slots, native props, accessibility, interaction
states, and platform behavior.
5. Implement in dependency order: types and slots, state and accessibility, styles and slot props, pure rendering,
Expand Down
57 changes: 24 additions & 33 deletions .github/skills/agentic-component-contract-authoring/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,20 +32,20 @@ draft, or accompanied by new source evidence.

Load every adapter represented by the supplied evidence, but no others.

| Evidence | Adapter |
| --------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| Pinned Flex component skill and X3 lineage | [Flex and X3](../../../references/agents/components/agentic/contract-sources/flex-x3.md) |
| Fluent UI v9 source or specification | [Fluent v9](../../../references/agents/components/agentic/contract-sources/fluent-v9.md) |
| HTML, CSS, computed styles, or browser output | [HTML and CSS](../../../references/agents/components/agentic/contract-sources/html-css.md) |
| Images, screenshots, or design renders | [Visual reference](../../../references/agents/components/agentic/contract-sources/visual-reference.md) |
| Public native API plus repository precedent | [Local foundation](../../../references/agents/components/agentic/contract-sources/local-foundation.md) |
| More than one of the preceding source sets | [Composite evidence](../../../references/agents/components/agentic/contract-sources/composite-evidence.md) |
| Evidence | Adapter |
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| Pinned Flex component skill and X3 lineage | [Flex and X3](../../../packages/agentic/components/references/contract-sources/flex-x3.md) |
| Fluent UI v9 source or specification | [Fluent v9](../../../packages/agentic/components/references/contract-sources/fluent-v9.md) |
| HTML, CSS, computed styles, or browser output | [HTML and CSS](../../../packages/agentic/components/references/contract-sources/html-css.md) |
| Images, screenshots, or design renders | [Visual reference](../../../packages/agentic/components/references/contract-sources/visual-reference.md) |
| Public native API plus repository precedent | [Local foundation](../../../packages/agentic/components/references/contract-sources/local-foundation.md) |
| More than one of the preceding source sets | [Composite evidence](../../../packages/agentic/components/references/contract-sources/composite-evidence.md) |

## Workflow

1. Read the package instructions, the existing `SPEC.md`, all companions under
`spec/`, and `SPEC-SOURCE.md`. Preserve a reviewed contract unless new
evidence or an explicit requested behavior change requires re-review.
1. Read the [package instructions](../../../packages/agentic/components/AGENTS.md), the existing `SPEC.md`, all
companions under `spec/`, and the [contracts reference](../../../packages/agentic/components/references/contracts.md).
Preserve a reviewed contract unless new evidence or an explicit requested behavior change requires re-review.
2. Inventory the source sets. Give each source a stable kebab-case ID, classify
its authority, pin immutable identities where possible, and record only
public or redistributable evidence.
Expand All @@ -60,7 +60,7 @@ Load every adapter represented by the supplied evidence, but no others.
- public API, slots, defaults, state ownership, and requirement IDs in
`SPEC.md`;
- FURN token bindings and gaps in `spec/tokens.yaml`, mapped through the
[Flex token map](../../../packages/agentic/design/src/tokens/mappings/flex-token-map.yaml).
canonical Flex token map described in the [design tokens reference](../../../packages/agentic/design/references/tokens.md).
Name each proposed binding or list it as unresolved;
- native accessibility in `spec/accessibility.md`;
- keyboard, pointer, focus, and motion behavior in
Expand All @@ -75,27 +75,18 @@ Load every adapter represented by the supplied evidence, but no others.
`review-required`, and a null review date until the source interpretation,
native adaptation, authority decisions, and planned evidence are coherent.
Move to `contract-reviewed` only after that explicit review.
8. Run the package contract checker. Source refresh tools may update provenance
but never approve a contract or populate reviewed surfaces automatically.
8. Run the package contract checker described in
[validation and drift](../../../packages/agentic/components/references/contracts.md#validation-and-drift). Source
refresh tools may update provenance but never approve a contract or populate reviewed surfaces automatically.

## Contract rules

- `spec/source.json` uses schema version 2 and a sorted, non-empty `sources[]`.
Source IDs are unique. Keep this generated, digest-heavy metadata in JSON;
`spec/tokens.yaml` remains YAML because token mappings are human-authored.
- Supported source kinds are `flex-skill`, `git-files`, `html-css`,
`visual-reference`, and `local-foundation`.
- A source's `authority` describes how it may govern requirements. Requirement
`sources` identify the actual source set used for that decision.
- `git-files` records a repository, full commit SHA, and sorted file paths with
SHA-256 digests. `html-css` and `visual-reference` record immutable artifact
digests; repository-relative artifacts are verified locally.
- A `local-foundation` source is valid only when no Flex catalog component
exists and must be the contract's sole source.
- Only `flex-skill` has automated release and candidate drift reporting.
Other immutable sources report Flex drift as `not-applicable`; refresh their
identities through an explicit source review.
- A reviewed local contract is normative for FURN. New upstream evidence is a
change proposal, not an automatic rewrite.
- Do not copy or lightly transform private source bodies into this public
repository. Record identities and write original React Native documentation.
The [contracts reference](../../../packages/agentic/components/references/contracts.md) owns the `spec/source.json`
schema, source kinds and authorities, lifecycle and review state, the public content boundary, and the validation and
drift commands. Apply it rather than restating it here. In particular:

- A reviewed local contract is normative for FURN. New upstream evidence is a change proposal, not an automatic
rewrite.
- A `local-foundation` source is valid only when no Flex catalog component exists, and it must be the sole source.
- Record identities and write original React Native documentation; never copy or lightly transform private source
bodies into this public repository (R-REPO-004).
Loading
Loading