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
2 changes: 1 addition & 1 deletion .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"$schema": "https://unpkg.com/@changesets/config@3.1.1/schema.json",
"changelog": ["@changesets/changelog-github", { "repo": "ruma-ui/ui" }],
"commit": false,
"fixed": [["@rumaui/ui", "@rumaui/cli"]],
"fixed": [["@ruma-org/ui", "@ruma-org/cli"]],
"linked": [],
"access": "public",
"baseBranch": "dev",
Expand Down
234 changes: 0 additions & 234 deletions CHANGELOG.md

This file was deleted.

2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -439,7 +439,7 @@ BREAKING CHANGE: The old \`color\` prop has been replaced with \`variant\`"
```tsx
// ComponentName.tsx
import React from "react";
import { cn } from "@rumaui/ui";
import { cn } from "@ruma-org/ui";

export interface ComponentNameProps {
/**
Expand Down
36 changes: 18 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
built with TypeScript, Tailwind CSS v4, and enterprise CI/CD.

[![CI](https://img.shields.io/github/actions/workflow/status/ruma-ui/ui/ci.yml?branch=dev&style=flat-square&label=CI)](https://github.com/ruma-ui/ui/actions/workflows/ci.yml)
[![npm version](https://img.shields.io/npm/v/@rumaui/ui?style=flat-square&color=6366f1&label=%40rumaui%2Fui)](https://www.npmjs.com/package/@rumaui/ui)
[![CLI version](https://img.shields.io/npm/v/@rumaui/cli?style=flat-square&color=8b5cf6&label=%40rumaui%2Fcli)](https://www.npmjs.com/package/@rumaui/cli)
[![npm version](https://img.shields.io/npm/v/@ruma-org/ui?style=flat-square&color=6366f1&label=%40rumaui%2Fui)](https://www.npmjs.com/package/@ruma-org/ui)
[![CLI version](https://img.shields.io/npm/v/@ruma-org/cli?style=flat-square&color=8b5cf6&label=%40rumaui%2Fcli)](https://www.npmjs.com/package/@ruma-org/cli)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](CONTRIBUTING.md)

[Documentation](https://ruma.5dev.in) · [Storybook](https://ruma-ui.github.io/ui/storybook/) · [npm](https://www.npmjs.com/package/@rumaui/ui) · [Changelog](CHANGELOG.md)
[Documentation](https://ruma.5dev.in) · [Storybook](https://ruma-ui.github.io/ui/storybook/) · [npm](https://www.npmjs.com/package/@ruma-org/ui) · [Changelog](CHANGELOG.md)

</div>

Expand All @@ -23,17 +23,17 @@ built with TypeScript, Tailwind CSS v4, and enterprise CI/CD.

This is an [Nx](https://nx.dev)-managed monorepo. It contains two published packages:

| Package | Version | Description |
| -------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| [`@rumaui/ui`](./ui/) | [![npm](https://img.shields.io/npm/v/@rumaui/ui?style=flat-square)](https://npmjs.com/package/@rumaui/ui) | Pre-built, tree-shakeable React component library (49 components) |
| [`@rumaui/cli`](./packages/cli/) | [![npm](https://img.shields.io/npm/v/@rumaui/cli?style=flat-square)](https://npmjs.com/package/@rumaui/cli) | CLI to initialise and add components to your project |
| Package | Version | Description |
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| [`@ruma-org/ui`](./ui/) | [![npm](https://img.shields.io/npm/v/@ruma-org/ui?style=flat-square)](https://npmjs.com/package/@ruma-org/ui) | Pre-built, tree-shakeable React component library (49 components) |
| [`@ruma-org/cli`](./packages/cli/) | [![npm](https://img.shields.io/npm/v/@ruma-org/cli?style=flat-square)](https://npmjs.com/package/@ruma-org/cli) | CLI to initialise and add components to your project |

### Which should I use?

| Approach | Package | Best for |
| --------------------- | ------------- | -------------------------------------------------- |
| **Import from npm** | `@rumaui/ui` | Quick integration, auto-updates, minimal setup |
| **Copy into project** | `@rumaui/cli` | Full control, customisation, shadcn-style workflow |
| Approach | Package | Best for |
| --------------------- | --------------- | -------------------------------------------------- |
| **Import from npm** | `@ruma-org/ui` | Quick integration, auto-updates, minimal setup |
| **Copy into project** | `@ruma-org/cli` | Full control, customisation, shadcn-style workflow |

Both approaches can be used together.

Expand All @@ -44,12 +44,12 @@ Both approaches can be used together.
### Option A — Import from npm

```bash
npm install @rumaui/ui
npm install @ruma-org/ui
```

```tsx
import { Button } from "@rumaui/ui";
import "@rumaui/ui/ui.css";
import { Button } from "@ruma-org/ui";
import "@ruma-org/ui/ui.css";

export default function App() {
return <Button size="lg">Hello Ruma UI</Button>;
Expand All @@ -59,8 +59,8 @@ export default function App() {
### Option B — Add components via CLI

```bash
npx @rumaui/cli init
npx @rumaui/cli add button modal toast
npx @ruma-org/cli init
npx @ruma-org/cli add button modal toast
```

---
Expand All @@ -69,7 +69,7 @@ npx @rumaui/cli add button modal toast

```text
ruma-ui/ui
├── ui/ # @rumaui/ui — main component library
├── ui/ # @ruma-org/ui — main component library
│ ├── src/
│ │ ├── components/ # 49 React components
│ │ ├── lib/ # Shared utilities (cn, etc.)
Expand All @@ -78,7 +78,7 @@ ruma-ui/ui
│ └── .storybook/ # Storybook configuration
├── packages/
│ └── cli/ # @rumaui/cli — CLI tool
│ └── cli/ # @ruma-org/cli — CLI tool
│ └── src/
│ ├── commands/ # init.ts, add.ts
│ └── index.ts
Expand Down
10 changes: 5 additions & 5 deletions graph.json
Original file line number Diff line number Diff line change
Expand Up @@ -715,18 +715,18 @@
"implicitDependencies": []
}
},
"@rumaui/source": {
"name": "@rumaui/source",
"@ruma-org/source": {
"name": "@ruma-org/source",
"type": "app",
"data": {
"root": ".",
"name": "@rumaui/source",
"name": "@ruma-org/source",
"includedScripts": [],
"tags": ["npm:private"],
"metadata": {
"targetGroups": {},
"js": {
"packageName": "@rumaui/source",
"packageName": "@ruma-org/source",
"isInPackageManagerWorkspaces": true
}
},
Expand All @@ -752,7 +752,7 @@
"demo": [],
"www": [],
"ui": [],
"@rumaui/source": []
"@ruma-org/source": []
}
}
}
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "@rumaui/source",
"name": "@ruma-org/source",
"version": "0.1.0-dev.0",
"private": true,
"description": "A modern, production-ready React UI component library built with TypeScript, Tailwind CSS, and Nx.",
Expand Down
40 changes: 20 additions & 20 deletions packages/cli/README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
<div align="center">

# @rumaui/cli
# @ruma-org/cli

**The official CLI for Ruma UI** — scaffold projects, initialise configuration, and add components to your React application in one command.

[![npm version](https://img.shields.io/npm/v/@rumaui/cli?style=flat-square&color=6366f1)](https://www.npmjs.com/package/@rumaui/cli)
[![npm downloads](https://img.shields.io/npm/dm/@rumaui/cli?style=flat-square&color=6366f1)](https://www.npmjs.com/package/@rumaui/cli)
[![npm version](https://img.shields.io/npm/v/@ruma-org/cli?style=flat-square&color=6366f1)](https://www.npmjs.com/package/@ruma-org/cli)
[![npm downloads](https://img.shields.io/npm/dm/@ruma-org/cli?style=flat-square&color=6366f1)](https://www.npmjs.com/package/@ruma-org/cli)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT)

[Documentation](https://ruma.5dev.in/docs/cli) · [npm](https://www.npmjs.com/package/@rumaui/cli) · [GitHub](https://github.com/ruma-ui/ui)
[Documentation](https://ruma.5dev.in/docs/cli) · [npm](https://www.npmjs.com/package/@ruma-org/cli) · [GitHub](https://github.com/ruma-ui/ui)

</div>

Expand All @@ -31,14 +31,14 @@

## Overview

`@rumaui/cli` is a zero-config CLI that brings the Ruma UI component library into any React project:
`@ruma-org/cli` is a zero-config CLI that brings the Ruma UI component library into any React project:

1. **`init`** — detect your framework, configure aliases, create `components.json`, install utilities
2. **`add`** — pull individual components from the Ruma registry directly into your source tree

Components are copied as source files (not imported from npm), giving you full ownership and customisability — similar to [shadcn/ui](https://ui.shadcn.com/).

> The npm package `@rumaui/ui` contains the pre-built, tree-shakeable version of the library. The CLI is the alternative "copy-into-your-project" approach — use whichever fits your workflow.
> The npm package `@ruma-org/ui` contains the pre-built, tree-shakeable version of the library. The CLI is the alternative "copy-into-your-project" approach — use whichever fits your workflow.

---

Expand All @@ -47,13 +47,13 @@ Components are copied as source files (not imported from npm), giving you full o
Run without installing using `npx`:

```bash
npx @rumaui/cli <command> [options]
npx @ruma-org/cli <command> [options]
```

Or install globally:

```bash
npm install -g @rumaui/cli
npm install -g @ruma-org/cli
ruma-ui <command> [options]
```

Expand All @@ -66,7 +66,7 @@ ruma-ui <command> [options]
Initialises Ruma UI in your project. Run this once per project.

```bash
npx @rumaui/cli init [options]
npx @ruma-org/cli init [options]
```

#### What it does
Expand All @@ -91,16 +91,16 @@ npx @rumaui/cli init [options]

```bash
# Interactive — asks alias and CSS file questions
npx @rumaui/cli init
npx @ruma-org/cli init

# Non-interactive — uses all defaults instantly
npx @rumaui/cli init --yes
npx @ruma-org/cli init --yes

# Scaffold a brand-new Next.js app called "my-dashboard" and initialise
npx @rumaui/cli init --template next --name my-dashboard --yes
npx @ruma-org/cli init --template next --name my-dashboard --yes

# Initialise inside a specific directory
npx @rumaui/cli init --cwd ./apps/web
npx @ruma-org/cli init --cwd ./apps/web
```

#### Interactive Prompts
Expand All @@ -122,7 +122,7 @@ When run without `--yes`, `init` asks:
✔ Dependencies installed successfully.

🎉 ruma-ui initialized! You can now add components using:
npx @rumaui/cli add button
npx @ruma-org/cli add button
```

---
Expand All @@ -132,7 +132,7 @@ When run without `--yes`, `init` asks:
Adds one or more Ruma UI components to your project by fetching them from the registry.

```bash
npx @rumaui/cli add [components...] [options]
npx @ruma-org/cli add [components...] [options]
```

#### What it does
Expand Down Expand Up @@ -160,21 +160,21 @@ npx @rumaui/cli add [components...] [options]

```bash
# Add a single component
npx @rumaui/cli add button
npx @ruma-org/cli add button

# Add multiple components at once
npx @rumaui/cli add button card modal toast
npx @ruma-org/cli add button card modal toast

# Overwrite existing files
npx @rumaui/cli add button --overwrite
npx @ruma-org/cli add button --overwrite

# Add components to a specific directory
npx @rumaui/cli add table --cwd ./apps/dashboard
npx @ruma-org/cli add table --cwd ./apps/dashboard
```

#### Available Components

All 49 components from `@rumaui/ui` are available via `add`:
All 49 components from `@ruma-org/ui` are available via `add`:

```
accordion alert avatar badge breadcrumb
Expand Down
12 changes: 11 additions & 1 deletion packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,20 @@
{
"name": "@rumaui/cli",
"name": "@ruma-org/cli",
"version": "0.1.0-dev.0",
"description": "CLI for adding ruma-ui components to your React project",
"bin": {
"ruma-ui": "dist/index.js"
},
"license": "MIT",
"author": "Ruma UI",
"repository": {
"type": "git",
"url": "git+https://github.com/ruma-ui/ui.git",
"directory": "packages/cli"
},
"publishConfig": {
"access": "public"
},
"type": "module",
"scripts": {
"build": "tsup src/index.ts --format esm --dts --clean",
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/src/commands/add.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ export async function runAdd(components: string[], options: AddOptions) {
const configPath = path.join(cwd, "components.json");

if (!fs.existsSync(configPath)) {
console.error("❌ components.json not found. Please run `npx @rumaui/cli init` first.");
console.error("❌ components.json not found. Please run `npx @ruma-org/cli init` first.");
process.exit(1);
}

Expand Down
2 changes: 1 addition & 1 deletion packages/cli/src/commands/init.ts
Original file line number Diff line number Diff line change
Expand Up @@ -275,5 +275,5 @@ export async function runInit(options: InitOptions) {
}

console.log("\n🎉 ruma-ui initialized! You can now add components using:");
console.log(" npx @rumaui/cli add button\n");
console.log(" npx @ruma-org/cli add button\n");
}
2 changes: 1 addition & 1 deletion packages/cli/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ program
.action(async (components, options) => {
if (!components || components.length === 0) {
console.log(
"Please specify components to add (e.g. `npx @rumaui/cli add button card modal`)"
"Please specify components to add (e.g. `npx @ruma-org/cli add button card modal`)"
);
return;
}
Expand Down
2 changes: 1 addition & 1 deletion project.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "@rumaui/source",
"name": "@ruma-org/source",
"$schema": "node_modules/nx/schemas/project-schema.json",
"targets": {
"local-registry": {
Expand Down
4 changes: 2 additions & 2 deletions scripts/build-registry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ function getDependenciesFromContent(content: string): string[] {
}

function buildRegistry() {
console.log("🔨 Building @rumaui registry...");
console.log("🔨 Building @ruma-org registry...");

const registryItems: RegistryItem[] = [];

Expand Down Expand Up @@ -128,7 +128,7 @@ function buildRegistry() {
name: compLower,
type: "registry:ui",
title: compName,
description: `Production-ready ${compName} component for @rumaui`,
description: `Production-ready ${compName} component for @ruma-org`,
dependencies,
registryDependencies: Array.from(registryDeps),
files,
Expand Down
2 changes: 1 addition & 1 deletion tsconfig.base.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"skipDefaultLibCheck": true,
"baseUrl": ".",
"paths": {
"@rumaui/ui": ["ui/src/index.ts"]
"@ruma-org/ui": ["ui/src/index.ts"]
}
},
"exclude": ["node_modules", "tmp"]
Expand Down
Loading
Loading