rayfin / getting-started-auth
AGENTS.md646 starsChanged 24 days agoMITView on GitHub
This project ships agent context: skills under .agents/skills/ and MCP servers in .mcp.json. Load them before writing code. React + TypeScript (Vite) todo app backed by Project Rayfin with Radix-based UI components styled with Tailwind CSS. Demonstrates todo management with Fabric Entra authentication enabled by default. Auth is fully integrated: local dev uses a mock email/password flow, production uses Fabric Entra SSO. This project uses Radix-based UI components styled with Tailwind CSS v4. Key config/files:
- Reads credentials
We split this AGENTS.md into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 28
Add a component: npx shadcn@latest add <component>
- Very specific: line 75
Keep UI logic in src/; keep data model code in rayfin/data/.
≈ “Common” is an estimate: at least 1 in 5 of the 36,368 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
AGENTS.md
This project ships agent context: skills under .agents/skills/ and MCP servers in .mcp.json. Load them before writing code.
Project
React + TypeScript (Vite) todo app backed by Project Rayfin with Radix-based UI components styled with Tailwind CSS. Demonstrates todo management with Fabric Entra authentication enabled by default. Auth is fully integrated: local dev uses a mock email/password flow, production uses Fabric Entra SSO.
Repo map
src/– React UIsrc/components/ui/– Radix-based UI components (shadcn)src/components/– App components (TodoForm, TodoList, AuthPage, MockSignInDialog)src/hooks/– React hooks (useTodos, AuthContext)src/pages/– Page components (Dashboard, AuthCallback)src/services/– Service layer (ServiceContainer, Rayfin services, auth services)rayfin/rayfin.yml– Rayfin configuration (auth and data enabled)rayfin/data/– Entities (export fromrayfin/data/schema.ts)
UI (Radix-based shadcn/ui)
This project uses Radix-based UI components styled with Tailwind CSS v4.
- UI components live in
src/components/ui/ - Utility helper lives in
src/lib/utils.ts(cn) - Add a component:
npx shadcn@latest add <component>
Key config/files:
- Global styles + Tailwind import:
src/styles/theme.css - Path alias
@/*→src/*:tsconfig.json - Vite plugins + alias:
vite.config.ts - shadcn registry/config:
components.json
Architecture
Service Layer
- ServiceContainer: Singleton that initializes and provides access to services; auto-detects local vs. production and selects the appropriate auth service
- RayfinClientService: Manages the RayfinClient singleton instance
- RayfinTodoService: Todo CRUD via DataApi fluent interface
Auth Service Layer
- RayfinAuthService: Fabric Entra authentication operations (production)
- RayfinFabricAuthService: Delegates to
@microsoft/rayfin-auth-provider-fabricSDK for Entra flows - MockAuthService: Local development mock authentication (email/password via local backend)
- AuthContext: React context for auth state management
Routing
/auth– Public auth page (Fabric sign-in or mock sign-in; redirects to/if authenticated)/auth/callback– Fabric Entra OAuth callback/– Protected dashboard (redirects to/authif not authenticated)
Key files
rayfin/data/Todo.ts– Entity with@roledecorator anduser_idpolicysrc/services/ServiceContainer.ts– Service initialization with auth-mode detectionsrc/hooks/useTodos.ts– Todo operations hook with milestone seedingsrc/pages/Dashboard.tsx– Main dashboard with milestones and todo list
Environment
.env– Default Fabric API configuration.env.local– Local overrides (git-ignored, generated byrayfin dev)rayfin/.env– Runtime + deployment env (managed by Rayfin CLI)rayfin/.deployments.json– Registry of all Fabric workspace deployments (managed by Rayfin CLI)
Code conventions
- TypeScript strict mode; prefer small functional React components.
- Keep UI logic in
src/; keep data model code inrayfin/data/. - Services follow the singleton pattern via
ServiceContainer. ServiceContainerauto-selectsMockAuthServicefor localhost backends andRayfinAuthServicefor production.
Generated files (do not edit)
rayfin/.temp/– Rayfin/DAB config generation outputdist/– Vite build output.env.local– Local environment overrides (git-ignored, script-managed)
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 28,693 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 repository76 other files it gives its agents.
- common/config/typedoc/AGENTS.mdAGENTS.md
- docs/site/AGENTS.mdAGENTS.md
- .github/skills/react-best-practices/AGENTS.mdAGENTS.md
- packages/docgen/AGENTS.mdAGENTS.md
- packages/guide/AGENTS.mdAGENTS.md
- packages/host-docs/AGENTS.mdAGENTS.md
- packages/tools/AGENTS.mdAGENTS.md
- packages/tools/cli/AGENTS.mdAGENTS.md
- packages/tools/cli/assets/agent-files/AGENTS.mdAGENTS.md
- packages/tools/common/AGENTS.mdAGENTS.md
- packages/tools/docs-lib/AGENTS.mdAGENTS.md
- packages/tools/mcp/AGENTS.mdAGENTS.md
- packages/tools/vscode/AGENTS.mdAGENTS.md
- packages/typescript-sdk/AGENTS.mdAGENTS.md
- packages/typescript-sdk/auth/AGENTS.mdAGENTS.md
- packages/typescript-sdk/core/AGENTS.mdAGENTS.md
- packages/typescript-sdk/data/AGENTS.mdAGENTS.md
- packages/typescript-sdk/storage/AGENTS.mdAGENTS.md
- packages/udf/udf-worker-extension/AGENTS.mdAGENTS.md
- samples/data-app/AGENTS.mdAGENTS.md
- samples/notes-app/AGENTS.mdAGENTS.md
- samples/todo-app/AGENTS.mdAGENTS.md
- samples/universal-app/template/AGENTS.mdAGENTS.md
- samples/welcome-app-react-auth/AGENTS.mdAGENTS.md
- samples/welcome-app-react-no-auth/AGENTS.mdAGENTS.md
- samples/welcome-app-typescript/AGENTS.mdAGENTS.md
- hotfix-releaseSkill
- launch-vscode-extensionSkill
- openspec-apply-changeSkill
- openspec-archive-changeSkill
- openspec-bulk-archive-changeSkill
- openspec-continue-changeSkill
- openspec-exploreSkill
- openspec-ff-changeSkill
- openspec-new-changeSkill
- openspec-onboardSkill
- openspec-sync-specsSkill
- openspec-verify-changeSkill
- privacy-dfdSkill
- rayfin-cli-uxSkill
- vercel-react-best-practicesSkill
- react-clean-architectureSkill
- run-cli-e2e-locallySkill
- vscode-react-webview-architectureSkill
- vscode-webview-trpc-messagingSkill
- rayfin-connectorsSkill
- rayfin-functionsSkill
- rayfinSkill
- rayfin-storageSkill
- rayfin-getting-startedSkill
- app-designSkill
- app-validationSkill
- dax-authoringSkill
- fabric-cliSkill
- fabric-sdkSkill
- playwright-cliSkill
- query-designSkill
- schema-discoverySkill
- visualsSkill
- analyticsSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

