@frontfamily/cli 0.1.0 → 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 +142 -0
  2. package/package.json +2 -6
package/README.md ADDED
@@ -0,0 +1,142 @@
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>
10
+
11
+ ---
12
+
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
20
+
21
+ ```bash
22
+ # Use directly (no install needed)
23
+ npx @frontfamily/cli eject
24
+
25
+ # Or install globally
26
+ npm i -g @frontfamily/cli
27
+ frontfamily eject
28
+ ```
29
+
30
+ ## Usage
31
+
32
+ ### Interactive mode
33
+
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
+ ```
55
+
56
+ ### Direct mode
57
+
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 |
68
+ |---|---|---|
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` |
91
+
92
+ **8 patterns × 9 frameworks = 72 templates**
93
+
94
+ ## What you get
95
+
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.
123
+
124
+ ## Commands
125
+
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
139
+
140
+ ## License
141
+
142
+ Apache 2.0
package/package.json CHANGED
@@ -1,14 +1,10 @@
1
1
  {
2
2
  "name": "@frontfamily/cli",
3
- "version": "0.1.0",
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/frontfamily",
10
- "directory": "packages/cli"
11
- },
7
+ "homepage": "https://frontfamily.com/docs",
12
8
  "keywords": [
13
9
  "frontfamily",
14
10
  "ui",