Contributing to Blazor Blueprint UI

February 28, 2026 ยท View on GitHub

Thank you for your interest in contributing to Blazor Blueprint UI! ๐ŸŽ‰ We welcome all contributions โ€” whether it's bug fixes, new features, documentation improvements, or tooling enhancements.


๐Ÿ“‹ Table of Contents


Getting Started

  1. Fork this repository to your own GitHub account

  2. Clone your fork locally:

    git clone https://github.com/<your-username>/ui.git
    cd ui
    
  3. Set the upstream remote so you can pull in future changes:

    git remote add upstream https://github.com/blazorblueprintui/ui.git
    
  4. Download the Tailwind CSS standalone CLI:

    Blazor Blueprint uses the Tailwind CSS standalone CLI โ€” no Node.js or npm required. The binary is not included in the repository and must be downloaded before your first build.

    Run the appropriate script from the tools/ directory:

    Linux / macOS:

    cd tools
    ./install.sh
    

    Windows (PowerShell):

    cd tools
    .\install.ps1
    

    The MSBuild target (tools/tailwind.targets) is imported by BlazorBlueprint.Components and runs automatically on every build โ€” no manual Tailwind invocation needed.

  5. Install dependencies and verify the project builds:

    dotnet build
    

Branching Strategy

โš ๏ธ Important: Please do not target main with your pull requests. main reflects the latest released version of the NuGet package only.

BranchPurpose
mainReleased, stable code โ€” mirrors the published NuGet package
developActive development โ€” all features and fixes accumulate here
feature/*Individual feature branches, branched off develop
fix/*Bug fix branches, branched off develop

For contributors:

  • Always branch off develop:
    git fetch upstream
    git checkout -b feature/my-new-feature upstream/develop
    
  • Always target develop as the base branch when opening a pull request
  • main is only updated by maintainers when cutting a new release

Submitting a Pull Request

  1. Ensure your branch is based off the latest develop:
    git fetch upstream
    git rebase upstream/develop
    
  2. Push your branch to your fork:
    git push origin feature/my-new-feature
    
  3. Open a pull request from your fork's branch targeting blazorblueprintui/ui:develop
  4. Fill in the pull request template completely
  5. Wait for a review โ€” we aim to respond within a few days

Commit Messages

We follow the Conventional Commits specification:

<type>(scope): short description

[optional body]

Types:

  • feat โ€” a new feature
  • fix โ€” a bug fix
  • docs โ€” documentation changes only
  • refactor โ€” code change that neither fixes a bug nor adds a feature
  • style โ€” formatting, missing semicolons, etc.
  • test โ€” adding or updating tests
  • chore โ€” build process or tooling changes

Examples:

feat(Combobox): add SearchQuery parameter for async filtering
fix(InputOTP): implement paste support via JS interop
docs: add CONTRIBUTING.md

Pull Request Checklist

Before submitting, please ensure:

  • Your branch is based off develop (not main)
  • Your PR targets the develop branch
  • The project builds without errors: dotnet build
  • You have tested your changes on Blazor Server and/or WebAssembly
  • Accessibility and keyboard navigation are unaffected (or improved)
  • Dark mode still works correctly
  • You have updated documentation/demo pages if adding a new feature
  • Your commit messages follow the Conventional Commits format

Code Style

  • Follow the existing code patterns and conventions in the codebase
  • Use meaningful variable and parameter names
  • Add XML doc comments (/// <summary>) to public parameters and methods
  • Keep components focused โ€” one responsibility per component

Reporting Bugs

Please open an issue and include:

  • A clear description of the bug
  • Steps to reproduce
  • Expected vs actual behaviour
  • Blazor hosting model (Server / WebAssembly / Hybrid)
  • Browser and OS
  • A minimal reproduction if possible (link to a StackBlitz, GitHub repo, etc.)

Suggesting Features

We love feature suggestions! Open an issue with:

  • A description of the problem you're trying to solve
  • Your proposed solution or API design
  • Any relevant examples from other component libraries

Thank You โค๏ธ

Every contribution, no matter how small, helps make Blazor Blueprint UI better for everyone.