@frontfamily/cli 0.1.1 → 0.1.2

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.
Files changed (2) hide show
  1. package/README.md +118 -37
  2. package/package.json +2 -6
package/README.md CHANGED
@@ -1,60 +1,141 @@
1
- # @frontfamily/cli
1
+ <div align="center">
2
+ <h1>@frontfamily/cli</h1>
3
+ <p>Eject production-ready UI components into any project.<br/>72 templates · 9 frameworks · 8 patterns · works offline.</p>
4
+ <p>
5
+ <a href="https://www.npmjs.com/package/@frontfamily/cli"><img src="https://img.shields.io/npm/v/@frontfamily/cli.svg?style=flat-square&color=3B82F6" alt="npm version"></a>
6
+ <a href="https://www.npmjs.com/package/@frontfamily/cli"><img src="https://img.shields.io/npm/dm/@frontfamily/cli.svg?style=flat-square&color=4ADE80" alt="downloads"></a>
7
+ <img src="https://img.shields.io/badge/license-Apache%202.0-blue.svg?style=flat-square" alt="license">
8
+ </p>
9
+ </div>
2
10
 
3
- Eject production-ready UI components into your project. 72 templates across 9 frameworks and 8 patterns.
11
+ ---
4
12
 
5
- ## Quick Start
13
+ ## Why
14
+
15
+ You need an auth form in Quasar. Or a data table in Chakra. Or a settings panel in Angular Material. Instead of writing it from scratch, eject a tested, production-ready template in one command.
16
+
17
+ All templates are **bundled inside the package** — no network requests, no API keys, no accounts. Works offline, works in CI.
18
+
19
+ ## Install
6
20
 
7
21
  ```bash
8
- # Interactive prompts for pattern + framework
22
+ # Use directly (no install needed)
9
23
  npx @frontfamily/cli eject
10
24
 
11
- # Direct no prompts
12
- npx @frontfamily/cli eject auth-form -f vue-quasar
25
+ # Or install globally
26
+ npm i -g @frontfamily/cli
27
+ frontfamily eject
13
28
  ```
14
29
 
15
- The component file is written to `./components/` in your current directory.
30
+ ## Usage
16
31
 
17
- ## Available Patterns
32
+ ### Interactive mode
18
33
 
19
- | Pattern | Description |
20
- |---|---|
21
- | `data-table` | Sortable, paginated table with status badges |
22
- | `auth-form` | Login/signup with validation, password toggle |
23
- | `card-feed` | Responsive grid of user profile cards |
24
- | `dashboard-stats` | KPI cards with progress bars and trends |
25
- | `modal-dialog` | Confirmation, form, and alert dialogs |
26
- | `nav-bar` | Top nav with links, dropdown, search, mobile drawer |
27
- | `notification-center` | Toast stack with auto-dismiss and history |
28
- | `settings-panel` | Toggles, sliders, radio groups, selects |
34
+ ```bash
35
+ $ npx @frontfamily/cli eject
36
+
37
+ ┌ FrontFamily Eject
38
+
39
+ ◆ Select the UI Pattern:
40
+ │ ○ Data Table
41
+ │ ○ Auth Form ← you pick
42
+ │ ○ Card Feed
43
+ │ ...
44
+
45
+ ◆ Select the framework:
46
+ │ ○ Vue 3 + Quasar ← you pick
47
+ │ ○ React + Chakra UI
48
+ │ ○ React + Material UI
49
+ │ ...
50
+
51
+ ◇ Ejected successfully!
52
+
53
+ └ ✨ Your component is ready at ./components/QuasarAuthForm.vue
54
+ ```
29
55
 
30
- ## Available Frameworks
56
+ ### Direct mode
31
57
 
32
- | ID | Framework | File Type |
58
+ ```bash
59
+ # Skip prompts — specify pattern and framework directly
60
+ npx @frontfamily/cli eject auth-form -f vue-quasar
61
+ npx @frontfamily/cli eject data-table -f react-mui
62
+ npx @frontfamily/cli eject settings-panel -f angular-material
63
+ ```
64
+
65
+ ## Patterns
66
+
67
+ | ID | Name | What you get |
33
68
  |---|---|---|
34
- | `react-chakra` | Chakra UI | `.tsx` |
35
- | `react-mui` | Material UI | `.tsx` |
36
- | `react-antd` | Ant Design | `.tsx` |
37
- | `react-eui` | Elastic EUI | `.tsx` |
38
- | `react-mantine` | Mantine | `.tsx` |
39
- | `react-bootstrap` | Bootstrap | `.tsx` |
40
- | `react-tailwind` | Tailwind | `.tsx` |
41
- | `vue-quasar` | Quasar (Vue 3) | `.vue` |
42
- | `angular-material` | Angular Material | `.ts` |
69
+ | `data-table` | Data Table | Sortable, paginated table with status badges and a11y scores |
70
+ | `auth-form` | Auth Form | Login/signup with validation, password visibility toggle, error states |
71
+ | `card-feed` | Card Feed | Responsive grid of profile cards with avatars, badges, hover effects |
72
+ | `dashboard-stats` | Dashboard Stats | 4 KPI cards with progress bars, trend indicators, department breakdown |
73
+ | `modal-dialog` | Modal Dialog | Confirmation, form, and alert dialogs with overlay and keyboard dismiss |
74
+ | `nav-bar` | Navigation Bar | Top nav with links, dropdown menu, search input, mobile hamburger drawer |
75
+ | `notification-center` | Notifications | Toast stack with auto-dismiss, progress bars, and notification history |
76
+ | `settings-panel` | Settings Panel | Toggles, sliders, radio groups, selects with save/reset actions |
77
+
78
+ ## Frameworks
79
+
80
+ | Flag | ID | Framework | Output |
81
+ |---|---|---|---|
82
+ | ⚛️ | `react-chakra` | Chakra UI | `.tsx` |
83
+ | ⚛️ | `react-mui` | Material UI (MUI) | `.tsx` |
84
+ | ⚛️ | `react-antd` | Ant Design | `.tsx` |
85
+ | ⚛️ | `react-eui` | Elastic EUI | `.tsx` |
86
+ | ⚛️ | `react-mantine` | Mantine | `.tsx` |
87
+ | ⚛️ | `react-bootstrap` | Bootstrap | `.tsx` |
88
+ | ⚛️ | `react-tailwind` | Tailwind / Headless UI | `.tsx` |
89
+ | 💚 | `vue-quasar` | Quasar (Vue 3) | `.vue` |
90
+ | 🔺 | `angular-material` | Angular Material | `.ts` |
43
91
 
44
- ## How It Works
92
+ **8 patterns × 9 frameworks = 72 templates**
45
93
 
46
- All 72 templates are bundled inside the package. No network requests, no API calls, no account needed. Works completely offline.
94
+ ## What you get
47
95
 
48
- The CLI never reads or modifies your existing files — it only creates new files in `./components/`.
96
+ Each ejected file is a **single, self-contained component** with:
97
+
98
+ - Framework-specific imports (`@chakra-ui/react`, `quasar`, `@angular/material`, etc.)
99
+ - Proper TypeScript types
100
+ - Theme support (dark/light)
101
+ - Density support (compact/comfortable)
102
+ - Loading and error states
103
+ - Responsive layout
104
+
105
+ The file is yours — modify it however you want. No dependency on `@frontfamily/cli` at runtime.
106
+
107
+ ## FAQ
108
+
109
+ **Does it need internet?**
110
+ No. All 72 templates are bundled in the npm package. Fully offline.
111
+
112
+ **Does it touch my existing files?**
113
+ No. It only creates new files in `./components/`. Never reads, modifies, or deletes anything.
114
+
115
+ **What if `./components/` doesn't exist?**
116
+ It creates the directory automatically.
117
+
118
+ **Is this like shadcn/ui?**
119
+ Similar concept — you own the code. The difference: FrontFamily covers 9 frameworks (React, Vue, Angular), not just React + Tailwind.
120
+
121
+ **Can I use the output commercially?**
122
+ Yes. Apache 2.0 license. No restrictions.
49
123
 
50
124
  ## Commands
51
125
 
52
- ```bash
53
- frontfamily eject # Interactive mode
54
- frontfamily eject <pattern> # Select framework only
55
- frontfamily eject <pattern> -f <framework> # Fully non-interactive
56
- frontfamily --version # Show version
57
126
  ```
127
+ frontfamily eject Interactive mode
128
+ frontfamily eject <pattern> Prompts for framework only
129
+ frontfamily eject <pattern> -f <framework> No prompts
130
+ frontfamily --version Print version
131
+ frontfamily --help Show help
132
+ ```
133
+
134
+ ## Links
135
+
136
+ - [Web Converter](https://frontfamily.com/converter) — convert code between frameworks online
137
+ - [Migration Guides](https://frontfamily.com/guides) — 9 guides with 219 searchable component mappings
138
+ - [CLI Documentation](https://frontfamily.com/docs) — full docs with examples
58
139
 
59
140
  ## License
60
141
 
package/package.json CHANGED
@@ -1,14 +1,10 @@
1
1
  {
2
2
  "name": "@frontfamily/cli",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Eject production-ready UI pattern components across React, Vue, and Angular frameworks",
5
5
  "author": "ch-bas",
6
6
  "license": "Apache-2.0",
7
- "repository": {
8
- "type": "git",
9
- "url": "https://github.com/ch-bas/frontfamily2.0",
10
- "directory": "packages/cli"
11
- },
7
+ "homepage": "https://frontfamily.com/docs",
12
8
  "keywords": [
13
9
  "frontfamily",
14
10
  "ui",