Ng Blatui

io.github.anousss007由 GitHub 帳號 anousss007 發布v1.1.0更新於 Oct 24, 2026

ng-blatui for Angular — search components, blocks, charts & templates and read their typed API.

已驗證Streamable HTTP可網頁執行知識與記憶開發者工具

概覽

AI 產生的概覽

ng-blatui Angular UI 函式庫的遠端 MCP 伺服器,讓助理瀏覽、搜尋並讀取其元件、區塊、圖表與範本的型別化 API 文件。

可以做什麼
  • 列出目錄:157 個 Angular 元件(可依分類篩選)、16 個預設區塊、70 個圖表範例與 35 個整頁範本
  • 依關鍵字搜尋整個登錄檔,涵蓋元件、區塊、圖表與範本
  • 依 slug 取得文件:安裝步驟、匯入方式及完整的結構化 API
  • 只取某個元件的型別化 API:輸入、雙向綁定模型、輸出及引用的型別
適用情境
在使用 ng-blatui 建置 Angular 介面時,讓助理查出正確的元件及其選擇器、輸入與輸出,而不是憑猜測寫程式。也適合在寫程式前尋找相符的區塊、圖表或頁面範本。
執行需求
需要遠端 streamable HTTP 端點;未宣告驗證、環境變數或請求標頭。此函式庫本身須另外以 npm 安裝,並依賴 Angular 21 或 22 以及 Tailwind CSS v4 設定。
安裝前請注意
僅提供唯讀的目錄查詢;輸入中未顯示憑證、付費或寫入操作。回傳文件描述的是第三方函式庫,套用安裝與樣式步驟前請對照官方文件確認。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Ng Blatui,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.anousss007%2Fng-blatui/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "ng-blatui": {
      "type": "http",
      "url": "https://ngblatui.remix-it.com/mcp"
    }
  }
}

README

ng-blatui

[npm] [license] [Angular]

Accessible Angular UI library — a faithful port of BlatUI's visual system to Angular. Built on the official Angular headless stack (Angular Aria + CDK), styled with Tailwind CSS v4 + oklch design tokens.

157 components · 16 blocks · 70 charts · 35 page templates — all standalone, signal-based, zoneless and SSR-safe.

🔗 Docs & live demo → · 📦 npm · 🤖 Using with AI →


Highlights

  • Angular 21 & 22 — standalone components, signals (input()/model()/output()), zoneless change detection, OnPush by default.
  • SSR-ready — every component renders correctly under server-side rendering (the docs site prerenders 280+ static routes).
  • Accessible — behavior built on @angular/aria + @angular/cdk; passes AXE / WCAG AA.
  • Forms-native — every form control implements ControlValueAccessor, so the same component works with Reactive, Template-driven and Signal forms.
  • Themeable — Tailwind v4 utilities + CSS variables (oklch tokens); light/dark out of the box.
  • AI-ready — ships an MCP server, an llms.txt index and a machine-readable registry (see below).

Installation

bash
npm i ng-blatui

Peer dependencies (Angular 21 or 22): @angular/core, @angular/common, @angular/forms, @angular/cdk, @angular/aria.

Tailwind CSS setup

Styling is Tailwind CSS v4. In your app's global stylesheet (e.g. src/styles.css) add three lines:

css
@import 'tailwindcss';@import 'ng-blatui/foundations/blatui.css'; /* design tokens + dark theme */@source '../node_modules/ng-blatui'; /* ← generate the utilities the lib's classes use */

The @source line is the easy one to miss: without it Tailwind never scans ng-blatui's compiled templates, so the components render unstyled. Point it at wherever ng-blatui lives relative to the stylesheet (adjust the ../ depth). Dark mode is a dark class on a parent (<html class="dark">); override any oklch token in :root / .dark to re-theme. Full guide: https://ngblatui.remix-it.com/docs/installation.

Icons

ng-blatui ships no icon set — wire your own (e.g. @ng-icons) with provideIcons(...) and register each icon you use. Components that take an icon accept an SVG path d string, so any icon source works.

Usage

Import the component class from the ng-blatui barrel and add it to a standalone component's imports[] — no NgModule. Selectors are prefixed bui.

ts
import { Component } from '@angular/core';import { BuiButton, BuiBadge, BuiInput } from 'ng-blatui';
@Component({  selector: 'app-demo',  imports: [BuiButton, BuiBadge, BuiInput],  template: `    <label>      Email      <input buiInput type="email" placeholder="[email protected]" />    </label>    <button buiButton>Save <span buiBadge tone="success">New</span></button>  `,})export class Demo {}
  • Element selectors: <bui-avatar>, <bui-rating>, …
  • Attribute/directive selectors: <button buiButton>, <input buiInput>, <span buiBadge tone="success">, …
  • Signals: bind [checked] / (checkedChange) etc.; works under zoneless CD and SSR with no extra setup.
  • Forms: formControlName, [(ngModel)] or [formControl] all work — every control is a ControlValueAccessor.

Form fields: two levels

  • Batteries-included components wire label + hint + error + ARIA for you: BuiInputField, BuiMoneyInput (localized currency; symbol="DH" overrides the ISO code), BuiDateRangePicker (start→end with presets), plus BuiSelect, BuiCombobox, BuiAutocomplete, BuiPhoneInput.
  • Composition primitives for custom layouts: buiField + buiFieldLabel / buiFieldDescription / buiFieldError wrap a bare buiInput / .blat-* control and manage the a11y relationships.

Reach for a bare control (buiInput) only when you also add the buiField scaffolding yourself. Other easy-to-miss building blocks: buiEmpty (empty states), bui-stat (stat cards), buiFieldSet / buiFieldLegend (grouped fields).

Theming

Styling is Tailwind v4 + CSS variables. Override the oklch design tokens (--background, --foreground, --primary, --border, --muted, --radius, …) to restyle everything globally; toggle a dark class for dark mode. See https://ngblatui.remix-it.com/docs/theming.

Localization

Two providers cover the whole library, both set once in your app config:

ts
import { provideBuiLabels, provideBuiLocale } from 'ng-blatui';
providers: [  provideBuiLocale('fr-BE'), // dates, times, numbers, week start, weekend, week numbering  provideBuiLabels({ fileUploadRemove: 'Supprimer le fichier' }), // built-in strings];

Set neither and everything formats as en-US — that is Angular's own LOCALE_ID default, and the usual reason pickers stay American in an app that is not. Resolution runs most-specific first: a component's [locale] input → provideBuiLocale() → the app's LOCALE_ID → en-US. You never need registerLocaleData() here; ng-blatui formats through Intl.

Both providers also take a signal, or a factory run in an injection context — which is what keeps them open to any translation library (Transloco, ngx-translate, a signal store of your own) without ng-blatui depending on one, or knowing any translation format. Full guide, with a Transloco example: https://ngblatui.remix-it.com/docs/localization.

What's inside

Templates are full, production-style pages (dashboard, pricing, auth, store, CRM, blog, docs, e-commerce product, plus 20 art-directed landing pages) — faithful 1:1 reproductions of the BlatUI originals.

Using with AI agents

ng-blatui is built to be consumed by AI coding assistants so they discover and use the catalog correctly instead of guessing — via three layers:

LayerWhatWhere
MCP serverTools to list/search the catalog and fetch full docs + codenpx ng-blatui-mcp
llms.txtThe llms.txt standard indexhttps://ngblatui.remix-it.com/llms.txt
registry.jsonMachine-readable cataloghttps://ngblatui.remix-it.com/registry.json

Quick start (works in Claude, Cursor, Windsurf, Cline, Zed, VS Code…):

bash
claude mcp add ng-blatui -- npx -y ng-blatui-mcp# or add to any MCP client:# { "mcpServers": { "ng-blatui": { "command": "npx", "args": ["-y", "ng-blatui-mcp"] } } }

The MCP server exposes list_components (optional category), list_blocks, list_charts, list_templates, search({ query }) and get_docs({ name }). Full guide with per-client config and copy-paste editor rules: USING-WITH-AI.md.


Development

This is an Angular workspace with two projects: the library (projects/ng-blatui) and the docs/demo app (projects/demo).

bash
git clone https://github.com/anousss007/ng-blatui.gitcd ng-blatuinpm installnpm start          # serve the docs/demo app at http://localhost:4200

Scripts

CommandWhat it does
npm startServe the demo app (ng serve demo)
npm run build:libBuild the publishable library (ng build ng-blatui)
npm run buildBuild the demo site
npm testUnit tests (Vitest)
npm run lintESLint (type-aware, strict) + template a11y
npm run formatPrettier (with Tailwind class sorting)
npm run build:registryRegenerate registry.json + llms.txt from the catalog
npm run capture:previewsCapture template preview images (Playwright)
npm run deploy:siteBuild + deploy the docs site to the VPS

Project structure

projects/  ng-blatui/        # the published library (src/lib/* = 157 component dirs, public-api.ts)  demo/             # docs + live demo site (components/blocks/charts/templates galleries)    src/app/pages/templates/   # the 35 page templates    public/         # static assets incl. generated llms.txt + registry.jsonscripts/  build-registry.mjs   # generates registry.json + llms.txt + mcp/registry.json  capture-previews.mjs # template preview screenshots  deploy-site.sh       # build + rsync to VPSmcp/                # the ng-blatui-mcp MCP server package (published separately).claude/skills/     # angular-best-practices (contributing) + ng-blatui (consuming)AGENTS.md           # guide for AI agents working IN this repoUSING-WITH-AI.md    # guide for consuming ng-blatui WITH an AI agent

Conventions

Angular v22, zoneless, standalone (defaults — never set explicitly). Signals everywhere; native control flow (@if/@for/@switch); no *ngIf/ngClass. Library selector prefix bui, demo prefix app. See AGENTS.md and CONTRIBUTING.md for the full ruleset.

Releasing

  • Library (ng-blatui) — the Release GitHub Actions workflow (manual dispatch) runs semantic-release: it analyzes Conventional Commits, bumps the version, tags, creates a GitHub release and publishes to npm with provenance.
  • MCP server (ng-blatui-mcp) — bump mcp/package.json, then run the Release MCP workflow (manual dispatch) to publish it.

Credits

Angular port of BlatUI (Blade/Laravel + Tailwind component system). Behavior on Angular Aria + CDK.

License

MIT

來源:README.md,提交 692e62b

工具

7

list_components

List ng-blatui's 157 Angular components, optionally filtered by category.

輸入參數category

list_blocks

List 16 prebuilt blocks (login, signup, …).

無需輸入參數。

list_charts

List 70 chart examples.

無需輸入參數。

list_templates

List 35 full page templates.

無需輸入參數。

get_docs

Get a component/block/chart/template's docs by slug: install, import and the full structured API (inputs, two-way models, outputs, types).

輸入參數name必填

get_api

Focused: just the typed API (inputs, two-way models, outputs and referenced types) of a component, by slug.

輸入參數name必填

版本歷史

1
  1. v1.1.0最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分