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
23 changes: 22 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ on:
tags:
- 'v*.*.*'

permissions:
contents: write

jobs:
publish:
runs-on: ubuntu-latest
Expand All @@ -29,9 +32,27 @@ jobs:
run: dotnet test --no-restore --configuration Release

- name: Pack NuGet packages
run: dotnet pack --no-restore --configuration Release
run: dotnet pack --no-build --configuration Release -p:ContinuousIntegrationBuild=true

- name: Publish to NuGet
run: |
dotnet nuget push **/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
dotnet nuget push **/*.snupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate

- name: Extract version from tag
id: version
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
name: ShellUI v${{ steps.version.outputs.VERSION }}
body_path: docs/RELEASE_NOTES.md
draft: false
prerelease: ${{ contains(github.ref, '-') }}
files: |
src/ShellUI.CLI/bin/Release/*.nupkg
src/ShellUI.Components/bin/Release/*.nupkg
src/ShellUI.Core/bin/Release/*.nupkg
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
23 changes: 21 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,25 @@
# ShellUI
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="images/Shellui-dark.png">
<source media="(prefers-color-scheme: light)" srcset="images/Shellui-light.png">
<img alt="ShellUI Logo" src="images/Shellui-light.png" width="120">
</picture>
</p>

<h1 align="center">ShellUI</h1>

<p align="center">
A modern, CLI-first Blazor component library inspired by <a href="https://ui.shadcn.com/">shadcn/ui</a>.<br/>
Copy components directly into your project and customize them to match your needs.
</p>

<p align="center">
<a href="https://www.nuget.org/packages/ShellUI.Components"><img src="https://img.shields.io/nuget/v/ShellUI.Components?style=flat-square&logo=nuget&color=004880" alt="NuGet"></a>
<a href="https://www.nuget.org/packages/ShellUI.CLI"><img src="https://img.shields.io/nuget/v/ShellUI.CLI?style=flat-square&logo=nuget&label=CLI&color=004880" alt="CLI"></a>
<a href="https://github.com/shellui-dev/shellui/blob/main/LICENSE.txt"><img src="https://img.shields.io/badge/license-MIT-blue?style=flat-square" alt="License"></a>
</p>

A modern, CLI-first Blazor component library inspired by shadcn/ui. Copy components directly into your project and customize them to match your needs.
---

**New here? Check out the [Quick Start](#quick-start) section below!**

Expand Down
72 changes: 72 additions & 0 deletions docs/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# ShellUI v0.1.0 🎉

> Beautiful, accessible Blazor components inspired by shadcn/ui

## ✨ Highlights

This is the **first official release** of ShellUI - a CLI-first Blazor component library that brings the shadcn/ui philosophy to .NET developers.

### 🚀 What's Included

#### CLI Tool (`ShellUI.CLI`)
- **`shellui init`** - Initialize your Blazor project with Tailwind CSS
- **`shellui add <component>`** - Add individual components to your project
- **`shellui list`** - List all available components
- **`shellui remove <component>`** - Remove installed components
- **`shellui update`** - Update components to the latest version

#### Components Library (`ShellUI.Components`)
Pre-built components for NuGet installation:
- **Button** - Interactive button with variants (default, destructive, outline, secondary, ghost, link)
- **Badge** - Status indicators with multiple variants
- **Alert** - Notification banners with icons
- **Card** - Content containers with header, content, and footer sections
- **Input** - Form input fields
- **Label** - Accessible form labels
- **Separator** - Visual dividers
- **Shell utilities** - `Shell.Cn()` for Tailwind class merging

## 📦 Installation

### Option 1: CLI (Recommended)
```bash
# Install the CLI globally
dotnet tool install -g ShellUI.CLI

# Initialize your project
shellui init

# Add components
shellui add button badge alert card
```

### Option 2: NuGet Package
```bash
dotnet add package ShellUI.Components
```

## 🎨 Styling

ShellUI uses **Tailwind CSS v4** with CSS variables for theming. The `shellui init` command automatically sets up:
- Tailwind CSS standalone CLI (no Node.js required)
- CSS variables for light/dark themes
- Component styling aligned with shadcn/ui

## 📋 Requirements

- .NET 9.0 or later
- Blazor Server, WebAssembly, or Interactive modes

## 🔗 Links

- **Documentation**: https://shellui.dev
- **GitHub**: https://github.com/shellui-dev/shellui
- **NuGet**: https://www.nuget.org/packages/ShellUI.Components

## 🙏 Acknowledgments

Inspired by [shadcn/ui](https://ui.shadcn.com/) - the beautiful React component library.

---

**Full Changelog**: https://github.com/shellui-dev/shellui/commits/v0.1.0
Loading
Loading