@frontfamily/cli 0.1.1 → 0.2.0

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 (3) hide show
  1. package/README.md +130 -39
  2. package/dist/index.js +37669 -15975
  3. package/package.json +2 -6
package/README.md CHANGED
@@ -1,60 +1,151 @@
1
- # @frontfamily/cli
1
+ <div align="center">
2
+ <h1>@frontfamily/cli</h1>
3
+ <p>Eject production-ready UI components into any project.<br/>162 templates · 9 frameworks · 18 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 |
29
-
30
- ## Available Frameworks
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
+ ```
31
55
 
32
- | ID | Framework | File Type |
33
- |---|---|---|
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` |
56
+ ### Direct mode
43
57
 
44
- ## How It Works
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
+ ```
45
64
 
46
- All 72 templates are bundled inside the package. No network requests, no API calls, no account needed. Works completely offline.
65
+ ## Patterns
47
66
 
48
- The CLI never reads or modifies your existing files — it only creates new files in `./components/`.
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
+ | `file-upload` | File Upload | Drag-and-drop zone, file list, progress bars, and validation |
78
+ | `date-picker` | Date Picker | Calendar selector with range mode, time input, and locale support |
79
+ | `sidebar-layout` | Sidebar Layout | Collapsible sidebar with nested nav, icons, and responsive drawer |
80
+ | `data-grid` | Data Grid | Editable table with inline editing, column reorder, and virtualization |
81
+ | `command-palette` | Command Palette | Cmd+K search overlay with fuzzy matching and keyboard navigation |
82
+ | `pricing-table` | Pricing Table | Tier cards with feature comparison, toggle billing cycle, and CTAs |
83
+ | `stepper-wizard` | Stepper Wizard | Multi-step form with validation, progress indicator, and back/next |
84
+ | `autocomplete` | Autocomplete | Search input with async suggestions, multi-select, and custom rendering |
85
+ | `kanban-board` | Kanban Board | Draggable cards across columns with add, edit, and status filtering |
86
+ | `chat-ui` | Chat UI | Message bubbles, input with send, timestamps, and typing indicator |
87
+
88
+ ## Frameworks
89
+
90
+ | Flag | ID | Framework | Output |
91
+ |---|---|---|---|
92
+ | ⚛️ | `react-chakra` | Chakra UI | `.tsx` |
93
+ | ⚛️ | `react-mui` | Material UI (MUI) | `.tsx` |
94
+ | ⚛️ | `react-antd` | Ant Design | `.tsx` |
95
+ | ⚛️ | `react-eui` | Elastic EUI | `.tsx` |
96
+ | ⚛️ | `react-mantine` | Mantine | `.tsx` |
97
+ | ⚛️ | `react-bootstrap` | Bootstrap | `.tsx` |
98
+ | ⚛️ | `react-tailwind` | Tailwind / Headless UI | `.tsx` |
99
+ | 💚 | `vue-quasar` | Quasar (Vue 3) | `.vue` |
100
+ | 🔺 | `angular-material` | Angular Material | `.ts` |
101
+
102
+ **18 patterns × 9 frameworks = 162 templates**
103
+
104
+ ## What you get
105
+
106
+ Each ejected file is a **single, self-contained component** with:
107
+
108
+ - Framework-specific imports (`@chakra-ui/react`, `quasar`, `@angular/material`, etc.)
109
+ - Proper TypeScript types
110
+ - Theme support (dark/light)
111
+ - Density support (compact/comfortable)
112
+ - Loading and error states
113
+ - Responsive layout
114
+
115
+ The file is yours — modify it however you want. No dependency on `@frontfamily/cli` at runtime.
116
+
117
+ ## FAQ
118
+
119
+ **Does it need internet?**
120
+ No. All 162 templates are bundled in the npm package. Fully offline.
121
+
122
+ **Does it touch my existing files?**
123
+ No. It only creates new files in `./components/`. Never reads, modifies, or deletes anything.
124
+
125
+ **What if `./components/` doesn't exist?**
126
+ It creates the directory automatically.
127
+
128
+ **Is this like shadcn/ui?**
129
+ Similar concept — you own the code. The difference: FrontFamily covers 9 frameworks (React, Vue, Angular), not just React + Tailwind.
130
+
131
+ **Can I use the output commercially?**
132
+ Yes. Apache 2.0 license. No restrictions.
49
133
 
50
134
  ## Commands
51
135
 
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
136
  ```
137
+ frontfamily eject Interactive mode
138
+ frontfamily eject <pattern> Prompts for framework only
139
+ frontfamily eject <pattern> -f <framework> No prompts
140
+ frontfamily --version Print version
141
+ frontfamily --help Show help
142
+ ```
143
+
144
+ ## Links
145
+
146
+ - [Web Converter](https://frontfamily.com/converter) — convert code between frameworks online
147
+ - [Migration Guides](https://frontfamily.com/guides) — 9 guides with 219 searchable component mappings
148
+ - [CLI Documentation](https://frontfamily.com/docs) — full docs with examples
58
149
 
59
150
  ## License
60
151