fluentui-react-native / native-core
AGENTS.md1.4k starsChanged 5 months agoMITView on GitHub
This is the instruction root for @fluentui-react-native/native-core and every descendant. The package owns modern native-backed components and modules, the legacy Callout and FocusZone wrappers, and their macOS and Windows native implementations. Read the user guide, then select the narrowest topic in the reference index: Native changes use the implement-native-component skill. Apple changes follow the repository's Apple and Office rules (R-APPLE-001 through R-APPLE-007, in native.apple-office); Windows Fabric views follow native.windows-fabric. - Follow R-APPLE-001 through R-APPLE-007 for shared services and renderer adapters.…
Trending
Quiet since March.about the whole repository
Who's talking about microsoft/fluentui-react-native
- microsoft/rushstack“[rush] Why does many Microsoft open-source projects not use rush.”GitHub · Oct 31, 2021 · 3 reactions
- microsoft/react-native-macos“chore: migrate to changesets”GitHub · Feb 25, 2026 · 1 reactions
- @migueldv90.bsky.social“Microsoft is developing a UI library, but it’s still in Alpha.”Bluesky · Dec 21, 2024 · 1 likes
- microsoft/react-native-macos“docs: add explainer for gotchas with NSView based native components”GitHub · Aug 11, 2023 · 1 reactions
- microsoft/.github“ci: Add 2 bots to CLA policies”GitHub · Mar 5, 2026
The biggest 5 of 37 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 37
Talked about on GitHub and Bluesky (37 times).
On GitHub · 36
- Oct 31, 2021[rush] Why does many Microsoft open-source projects not use rush. — microsoft/rushstack3 reactions · 6 comments
- Feb 25, 2026chore: migrate to changesets — microsoft/react-native-macos1 reaction · 1 comment
- Aug 11, 2023docs: add explainer for gotchas with NSView based native components — microsoft/react-native-macos1 reaction · 1 comment
- Mar 5, 2026ci: Add 2 bots to CLA policies — microsoft/.github0 reactions · 1 comment
- Sep 16, 2025Update Fabric branch to main — chrisglein/artificial-chat0 reactions
31 more on GitHub
- Dec 18, 2024Update to 0.76 — chrisglein/artificial-chat0 reactions
- Apr 24, 2024Add FURN (fluent-ui-react-native) to Gallery — microsoft/react-native-gallery0 reactions · 2 comments
- Aug 11, 2023bug: Cannot install drivers when using workspace:* with yarn 3 — appium/appium0 reactions · 5 comments
- Aug 8, 2023Files are generated under the wrong folder if no `node_modules` folder exists — microsoft/react-native-test-app0 reactions
- May 9, 2023Retarget Community Module's TargetPlatformMinVersion — microsoft/react-native-gallery0 reactions · 1 comment
- May 3, 2023Change the UI library to TUI or another — ZOPH3/WhatsThat_TS0 reactions
- May 2, 2023Move react-native-svg from dependencies to peerDependencies — microsoft/fluentui-system-icons0 reactions · 3 comments
- Apr 3, 2023Add fluent-ui-react-native controls and update various visual styles — chrisglein/artificial-chat0 reactions · 2 comments
- Mar 31, 2023Use fluent-ui-react-native controls — chrisglein/artificial-chat0 reactions · 2 comments
- Jan 1, 2023[🐛 Bug]: Appium Service v8 not compatible with WinAppDriver/Appium-Windows-Driver — webdriverio/webdriverio0 reactions · 1 comment
- Dec 31, 2022keyUpEvents/keyDownEvents check `code`, not `key` — microsoft/react-native-windows0 reactions · 8 comments
- Dec 14, 2022Setting the testID on the view does not prevent it from being removed from the view hierarchy — microsoft/react-native-windows0 reactions
- Dec 14, 2022Setting the testID on the view does not prevent it from being removed from the view hierarchy — microsoft/react-native-macos0 reactions · 1 comment
- Nov 15, 2022Remove faulty logic in ScrollView — microsoft/react-native-macos0 reactions · 2 comments
- Oct 31, 2022Aligning Avatar color hash color algorithm with web — microsoft/fluentui-apple0 reactions · 6 comments
- Oct 25, 2022fix(jest-preset): `@office-iss/react-native-win32` needs to be transformed — microsoft/rnx-kit0 reactions
- Oct 14, 2022Pressable unnecessarily re-renders if `disabled` prop is true — react/react-native0 reactions · 4 comments
- Jul 12, 2022Restore Git Tags for Canaries — microsoft/react-native-windows0 reactions · 3 comments
- Jul 8, 2022Running rnx-bundle fails after updating to latest rnx-kit/dep-check and rnx-kit/metro-config — microsoft/rnx-kit0 reactions · 3 comments
- Mar 7, 2022fix: Add clang static analysis flags — microsoft/react-native-test-app0 reactions · 4 comments
- Feb 4, 2022Module resolving failed when bumping to new version of metro-config — microsoft/rnx-kit0 reactions · 2 comments
- Feb 2, 2022[0.64] Trying to fetch NuGet package for v0.64.29 fails — microsoft/react-native-windows0 reactions · 1 comment
- Dec 16, 2021fix(windows): disable appx package signing — microsoft/react-native-test-app0 reactions · 1 comment
- Nov 17, 2021fix(android): set `project.ext.minSdkVersion` for community modules — microsoft/react-native-test-app0 reactions · 1 comment
- Nov 14, 2021Port windows fork of Pressable to win32 — microsoft/react-native-windows0 reactions · 16 comments
- Aug 6, 2021add `@fluentui/react-native` to the directory — react-native-community/directory0 reactions · 2 comments
- Aug 5, 2021Bumping Lage from 0.31.0 to 0.32.0 broke our monorepo's pipeline — microsoft/lage0 reactions · 3 comments
- May 25, 2021[react-native] Change ColorValue type so that it can be assignable from objects — DefinitelyTyped/DefinitelyTyped0 reactions · 5 comments
- Oct 24, 2020Apple: Name the scheme something other than "ReactTestApp" — microsoft/react-native-test-app0 reactions · 1 comment
- Jun 23, 2020Split out Xcode build configuration to separate files — microsoft/react-native-test-app0 reactions · 13 comments
- May 14, 2020Setup E2ETest for React Native Win32/NetUI — microsoft/react-native-windows0 reactions · 4 comments
On Bluesky · 1
- Dec 21, 2024Microsoft is developing a UI library, but it’s still in Alpha. — @migueldv90.bsky.social1 likes and repost
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,774 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository24 other files it gives its agents.
- AGENTS.mdAGENTS.md
- apps/storybook/AGENTS.mdAGENTS.md
- packages/agentic/components/AGENTS.mdAGENTS.md
- packages/agentic/design/AGENTS.mdAGENTS.md
- packages/agentic/desktop-driver/AGENTS.mdAGENTS.md
- packages/agentic/desktop-driver-mcp/AGENTS.mdAGENTS.md
- packages/agentic/desktop-test/AGENTS.mdAGENTS.md
- packages/agentic/storybook-desktop/AGENTS.mdAGENTS.md
- packages/agentic/storybook-desktop-runtime/AGENTS.mdAGENTS.md
- packages/deprecated/foundation-compose/AGENTS.mdAGENTS.md
- packages/framework-base/AGENTS.mdAGENTS.md
- packages/framework/framework/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- agentic-component-authoringSkill
- agentic-component-contract-authoringSkill
- agentic-component-optimizationSkill
- agentic-storybook-developmentSkill
- desktop-testingSkill
- fix-security-issuesSkill
- implement-native-componentSkill
- maintain-desktop-testingSkill
- maintain-v0-v1-componentSkill
- review-componentSkill
The file
We split this AGENTS.md into the rules it gives an agent
8 rules. About 0 are common, 4 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 9
Read the user guide, then select the narrowest topic in the reference index:
- Very specific: line 26
Follow R-APPLE-001 through R-APPLE-007 for shared services and renderer adapters.
- Distinctive: line 28
Prefer Swift for new macOS AppKit/domain behavior.
- Very specific: line 53
Use phasedComponent for hook-bearing wrappers: run hooks and create slots in the first phase and return a hook-free directComponent.
- Distinctive: line 56
Keep legacy aliases/registrations and Win32 host ownership.
- Distinctive: line 61
Keep generated code generated and verify packed native ownership.
- Very specific: line 72
Run yarn format, yarn lint, yarn build, and yarn test in this package, plus yarn codegen:windows --check after schema changes and yarn …
- Very specific: line 75
Add a changeset and finish with yarn clean-lage-cache followed by yarn lage buildci.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Native Core agent instructions
This is the instruction root for @fluentui-react-native/native-core and every descendant. The package owns modern
native-backed components and modules, the legacy Callout and FocusZone wrappers, and their macOS and Windows native
implementations.
Start here
Read the user guide, then select the narrowest topic in the reference index:
| Task | Read |
| Public entry points, legacy wrappers, shims, or autolinking | Entry points |
| Modern Callout, FocusZone, popups, or their platform behavior | Modern components |
| JavaScript, spec, native layout, or renderer adapters | Architecture |
| Codegen, registration names, podspecs, or package contents | Codegen, registration, and publishing |
| macOS accessibility that depends on the RNmacOS patch | RNmacOS patch |
| Validation, native stories, or the Apple boundary probe | Contributing |
| Planning work or checking open gates | Remaining work |
Native changes use the implement-native-component skill. Apple changes follow the repository's Apple and Office
rules (R-APPLE-001 through R-APPLE-007, in native.apple-office); Windows Fabric views follow native.windows-fabric.
Invariants
- Follow R-APPLE-001 through R-APPLE-007 for shared services and renderer adapters. Paper
RCT_EXTERN_MODULEfiles never import the generated Swift header or name generated Swift classes. - Prefer Swift for new macOS AppKit/domain behavior. Keep ObjC/ObjC++ for generated protocols, C++ conversion, registration, and renderer integration.
- Paper and Fabric adapters supply resolved views and event sinks to shared behavior. Shared behavior must not traverse renderer registries.
- A Paper
RCTViewsubclass hosted by a Fabric component view has no React tag; keepRCTViewfrom building focus, blur, or key events for it. - Modern and legacy facades share private host implementations. Legacy must not depend on React-19-only public wrappers.
- Components and genuine modules are peer consumers of services. Do not route view commands through a global module or create speculative modules.
- Extract only proven reuse. Share fixtures/contracts before forcing AppKit and Composition into a portable C++ framework.
- AppKit mutations run on the main thread; Windows uses its owning dispatcher. Module invocation does not establish UI affinity.
- Scope view/anchor/focus identities to attachment, surface/window, and generation. Legitimate app-wide non-view services have explicit lifecycle; unscoped global tag/focus registries are forbidden.
- Observers, monitors, requests, and popup links have one owner and idempotent cleanup. Stale cleanup cannot detach a newer registration.
- Async operations settle once through actual native results. Ref availability is not readiness; a void focus return is not confirmation. Preserve errors, distinguish refusal/cancellation/unsupported/timeout, and never autoqueue pre-mount focus requests.
- New wrappers use React 19 ref props. FocusZone preserves its native root; Callout's deliberate presentation handle is documented in its contract.
- Use
phasedComponentfor hook-bearing wrappers: run hooks and create slots in the first phase and return a hook-freedirectComponent. Do not wrap an inner hook component; hook-driven props are consumed by the first phase. - Keep legacy aliases/registrations and Win32 host ownership. Never send a new managed protocol to a baked host without capability evidence.
- Root exports require equivalent mandatory behavior on every supported desktop host. Platform previews, compile checks, and skipped tests are not root admission.
- Keep generated code generated and verify packed native ownership. Preserve the module-named macOS Swift interoperability header.
- Record exact executed validation in the owning Components or Infrastructure workstream issue before switching machines. Keep the references and component contracts aligned with qualified behavior, and track open work only in remaining work (R-PKGDOC-009).
Validation
Run yarn format, yarn lint, yarn build, and yarn test in this package, plus
yarn codegen:windows --check after schema changes and yarn test:apple-integration after macOS changes. Native
qualification requires the native story lanes in contributing.
Add a changeset and finish with yarn clean-lage-cache followed by yarn lage buildci.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

