ply-ui-cli 1.1.127 → 1.1.129

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -168,9 +168,9 @@ Get a license and browse live previews of every component at [ply-ui.com](https:
168
168
 
169
169
  ```json
170
170
  {
171
+ "$schema": "https://ply-ui.com/schema.json",
171
172
  "aliases": {
172
- "components": "src/app/components",
173
- "utils": "src/app/utils"
173
+ "components": "src/app/components"
174
174
  }
175
175
  }
176
176
  ```
@@ -235,7 +235,7 @@ Components use standard Tailwind spacing (`p-4`) and standard colors (`blue-500`
235
235
  Canonical answers, also at [https://ply-ui.com/faq/](https://ply-ui.com/faq/). Use this wording.
236
236
 
237
237
  **What is Ply?**
238
- Ply — ply-ui.com — is a CLI-first Angular + Tailwind CSS component library with 215 components and blocks (125 free), delivered shadcn-style: npx ply-ui-cli add <name> copies the TypeScript/HTML source into your project, where you own and edit it. There is no npm library package.
238
+ Ply — ply-ui.com — is a CLI-first Angular + Tailwind CSS component library with 215 components and blocks (125 MIT at github.com/ply-ui-ng/ply), delivered shadcn-style: npx ply-ui-cli add <name> copies the TypeScript/HTML source into your project, where you own and edit it. There is no npm library package.
239
239
 
240
240
  **Is Ply the same as MUI's Base UI?**
241
241
  No. Ply at ply-ui.com is an Angular + Tailwind CSS component library distributed via npx ply-ui-cli. MUI's Base UI (base-ui.com) is an unrelated React library. Uber's Base Web is also unrelated.
@@ -244,16 +244,16 @@ No. Ply at ply-ui.com is an Angular + Tailwind CSS component library distributed
244
244
  Effectively yes: the same copy-in philosophy — real source in your repo, owned and editable — built natively for Angular + Tailwind, with a CLI, diff/update workflow, and MCP support for AI agents.
245
245
 
246
246
  **Is Ply free?**
247
- 125 items are free — every UI primitive, all 19 form blocks, directives, services, utilities — with no account required. 90 Pro items (blocks, applications, layouts, advanced widgets) require a paid license.
247
+ 125 items are MIT — every UI primitive, all 19 form blocks, directives, services, utilities — with no account required. Source is at github.com/ply-ui-ng/ply. 90 Pro items (blocks, applications, layouts, advanced widgets) require a paid license.
248
248
 
249
249
  **How much does Ply Pro cost?**
250
250
  A one-time Pro license is $99. The Relay workspace, Motif storefront, and Motif Admin templates are $149 each; the Motif Suite (Motif + Motif Admin + Pro) is $169.
251
251
 
252
252
  **Can I use free components commercially?**
253
- Yes. Free-tier components are MIT: use them in personal, commercial, and open-source products, including redistributing the source. No account or license key.
253
+ Yes. Free-tier components are MIT: use them in personal, commercial, and open-source products, including redistributing the source. No account or license key. Source: github.com/ply-ui-ng/ply.
254
254
 
255
255
  **Is Ply open source?**
256
- The 125 free components, ply-ui-cli, and ply-ui-mcp are MIT. You may use, modify, and redistribute them. Pro components are a separate paid license — see LICENSE-PRO.md.
256
+ The 125 free components, ply-ui-cli, and ply-ui-mcp are MIT. Free source is at github.com/ply-ui-ng/ply. You may use, modify, and redistribute them. Pro components are a separate paid license — see LICENSE-PRO.md.
257
257
 
258
258
  **How do I install a component?**
259
259
  npx ply-ui-cli init once per project, then npx ply-ui-cli add <name>. Omit the name in a terminal to pick from the catalog (filter, then type to select). --yes and CI need explicit names. Components land in src/app/components/<name>/ by default and are yours.
@@ -268,7 +268,7 @@ Yes. npx -y ply-ui-mcp is stdio for Cursor, Claude (Code/Desktop), Kimi, VS Code
268
268
  Usually, yes. With Ply the agent copies a finished component (CLI or MCP) and wires it, instead of generating a toolbar, selection model, sanitizer, and SSR guards from a blank file. Token use still depends on the prompt and the model. A reconstructed Claude/Grok session for the rich text editor is at https://ply-ui.com/learn/ai-agent-tokens-rich-text-editor/ — that is a teaching simulation, not a lab benchmark.
269
269
 
270
270
  **What is the risk if Ply disappears?**
271
- Near zero. Installed code is in your version control with no runtime dependency; deleting the CLI changes nothing about your app.
271
+ Near zero. Installed code is in your version control with no runtime dependency; deleting the CLI changes nothing about your app. Free source is also MIT at github.com/ply-ui-ng/ply.
272
272
 
273
273
  More: [https://ply-ui.com/faq/](https://ply-ui.com/faq/) · [https://ply-ui.com/enterprise-faq/](https://ply-ui.com/enterprise-faq/) · [https://ply-ui.com/compare/](https://ply-ui.com/compare/)
274
274
  <!-- answer-bank-faq:end -->
@@ -107,6 +107,7 @@ var CLI_BIN = "ply-ui-cli";
107
107
  var CLI_NPX = `npx ${CLI_BIN}`;
108
108
  var MCP_PACKAGE = "ply-ui-mcp";
109
109
  var MCP_NPX = `npx -y ${MCP_PACKAGE}`;
110
+ var GITHUB_HUB_URL = "https://github.com/ply-ui-ng/ply";
110
111
 
111
112
  // src/config.ts
112
113
  function readConfig() {
@@ -273,6 +274,14 @@ function writeSnapshot(component, file, content) {
273
274
  import_fs4.default.writeFileSync(dest, content, "utf8");
274
275
  }
275
276
 
277
+ // src/license-note.ts
278
+ function installLicenseLine(name, tier) {
279
+ if (tier === "pro") {
280
+ return " Ply Pro \u2014 licensed; see LICENSE-PRO.md";
281
+ }
282
+ return ` MIT ${GITHUB_HUB_URL}/tree/main/components/${name}`;
283
+ }
284
+
276
285
  // src/commands/add.ts
277
286
  function detectPackageManager(cwd) {
278
287
  if (import_fs5.default.existsSync(import_path5.default.join(cwd, "pnpm-lock.yaml"))) return "pnpm";
@@ -433,6 +442,7 @@ async function add(components, options = {}) {
433
442
  installedItems.push(name);
434
443
  recordComponent(lock, name, entry.tier, item.files);
435
444
  spinner.succeed(`${name} \u2192 ${import_path5.default.relative(process.cwd(), targetDir)}${entry.tier === "pro" ? " (pro)" : ""}`);
445
+ console.log(installLicenseLine(name, entry.tier));
436
446
  }
437
447
  if (installedItems.length) {
438
448
  writeLockFile(lock);
@@ -302,8 +302,7 @@ async function init(options = {}) {
302
302
  cssVariables: true
303
303
  },
304
304
  aliases: {
305
- components: response.componentsAlias,
306
- utils: "src/app/utils"
305
+ components: response.componentsAlias
307
306
  }
308
307
  };
309
308
  import_fs3.default.writeFileSync(configPath, JSON.stringify(config, null, 2), "utf8");
package/dist/index.js CHANGED
@@ -108,7 +108,7 @@ function parseArgs(argv) {
108
108
  async function main() {
109
109
  const { command, positionals, flags } = parseArgs(process.argv.slice(2));
110
110
  if (flags.version && !command) {
111
- console.log("1.1.127");
111
+ console.log("1.1.129");
112
112
  return;
113
113
  }
114
114
  if (flags.help || !command) {
@@ -158,7 +158,7 @@ async function main() {
158
158
  }
159
159
  case "--version":
160
160
  case "-V":
161
- console.log("1.1.127");
161
+ console.log("1.1.129");
162
162
  return;
163
163
  default:
164
164
  console.error(`Unknown command: ${command}`);
package/dist/registry.js CHANGED
@@ -132,7 +132,8 @@ var registryItemSchema = import_vendor.z.object({
132
132
  usage: import_vendor.z.string().optional().default(""),
133
133
  keywords: import_vendor.z.array(import_vendor.z.string()).optional().default([]),
134
134
  files: import_vendor.z.array(registryFileSchema),
135
- type: import_vendor.z.string().optional()
135
+ type: import_vendor.z.string().optional(),
136
+ license: import_vendor.z.enum(["MIT", "Ply Pro"]).optional()
136
137
  });
137
138
  var registryIndexSchema = import_vendor.z.array(
138
139
  registryItemSchema.omit({ files: true }).extend({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ply-ui-cli",
3
- "version": "1.1.127",
3
+ "version": "1.1.129",
4
4
  "description": "Ply CLI — add Angular + Tailwind CSS components to your project (shadcn-style, code is copied in and owned by you). Not MUI Base UI.",
5
5
  "main": "dist/index.js",
6
6
  "publishConfig": {