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 CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ src/ui-ux-pro-max/ # Source of Truth
├── base/ # Base templates (skill-content.md, quick-reference.md)
└── platforms/ # Platform configs (claude.json, cursor.json, ...)

cli/ # CLI installer (uipro-cli on npm)
cli/ # CLI installer (ui-ux-pro-max-cli on npm)
├── src/
│ ├── commands/init.ts # Install command with template generation
│ └── utils/template.ts # Template rendering engine
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ ui-ux-pro-max-skill/
│ ├── data/ # CSV databases (styles, colors, typography, rules)
│ ├── scripts/ # Python search engine & design system generator
│ └── templates/ # Platform-specific skill templates
├── cli/ # npm CLI installer (uipro-cli)
├── cli/ # npm CLI installer (ui-ux-pro-max-cli)
├── .claude/ # Local dev/test files for Claude Code
├── .factory/ # Local dev/test files for Droid (Factory)
├── docs/ # Documentation
Expand Down Expand Up @@ -140,7 +140,7 @@ Types:
feat: add Skeuomorphism 2.0 style to general styles
fix: correct color palette for fintech industry rule
docs: translate README to Spanish
chore: update uipro-cli to v2.6.0
chore: update ui-ux-pro-max-cli to v2.6.0
```

---
Expand Down
24 changes: 13 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
</p>

<p align="center">
<a href="https://www.npmjs.com/package/uipro-cli"><img src="https://img.shields.io/npm/v/uipro-cli?style=flat-square&logo=npm&label=CLI" alt="npm"></a>
<a href="https://www.npmjs.com/package/uipro-cli"><img src="https://img.shields.io/npm/dm/uipro-cli?style=flat-square&label=downloads" alt="npm downloads"></a>
<a href="https://www.npmjs.com/package/ui-ux-pro-max-cli"><img src="https://img.shields.io/npm/v/ui-ux-pro-max-cli?style=flat-square&logo=npm&label=CLI" alt="npm"></a>
<a href="https://www.npmjs.com/package/ui-ux-pro-max-cli"><img src="https://img.shields.io/npm/dm/ui-ux-pro-max-cli?style=flat-square&label=downloads" alt="npm downloads"></a>
<a href="https://github.com/nextlevelbuilder/ui-ux-pro-max-skill/stargazers"><img src="https://img.shields.io/github/stars/nextlevelbuilder/ui-ux-pro-max-skill?style=flat-square&logo=github" alt="GitHub stars"></a>
<a href="https://paypal.me/uiuxpromax"><img src="https://img.shields.io/badge/PayPal-Support%20Development-00457C?style=flat-square&logo=paypal&logoColor=white" alt="PayPal"></a>
</p>
Expand Down Expand Up @@ -266,7 +266,7 @@ Install directly in Claude Code with two commands:

```bash
# Install CLI globally
npm install -g uipro-cli
npm install -g ui-ux-pro-max-cli

# Go to your project
cd /path/to/your/project
Expand All @@ -293,6 +293,8 @@ uipro init --ai augment # Augment
uipro init --ai all # All assistants
```

The npm package is `ui-ux-pro-max-cli`; it still installs the `uipro` command. Older `uipro-cli` releases are stale and should not be used for current assets.

### Global Install (Available for All Projects)

```bash
Expand Down Expand Up @@ -464,7 +466,7 @@ The codebase has been restructured to use a **template-based generation system**
**Always use the CLI to install:**

```bash
npm install -g uipro-cli
npm install -g ui-ux-pro-max-cli
uipro init --ai <platform>
```

Expand Down Expand Up @@ -524,16 +526,16 @@ Use these commit types for correct version bumps:
- `feat:` -> minor release
- `feat!:` or `BREAKING CHANGE:` -> major release

The release workflow only needs the default `GITHUB_TOKEN`; it does not publish to npm.
The release workflow uses the default `GITHUB_TOKEN` for GitHub releases and the repository `NPM_TOKEN` secret to publish `ui-ux-pro-max-cli` to npm.

## Troubleshooting

### `uipro: unknown command 'uninstall'` or `unknown command 'update'`

Your installed version of `uipro-cli` is outdated. Update it and retry:
Your installed version of `ui-ux-pro-max-cli` is outdated. Update it and retry:

```bash
npm install -g uipro-cli@latest
npm install -g ui-ux-pro-max-cli@latest
uipro uninstall
```

Expand Down Expand Up @@ -561,20 +563,20 @@ rm -rf .agents/skills/ui-ux-pro-max # Antigravity
This is a known issue with versions prior to v2.5.1. The repository used symlinks internally which some installation tools can't handle. **Fix:** use the CLI installer instead:

```bash
npm install -g uipro-cli
npm install -g ui-ux-pro-max-cli
uipro init --ai claude
```

Or wait for the next release where this is resolved.

### `npm install -g uipro-cli` fails with permission error
### `npm install -g ui-ux-pro-max-cli` fails with permission error

```bash
# macOS/Linux — use a Node version manager (recommended) or sudo
sudo npm install -g uipro-cli
sudo npm install -g ui-ux-pro-max-cli

# Or use npx without installing globally
npx uipro-cli init --ai claude
npx ui-ux-pro-max-cli init --ai claude
```

### Python not found when running design system commands
Expand Down
6 changes: 3 additions & 3 deletions cli/README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# uipro-cli
# ui-ux-pro-max-cli

CLI to install UI/UX Pro Max skill for AI coding assistants.

## Installation

```bash
npm install -g uipro-cli
npm install -g ui-ux-pro-max-cli
```

## Usage
Expand Down Expand Up @@ -70,7 +70,7 @@ uipro update # updates the global CLI to the latest release
uipro init --ai codex --force # regenerate skill files from the new package
```

`uipro update` runs `npm install -g uipro-cli@latest` for you (it shells out to `npm` only on Windows, where `npm` is a `.cmd`). You can still run that command manually if you prefer. When the CLI is already current, `uipro update` just refreshes the installed skill files.
`uipro update` runs `npm install -g ui-ux-pro-max-cli@latest` for you (it shells out to `npm` only on Windows, where `npm` is a `.cmd`). You can still run that command manually if you prefer. When the CLI is already current, `uipro update` just refreshes the installed skill files.

## Development

Expand Down
4 changes: 2 additions & 2 deletions cli/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion cli/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "uipro-cli",
"name": "ui-ux-pro-max-cli",
"version": "2.5.0",
"description": "CLI to install UI/UX Pro Max skill for AI coding assistants",
"type": "module",
Expand Down
7 changes: 4 additions & 3 deletions cli/src/commands/update.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { initCommand } from './init.js';
import type { AIType } from '../types/index.js';

const __dirname = dirname(fileURLToPath(import.meta.url));
const CLI_PACKAGE_NAME = 'ui-ux-pro-max-cli';

interface UpdateOptions {
ai?: AIType;
Expand Down Expand Up @@ -44,7 +45,7 @@ export async function updateCommand(options: UpdateOptions): Promise<void> {
// reach the shell that npm.cmd requires on Windows.
if (!/^\d+\.\d+\.\d+([.-][0-9A-Za-z.-]+)?$/.test(latestVersion)) {
logger.warn(`Installed CLI is ${chalk.cyan(currentVersion)}; latest release is ${chalk.cyan(release.tag_name)}.`);
logger.info(`Update the CLI package: ${chalk.cyan(`npm install -g uipro-cli@${latestVersion}`)}`);
logger.info(`Update the CLI package: ${chalk.cyan(`npm install -g ${CLI_PACKAGE_NAME}@${latestVersion}`)}`);
logger.info('Then rerun: uipro init --ai <platform> --force');
return;
}
Expand All @@ -58,13 +59,13 @@ export async function updateCommand(options: UpdateOptions): Promise<void> {
// On Windows npm is npm.cmd, which Node only spawns via a shell.
execFileSync(
isWindows ? 'npm.cmd' : 'npm',
['install', '-g', `uipro-cli@${latestVersion}`],
['install', '-g', `${CLI_PACKAGE_NAME}@${latestVersion}`],
{ stdio: 'inherit', shell: isWindows }
);
} catch {
console.log();
logger.error('Automatic update failed (you may need elevated/admin permissions).');
logger.info(`Update manually: ${chalk.cyan(`npm install -g uipro-cli@${latestVersion}`)}`);
logger.info(`Update manually: ${chalk.cyan(`npm install -g ${CLI_PACKAGE_NAME}@${latestVersion}`)}`);
process.exit(1);
}

Expand Down
7 changes: 4 additions & 3 deletions cli/src/utils/github.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import type { Release } from '../types/index.js';
const REPO_OWNER = 'nextlevelbuilder';
const REPO_NAME = 'ui-ux-pro-max-skill';
const API_BASE = 'https://api.github.com';
const USER_AGENT = 'ui-ux-pro-max-cli';

export class GitHubRateLimitError extends Error {
constructor(message: string) {
Expand Down Expand Up @@ -56,7 +57,7 @@ export async function fetchReleases(token?: string): Promise<Release[]> {
const response = await fetch(url, {
headers: {
'Accept': 'application/vnd.github.v3+json',
'User-Agent': 'uipro-cli',
'User-Agent': USER_AGENT,
...getAuthHeaders(token),
},
});
Expand All @@ -76,7 +77,7 @@ export async function getLatestRelease(token?: string): Promise<Release> {
const response = await fetch(url, {
headers: {
'Accept': 'application/vnd.github.v3+json',
'User-Agent': 'uipro-cli',
'User-Agent': USER_AGENT,
...getAuthHeaders(token),
},
});
Expand All @@ -93,7 +94,7 @@ export async function getLatestRelease(token?: string): Promise<Release> {
export async function downloadRelease(url: string, dest: string, token?: string): Promise<void> {
const response = await fetch(url, {
headers: {
'User-Agent': 'uipro-cli',
'User-Agent': USER_AGENT,
'Accept': 'application/octet-stream',
...getAuthHeaders(token),
},
Expand Down
2 changes: 1 addition & 1 deletion docs/三个 data-scripts-templates 的区别.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
|------|------|--------|
| **src/ui-ux-pro-max/** | **唯一源码**。所有 CSV、脚本、模板都在这里改,是“唯一真相来源”。 | ❌ 不能删,这是你要维护的那一份。 |
| **.claude/skills/ui-ux-pro-max/** | 给 **Cursor / Claude Code** 用的 Skill。AI 从这里读 SKILL.md 和运行 `scripts/search.py`。设计上这里的 data、scripts 应是**指向 src 的符号链接**,这样不用维护两份。 | ❌ 不能删(否则 Skill 不工作);但可以改成只链到 src,不保留副本。 |
| **cli/assets/** | 给 **npm 包 uipro-cli** 打包用。用户执行 `npm i -g uipro-cli` 再 `uipro init` 时,安装的是这里打包进去的 data/scripts/templates。 | ❌ 不能删;发布前用脚本从 src 同步过来即可。 |
| **cli/assets/** | 给 **npm 包 ui-ux-pro-max-cli** 打包用。用户执行 `npm i -g ui-ux-pro-max-cli` 再 `uipro init` 时,安装的是这里打包进去的 data/scripts/templates。 | ❌ 不能删;发布前用脚本从 src 同步过来即可。 |

## 可以只保留一个吗?

Expand Down
2 changes: 1 addition & 1 deletion skill.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,5 @@
"antigravity",
"openclaw"
],
"install": "npx uipro-cli init --ai {{platform}}"
"install": "npx ui-ux-pro-max-cli init --ai {{platform}}"
}