
Security News
Re-Enabled GitHub Actions Expose Thousands of Repositories to Mini Shai-Hulud
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.
A powerful CLI tool for managing and deploying UI components with automatic scanning, dependency management, and docs generation.
# Install dependencies
npm install
# Initialize CLI in a project
node index.js init
# List all available components
node index.js list
# Add a specific component
node index.js add button
# Deploy a single component to docs
./scripts/deploy-component.sh button
# 🆕 AUTO-SCAN: Deploy ALL valid components automatically
./scripts/deploy-component-scan-basic.sh
npm installnpm run buildinitInitialize the CLI configuration in your project.
node index.js init
listList all available components in the registry.
node index.js list
add <component-name>Add a specific component to your project.
node index.js add button
node index.js add card
We've introduced intelligent auto-scanning that eliminates the need to manually specify component names. The system automatically detects and deploys components that exist in all required locations.
A component will be automatically deployed if it exists in:
cli/ui/<component-name>.tsx - Component implementation filecli/components.json - Component definition with dependenciescli/component-variants.tsx - Component variants (optional, but recommended)🎯 Basic Auto-Scan (Recommended)
./scripts/deploy-component-scan-basic.sh
deploy-component.sh logic⚡ Advanced Auto-Scan
./scripts/deploy-component-auto-scan.sh
🔍 AUTO-SCANNING FOR DEPLOYABLE COMPONENTS (Basic Mode)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 Step 1: Scanning cli/ui/ for component files...
✅ Found 23 component files
📋 Step 2: Validating components...
✅ button: Ready for deployment
✅ card: Ready for deployment
❌ alert: Not ready (missing in components.json)
📊 Validation Summary:
✅ Valid for deployment: 19 components
❌ Invalid/incomplete: 4 components
🚀 Step 3: Deploying 19 valid components...
🎯 Successfully deployed components:
• button → http://localhost:3000/components/button
• card → http://localhost:3000/components/card
• form → http://localhost:3000/components/form
[... and 16 more]
For a component to be auto-deployable, ensure it has:
cli/ui/<name>.tsx)import * as React from "react";
import { cn } from "../lib/utils";
export interface ComponentProps {
// Your props here
}
const Component = React.forwardRef<HTMLDivElement, ComponentProps>(
({ className, ...props }, ref) => {
return (
<div ref={ref} className={cn("base-styles", className)} {...props} />
);
}
);
Component.displayName = "Component";
export { Component };
cli/components.json){
"components": {
"component-name": {
"name": "component-name",
"type": "components:ui",
"dependencies": ["@radix-ui/react-slot"],
"files": [{ "name": "component-name.tsx", "content": "" }],
"category": "Form",
"subcategory": "Input"
}
}
}
cli/component-variants.tsx)export const componentVariants: ComponentVariants = {
"component-name": [
{
name: "Default",
description: "Basic component usage",
code: `import { Component } from "@/components/ui/component-name"
export function ComponentDemo() {
return <Component>Hello World</Component>
}`,
},
],
};
# Deploy a single component
./scripts/deploy-component.sh button
# Deploy with advanced features
./scripts/deploy-component-auto.sh button
# Deploy all components (old method)
./scripts/deploy-all-components.sh
# Basic auto-scan (recommended)
./scripts/deploy-component-scan-basic.sh
# Advanced auto-scan
./scripts/deploy-component-auto-scan.sh
# Sync a single component
./scripts/sync-component.sh button
# Sync with full features
./scripts/sync-component-full.sh button
# Sync all components
./scripts/sync-all-components.sh
Create the component file
touch cli/ui/my-component.tsx
Add to components.json
# Add component definition with dependencies
Add variants
# Add to cli/component-variants.tsx
Auto-deploy
./scripts/deploy-component-scan-basic.sh
Simply run the auto-scan script to redeploy all components:
./scripts/deploy-component-scan-basic.sh
| Script | Manual Names | Auto-Scan | DynamicRenderer | Best For |
|---|---|---|---|---|
deploy-component.sh | ✅ | ❌ | ❌ | Single component |
deploy-component-auto.sh | ✅ | ❌ | ✅ | Single component + renderer |
deploy-all-components.sh | ❌ | ⚠️ (basic) | ❌ | All components (old) |
deploy-component-scan-basic.sh | ❌ | ✅ | ❌ | Auto-scan (recommended) |
deploy-component-auto-scan.sh | ❌ | ✅ | ✅ | Auto-scan + advanced features |
MIT License - see LICENSE.md for details.
🚀 Pro Tip: Use ./scripts/deploy-component-scan-basic.sh for the best automated deployment experience!
FAQs
ZedBlock UI Component Library CLI - Add beautiful components to your project
The npm package aaspaiui receives a total of 0 weekly downloads. As such, aaspaiui popularity was classified as not popular.
We found that aaspaiui demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.

Research
/Security News
A malicious Firefox extension fetches its payload after installation to evade detection, steal Google session cookies, and automate account takeover.

Research
/Security News
The compromise affects MemTensor's MemOS, an open source memory framework for large language models (LLMs) and AI agents. Both npm package @memtensor/memos-cloud-openclaw-plugin and the PyPI package MemoryOS are compromised. They drop cross-platform Go binaries that exfiltrate developer secrets.