Source/: main Blazorise libraries (core inSource/Blazorise, providers inSource/Blazorise.*, extensions inSource/Extensions).Build/: shared MSBuild props imported by projects.Tests/: unit tests (Blazorise.Tests,Blazorise.Analyzers.Tests) and E2E tests (Blazorise.E2E.Tests) plus test apps (BasicTestApp.*).Demos/: runnable sample apps for each supported UI provider.Documentation/: docs site source, generator, and server (Documentation/Blazorise.Docs.Server).NuGet/: local packaging helpers/scripts (not the source of truth for versions).- Docs snippets (
Documentation/Blazorise.Docs/Models/Snippets*.cs) are generated artifacts: do not touch any snippet files during AI work (do not create new ones likeSnippets.*.cs), and avoid incidental diffs from running the docs build. Documentation/Blazorise.Docs/ApiDocs/Blazorise.ApiDocs.csis generated: do not edit or touch this file with AI/Codex.Documentation/Blazorise.Docs/Models/Snippets.generated.cs,Documentation/Blazorise.Docs/Resources/docs-index.json, andDocumentation/Blazorise.Docs/Resources/docs-api-index.jsonare generated automatically by docs tooling; incidental changes to these files are expected and should be ignored by AI agents unless explicitly requested otherwise.
AI agents (including Codex and similar tools) MUST NOT automatically run build, test, restore, or other shell commands unless explicitly instructed by a human.
This includes, but is not limited to:
dotnet restoredotnet builddotnet testnpm installnpm run build- Any command that modifies the local file system, caches, or generated artifacts
- Assume read-only analysis by default
- Perform static code review and reasoning
- Read-only search/view commands are OK (e.g.
rg,Select-String,Get-ChildItem,Get-Content)
- Do not execute commands to “verify” changes unless explicitly asked
Commands may be executed only when the user explicitly says so (e.g. “run a build”, “verify by building”, “execute this command”).
Blazorise is a large multi-project repository. Unsolicited command execution:
- wastes time and resources
- pollutes local or sandboxed caches
- creates unnecessary diffs and artifacts
- is rarely required for documentation, refactoring, or review tasks
CI builds with .NET SDK 10.0.x. From the repo root:
dotnet restore
dotnet build -c Release --no-restore
dotnet test .\Tests\Blazorise.Tests\Blazorise.Tests.csproj -c Release --no-build
pwsh .\Tests\Blazorise.E2E.Tests\bin\Release\net10.0\playwright.ps1 install --with-deps
dotnet test .\Tests\Blazorise.E2E.Tests\Blazorise.E2E.Tests.csproj -c Release --no-buildDocs server:
cd .\Documentation\Blazorise.Docs.Server
dotnet watch runCleanup: clean.bat (removes bin/, obj/, and generated docs artifacts).
- Follow
.editorconfig: 4-space indentation, CRLF endings, braces preferred, and explicit types (avoidvarunless it improves clarity). - Always preserve consistent
CRLFline endings per file; never introduce mixedLF/CRLFendings in the same file. - Do not add a trailing newline at EOF; keep file endings without an extra line.
- When editing
*.scssfiles, do not manually edit generated*.cssfiles; CSS will be generated manually by the team. - In Razor markup, prefer Blazorise components (for example
Div,Span) and Blazorise utility parameters (for exampleFlex,Gap,Margin,Padding) instead of raw HTML layout tags and inline styles whenever possible. - Naming: PascalCase for types/members; interfaces start with
I. - Dependency versions are centrally managed in
Directory.Packages.props(don’t hardcodeVersion=inPackageReference).
- Unit tests: xUnit + bUnit (
Tests/Blazorise.Tests). Match existing naming like*ComponentTest.cs. - E2E: Playwright + NUnit (
Tests/Blazorise.E2E.Tests). SeeTests/Blazorise.E2E.Tests/ReadMe.mdfor codegen/debug tips and.runsettingsfor headless settings.
- Branching: target
masterfor new work; targetrel-X.Yfor maintenance. Usedev-*(features) andrel-*(release fixes) branch prefixes. - Commit subjects typically follow
Area: short summaryand often reference PR/issue numbers (e.g.,DataGrid: sync selected rows (#6309)). - PRs: follow
.github/pull_request_template.md, include “How Has This Been Tested?”, link issues (e.g.,Closes #123), and add screenshots for UI/visual changes.
- Report vulnerabilities via
SECURITY.md; do not commit secrets or private keys. - If working on platform-specific demos (e.g., MAUI/Tizen), check
workload-install.ps1for workload setup.