kubit-forge 0.0.1-canary.85d379a

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 (201) hide show
  1. package/CHANGELOG.md +229 -0
  2. package/LICENSE +201 -0
  3. package/README.md +841 -0
  4. package/dist/cli.d.ts +2 -0
  5. package/dist/cli.js +14294 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/index.d.ts +772 -0
  8. package/dist/index.js +1979 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/templates/README.md +243 -0
  11. package/dist/templates/config/README.md +94 -0
  12. package/dist/templates/config/config-templates.ts +138 -0
  13. package/dist/templates/config/defaults.ts +105 -0
  14. package/dist/templates/config/index.ts +6 -0
  15. package/dist/templates/features/.prettierignore.template +28 -0
  16. package/dist/templates/features/.prettierrc.template +10 -0
  17. package/dist/templates/features/README.md +111 -0
  18. package/dist/templates/features/bernova-foundations.ts.template +50 -0
  19. package/dist/templates/features/bernova-globalStyles.ts.template +33 -0
  20. package/dist/templates/features/bernova-mediaQueries.ts.template +6 -0
  21. package/dist/templates/features/bernova-theme.ts.template +1 -0
  22. package/dist/templates/features/bernova.config.json.template +58 -0
  23. package/dist/templates/features/changesets-config.json.template +11 -0
  24. package/dist/templates/features/changesets-readme.md.template +31 -0
  25. package/dist/templates/features/commitlint.config.js.template +23 -0
  26. package/dist/templates/features/cypress-support-commands.ts.template +22 -0
  27. package/dist/templates/features/cypress-support-e2e.ts.template +20 -0
  28. package/dist/templates/features/cypress.config.ts.template +23 -0
  29. package/dist/templates/features/eslint.config.js.template +13 -0
  30. package/dist/templates/features/husky-commit-msg.template +4 -0
  31. package/dist/templates/features/husky-pre-commit.template +4 -0
  32. package/dist/templates/features/index.ts +5 -0
  33. package/dist/templates/features/jest-setup.ts.template +1 -0
  34. package/dist/templates/features/jest.config.ts.template +23 -0
  35. package/dist/templates/features/lint-staged.config.js.template +5 -0
  36. package/dist/templates/features/playwright-example.spec.ts.template +14 -0
  37. package/dist/templates/features/playwright.config.ts.template +42 -0
  38. package/dist/templates/features/template-loader.ts +31 -0
  39. package/dist/templates/features/vitest-setup.ts.template +1 -0
  40. package/dist/templates/features/vitest.config.ts.template +11 -0
  41. package/dist/templates/generators/README.md +181 -0
  42. package/dist/templates/generators/index.ts +9 -0
  43. package/dist/templates/generators/plugin.ts +245 -0
  44. package/dist/templates/generators/react-app-bernova.ts +356 -0
  45. package/dist/templates/generators/react-component.ts +103 -0
  46. package/dist/templates/generators/react-hook.ts +56 -0
  47. package/dist/templates/generators/react-kubit-ui.ts +794 -0
  48. package/dist/templates/generators/react-page.ts +65 -0
  49. package/dist/templates-physical/kubit-full/.prettierrc +0 -0
  50. package/dist/templates-physical/kubit-full/README.md +223 -0
  51. package/dist/templates-physical/kubit-full/bernova.config.json +0 -0
  52. package/dist/templates-physical/kubit-full/eslint.config.js +0 -0
  53. package/dist/templates-physical/kubit-full/index.html +17 -0
  54. package/dist/templates-physical/kubit-full/package.json +53 -0
  55. package/dist/templates-physical/kubit-full/src/App.css +118 -0
  56. package/dist/templates-physical/kubit-full/src/App.tsx +75 -0
  57. package/dist/templates-physical/kubit-full/src/charts/ChartsShowcase.css +0 -0
  58. package/dist/templates-physical/kubit-full/src/charts/ChartsShowcase.tsx +0 -0
  59. package/dist/templates-physical/kubit-full/src/components/ComponentsShowcase.css +147 -0
  60. package/dist/templates-physical/kubit-full/src/components/ComponentsShowcase.tsx +0 -0
  61. package/dist/templates-physical/kubit-full/src/main.tsx +0 -0
  62. package/dist/templates-physical/kubit-full/src/styles/index.css +6 -0
  63. package/dist/templates-physical/kubit-full/src/styles/theme/components/button.ts +0 -0
  64. package/dist/templates-physical/kubit-full/src/styles/theme/components/card.ts +0 -0
  65. package/dist/templates-physical/kubit-full/src/styles/theme/components/input.ts +0 -0
  66. package/dist/templates-physical/kubit-full/src/styles/theme/foundations.ts +0 -0
  67. package/dist/templates-physical/kubit-full/src/styles/theme/globalStyles.ts +0 -0
  68. package/dist/templates-physical/kubit-full/src/styles/theme/mediaQueries.ts +0 -0
  69. package/dist/templates-physical/kubit-full/src/styles/theme/theme.ts +0 -0
  70. package/dist/templates-physical/kubit-full/src/test/setup.ts +0 -0
  71. package/dist/templates-physical/kubit-full/tsconfig.json +29 -0
  72. package/dist/templates-physical/kubit-full/tsconfig.node.json +11 -0
  73. package/dist/templates-physical/kubit-full/vite.config.ts +24 -0
  74. package/dist/templates-physical/kubit-full/vitest.config.ts +26 -0
  75. package/dist/templates-physical/react/.env.example +6 -0
  76. package/dist/templates-physical/react/.prettierrc +8 -0
  77. package/dist/templates-physical/react/README.md +81 -0
  78. package/dist/templates-physical/react/eslint.config.js +7 -0
  79. package/dist/templates-physical/react/index.html +13 -0
  80. package/dist/templates-physical/react/package.json +39 -0
  81. package/dist/templates-physical/react/src/app/App.module.css +39 -0
  82. package/dist/templates-physical/react/src/app/App.test.tsx +14 -0
  83. package/dist/templates-physical/react/src/app/App.tsx +17 -0
  84. package/dist/templates-physical/react/src/main.tsx +10 -0
  85. package/dist/templates-physical/react/src/styles/index.css +39 -0
  86. package/dist/templates-physical/react/src/test/setup.ts +57 -0
  87. package/dist/templates-physical/react/tsconfig.json +25 -0
  88. package/dist/templates-physical/react/tsconfig.node.json +10 -0
  89. package/dist/templates-physical/react/vite.config.ts +16 -0
  90. package/dist/templates-physical/react/vitest.config.ts +22 -0
  91. package/dist/templates-physical/react-bernova/.eslintrc.cjs +15 -0
  92. package/dist/templates-physical/react-bernova/.prettierrc +10 -0
  93. package/dist/templates-physical/react-bernova/README.md +150 -0
  94. package/dist/templates-physical/react-bernova/bernova.config.json +58 -0
  95. package/dist/templates-physical/react-bernova/eslint.config.js +7 -0
  96. package/dist/templates-physical/react-bernova/index.html +21 -0
  97. package/dist/templates-physical/react-bernova/package.json +43 -0
  98. package/dist/templates-physical/react-bernova/src/App.css +89 -0
  99. package/dist/templates-physical/react-bernova/src/App.tsx +51 -0
  100. package/dist/templates-physical/react-bernova/src/index.css +54 -0
  101. package/dist/templates-physical/react-bernova/src/main.tsx +10 -0
  102. package/dist/templates-physical/react-bernova/src/styles/foundations.ts +91 -0
  103. package/dist/templates-physical/react-bernova/src/styles/globalStyles.ts +118 -0
  104. package/dist/templates-physical/react-bernova/src/styles/mediaQueries.ts +18 -0
  105. package/dist/templates-physical/react-bernova/src/styles/theme.ts +94 -0
  106. package/dist/templates-physical/react-bernova/src/test/setup.ts +9 -0
  107. package/dist/templates-physical/react-bernova/tsconfig.json +31 -0
  108. package/dist/templates-physical/react-bernova/tsconfig.node.json +10 -0
  109. package/dist/templates-physical/react-bernova/vite.config.ts +20 -0
  110. package/dist/templates-physical/react-bernova/vitest.config.ts +18 -0
  111. package/dist/templates-physical/vanilla/.env.example +6 -0
  112. package/dist/templates-physical/vanilla/.prettierrc +8 -0
  113. package/dist/templates-physical/vanilla/README.md +76 -0
  114. package/dist/templates-physical/vanilla/eslint.config.js +7 -0
  115. package/dist/templates-physical/vanilla/index.html +13 -0
  116. package/dist/templates-physical/vanilla/package.json +28 -0
  117. package/dist/templates-physical/vanilla/src/app.module.css +39 -0
  118. package/dist/templates-physical/vanilla/src/app.test.ts +20 -0
  119. package/dist/templates-physical/vanilla/src/app.ts +31 -0
  120. package/dist/templates-physical/vanilla/src/main.ts +9 -0
  121. package/dist/templates-physical/vanilla/src/styles/main.css +39 -0
  122. package/dist/templates-physical/vanilla/tsconfig.json +23 -0
  123. package/dist/templates-physical/vanilla/vite.config.ts +14 -0
  124. package/dist/templates-physical/vanilla/vitest.config.ts +14 -0
  125. package/package.json +131 -0
  126. package/templates/kubit-full/.prettierrc +0 -0
  127. package/templates/kubit-full/README.md +223 -0
  128. package/templates/kubit-full/bernova.config.json +0 -0
  129. package/templates/kubit-full/eslint.config.js +0 -0
  130. package/templates/kubit-full/index.html +17 -0
  131. package/templates/kubit-full/package.json +53 -0
  132. package/templates/kubit-full/src/App.css +118 -0
  133. package/templates/kubit-full/src/App.tsx +75 -0
  134. package/templates/kubit-full/src/charts/ChartsShowcase.css +0 -0
  135. package/templates/kubit-full/src/charts/ChartsShowcase.tsx +0 -0
  136. package/templates/kubit-full/src/components/ComponentsShowcase.css +147 -0
  137. package/templates/kubit-full/src/components/ComponentsShowcase.tsx +0 -0
  138. package/templates/kubit-full/src/main.tsx +0 -0
  139. package/templates/kubit-full/src/styles/index.css +6 -0
  140. package/templates/kubit-full/src/styles/theme/components/button.ts +0 -0
  141. package/templates/kubit-full/src/styles/theme/components/card.ts +0 -0
  142. package/templates/kubit-full/src/styles/theme/components/input.ts +0 -0
  143. package/templates/kubit-full/src/styles/theme/foundations.ts +0 -0
  144. package/templates/kubit-full/src/styles/theme/globalStyles.ts +0 -0
  145. package/templates/kubit-full/src/styles/theme/mediaQueries.ts +0 -0
  146. package/templates/kubit-full/src/styles/theme/theme.ts +0 -0
  147. package/templates/kubit-full/src/test/setup.ts +0 -0
  148. package/templates/kubit-full/tsconfig.json +29 -0
  149. package/templates/kubit-full/tsconfig.node.json +11 -0
  150. package/templates/kubit-full/vite.config.ts +24 -0
  151. package/templates/kubit-full/vitest.config.ts +26 -0
  152. package/templates/react/.env.example +6 -0
  153. package/templates/react/.prettierrc +8 -0
  154. package/templates/react/README.md +81 -0
  155. package/templates/react/eslint.config.js +7 -0
  156. package/templates/react/index.html +13 -0
  157. package/templates/react/package.json +39 -0
  158. package/templates/react/src/app/App.module.css +39 -0
  159. package/templates/react/src/app/App.test.tsx +14 -0
  160. package/templates/react/src/app/App.tsx +17 -0
  161. package/templates/react/src/main.tsx +10 -0
  162. package/templates/react/src/styles/index.css +39 -0
  163. package/templates/react/src/test/setup.ts +57 -0
  164. package/templates/react/tsconfig.json +25 -0
  165. package/templates/react/tsconfig.node.json +10 -0
  166. package/templates/react/vite.config.ts +16 -0
  167. package/templates/react/vitest.config.ts +22 -0
  168. package/templates/react-bernova/.eslintrc.cjs +15 -0
  169. package/templates/react-bernova/.prettierrc +10 -0
  170. package/templates/react-bernova/README.md +150 -0
  171. package/templates/react-bernova/bernova.config.json +58 -0
  172. package/templates/react-bernova/eslint.config.js +7 -0
  173. package/templates/react-bernova/index.html +21 -0
  174. package/templates/react-bernova/package.json +43 -0
  175. package/templates/react-bernova/src/App.css +89 -0
  176. package/templates/react-bernova/src/App.tsx +51 -0
  177. package/templates/react-bernova/src/index.css +54 -0
  178. package/templates/react-bernova/src/main.tsx +10 -0
  179. package/templates/react-bernova/src/styles/foundations.ts +91 -0
  180. package/templates/react-bernova/src/styles/globalStyles.ts +118 -0
  181. package/templates/react-bernova/src/styles/mediaQueries.ts +18 -0
  182. package/templates/react-bernova/src/styles/theme.ts +94 -0
  183. package/templates/react-bernova/src/test/setup.ts +9 -0
  184. package/templates/react-bernova/tsconfig.json +31 -0
  185. package/templates/react-bernova/tsconfig.node.json +10 -0
  186. package/templates/react-bernova/vite.config.ts +20 -0
  187. package/templates/react-bernova/vitest.config.ts +18 -0
  188. package/templates/vanilla/.env.example +6 -0
  189. package/templates/vanilla/.prettierrc +8 -0
  190. package/templates/vanilla/README.md +76 -0
  191. package/templates/vanilla/eslint.config.js +7 -0
  192. package/templates/vanilla/index.html +13 -0
  193. package/templates/vanilla/package.json +28 -0
  194. package/templates/vanilla/src/app.module.css +39 -0
  195. package/templates/vanilla/src/app.test.ts +20 -0
  196. package/templates/vanilla/src/app.ts +31 -0
  197. package/templates/vanilla/src/main.ts +9 -0
  198. package/templates/vanilla/src/styles/main.css +39 -0
  199. package/templates/vanilla/tsconfig.json +23 -0
  200. package/templates/vanilla/vite.config.ts +14 -0
  201. package/templates/vanilla/vitest.config.ts +14 -0
package/README.md ADDED
@@ -0,0 +1,841 @@
1
+ # Kubit Forge
2
+
3
+ > **A world-class, extensible CLI for modern web development with enterprise-grade features**
4
+
5
+ [![Version](https://img.shields.io/npm/v/kubit-forge.svg)](https://www.npmjs.com/package/kubit-forge)
6
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
7
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.9-blue.svg)](https://www.typescriptlang.org/)
8
+ [![Node](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen.svg)](https://nodejs.org/)
9
+ [![pnpm](https://img.shields.io/badge/pnpm-%3E%3D10.0.0-orange.svg)](https://pnpm.io/)
10
+
11
+ **Kubit Forge** is an open-source, production-ready CLI that empowers developers to build modern web applications with confidence. From zero-config project initialization to AI-powered diagnostics, Kubit Forge provides everything you need to develop, test, and deploy world-class applications.
12
+
13
+ ---
14
+
15
+ ## Table of Contents
16
+
17
+ - [Why Kubit Forge?](#why-kubit-forge)
18
+ - [Features](#features)
19
+ - [Installation](#installation)
20
+ - [Quick Start](#quick-start)
21
+ - [Core Commands](#core-commands)
22
+ - [Plugin System](#plugin-system)
23
+ - [Recipe System](#recipe-system)
24
+ - [Monorepo Support](#monorepo-support)
25
+ - [Interactive Dashboard](#interactive-dashboard)
26
+ - [Asset Optimization](#asset-optimization)
27
+ - [Security & SBOM](#security--sbom)
28
+ - [Doctor Command](#doctor-command)
29
+ - [Configuration](#configuration)
30
+ - [Contributing](#contributing)
31
+ - [License](#license)
32
+
33
+ ---
34
+
35
+ ## Why Kubit Forge?
36
+
37
+ ### Built for Modern Development
38
+
39
+ - **Zero Configuration** - Start building immediately with sensible defaults
40
+ - **TypeScript First** - Full type safety and IntelliSense support
41
+ - **Lightning Fast** - Powered by Vite for instant HMR and optimized builds
42
+ - **Extensible** - Plugin and recipe systems for unlimited customization
43
+ - **Enterprise Ready** - SBOM generation, security audits, and compliance tools
44
+
45
+ ### Developer Experience
46
+
47
+ - **Interactive Dashboard** - Beautiful TUI for project management
48
+ - **AI-Powered Diagnostics** - Intelligent issue detection and auto-fix
49
+ - **Predictive Analysis** - Prevent problems before they happen
50
+ - **Package Manager Agnostic** - Works with npm, yarn, and pnpm
51
+ - **Monorepo Support** - First-class support for Turborepo, Nx, pnpm workspaces, and more
52
+
53
+ ---
54
+
55
+ ## Features
56
+
57
+ ### Project Initialization & Scaffolding
58
+
59
+ Create production-ready projects in seconds:
60
+
61
+ ```bash
62
+ # React + TypeScript
63
+ kubit-forge init react my-app
64
+
65
+ # Vanilla TypeScript
66
+ kubit-forge init vanilla my-app
67
+ ```
68
+
69
+ **What you get:**
70
+
71
+ - TypeScript configuration
72
+ - Vite build setup
73
+ - ESLint & Prettier
74
+ - Testing infrastructure
75
+ - Git initialization
76
+ - Package manager detection
77
+
78
+ ### Template System
79
+
80
+ Bootstrap projects with pre-configured templates:
81
+
82
+ ```bash
83
+ # List available templates
84
+ kubit-forge template:list
85
+
86
+ # Use a template
87
+ kubit-forge template:use react-ts-bernova my-app
88
+ ```
89
+
90
+ **Available Templates:**
91
+
92
+ - `react-ts` - React + TypeScript
93
+ - `react-ts-bernova` - React + TypeScript + Bernova Design System
94
+ - `react-ts-storybook` - React + TypeScript + Storybook
95
+ - `vanilla-ts` - Vanilla TypeScript
96
+
97
+ ### Add Command - Feature Installation
98
+
99
+ Add features to existing projects with zero configuration:
100
+
101
+ ```bash
102
+ # Add linting
103
+ kubit-forge add eslint
104
+ kubit-forge add prettier
105
+
106
+ # Add testing
107
+ kubit-forge add vitest
108
+ kubit-forge add playwright
109
+ kubit-forge add testing-library
110
+
111
+ # Add styling
112
+ kubit-forge add bernova
113
+ kubit-forge add styled-components
114
+
115
+ # Add development tools
116
+ kubit-forge add storybook
117
+ kubit-forge add husky
118
+ kubit-forge add lint-staged
119
+ kubit-forge add commitlint
120
+ kubit-forge add changesets
121
+
122
+ # Add routing
123
+ kubit-forge add react-router
124
+ ```
125
+
126
+ ### Development Commands
127
+
128
+ Streamlined development workflow:
129
+
130
+ ```bash
131
+ # Start development server
132
+ kubit-forge dev
133
+
134
+ # Build for production
135
+ kubit-forge build
136
+
137
+ # Run tests
138
+ kubit-forge test
139
+
140
+ # Lint code
141
+ kubit-forge lint --fix
142
+
143
+ # Format code
144
+ kubit-forge format
145
+
146
+ # Type check
147
+ kubit-forge typecheck
148
+
149
+ # Run all checks
150
+ kubit-forge check
151
+ ```
152
+
153
+ ### Quality & Diagnostics
154
+
155
+ ```bash
156
+ # Show project information
157
+ kubit-forge info --detailed
158
+
159
+ # AI-powered diagnostics
160
+ kubit-forge doctor
161
+
162
+ # Auto-fix issues
163
+ kubit-forge doctor --fix
164
+
165
+ # Predictive analysis
166
+ kubit-forge doctor --predictive
167
+ ```
168
+
169
+ ---
170
+
171
+ ## Plugin System
172
+
173
+ Extend Kubit Forge with powerful plugins:
174
+
175
+ ### Plugin Commands
176
+
177
+ ```bash
178
+ # Search for plugins
179
+ kubit-forge plugin:search testing
180
+
181
+ # Install a plugin
182
+ kubit-forge plugin:install @kubit/plugin-analytics
183
+
184
+ # List installed plugins
185
+ kubit-forge plugin:list
186
+
187
+ # Verify plugin integrity
188
+ kubit-forge plugin:verify @kubit/plugin-analytics
189
+ ```
190
+
191
+ ### Plugin Capabilities
192
+
193
+ - **Custom Commands** - Add new CLI commands
194
+ - **Lifecycle Hooks** - Hook into build, dev, and other events
195
+ - **Custom Generators** - Add code generators
196
+ - **Configuration Extensions** - Extend project configuration
197
+ - **Task Runners** - Add custom task execution
198
+
199
+ ### Creating a Plugin
200
+
201
+ ```typescript
202
+ // my-plugin.ts
203
+ import { Plugin } from 'kubit-forge';
204
+
205
+ export default {
206
+ name: 'my-plugin',
207
+ version: '1.0.0',
208
+
209
+ commands: {
210
+ 'my-command': async (args) => {
211
+ console.log('Running my custom command!');
212
+ },
213
+ },
214
+
215
+ hooks: {
216
+ 'build:before': async () => {
217
+ console.log('Before build hook');
218
+ },
219
+ },
220
+ } satisfies Plugin;
221
+ ```
222
+
223
+ ---
224
+
225
+ ## Recipe System
226
+
227
+ Automate complex workflows with declarative recipes:
228
+
229
+ ### Recipe Commands
230
+
231
+ ```bash
232
+ # List available recipes
233
+ kubit-forge recipe:list
234
+
235
+ # Run a recipe
236
+ kubit-forge recipe:run react-setup
237
+
238
+ # Add custom recipe
239
+ kubit-forge recipe:add ./my-recipe.toml
240
+ ```
241
+
242
+ ### Built-in Recipes
243
+
244
+ - **react-setup** - Complete React project setup
245
+ - **testing-setup** - Full testing infrastructure
246
+ - **ci-cd-setup** - CI/CD pipeline configuration
247
+
248
+ ### Recipe Features
249
+
250
+ - **DAG-based Execution** - Parallel task execution with dependency resolution
251
+ - **Declarative Syntax** - TOML-based configuration
252
+ - **Composable** - Combine multiple recipes
253
+ - **Idempotent** - Safe to run multiple times
254
+
255
+ ### Example Recipe
256
+
257
+ ```toml
258
+ [recipe]
259
+ name = "react-setup"
260
+ description = "Complete React project setup"
261
+ version = "1.0.0"
262
+
263
+ [[tasks]]
264
+ id = "install-deps"
265
+ command = "add"
266
+ args = ["react", "react-dom"]
267
+
268
+ [[tasks]]
269
+ id = "add-eslint"
270
+ command = "add"
271
+ args = ["eslint"]
272
+ depends_on = ["install-deps"]
273
+
274
+ [[tasks]]
275
+ id = "add-prettier"
276
+ command = "add"
277
+ args = ["prettier"]
278
+ depends_on = ["install-deps"]
279
+
280
+ [[tasks]]
281
+ id = "add-testing"
282
+ command = "add"
283
+ args = ["vitest"]
284
+ depends_on = ["install-deps"]
285
+ ```
286
+
287
+ ---
288
+
289
+ ## Monorepo Support
290
+
291
+ First-class support for monorepo tools:
292
+
293
+ ### Supported Tools
294
+
295
+ - **pnpm workspaces**
296
+ - **yarn workspaces**
297
+ - **npm workspaces**
298
+ - **Turborepo**
299
+ - **Nx**
300
+ - **Lerna**
301
+
302
+ ### Monorepo Commands
303
+
304
+ ```bash
305
+ # Initialize monorepo
306
+ kubit-forge monorepo:init --tool pnpm
307
+
308
+ # Add package to monorepo
309
+ kubit-forge monorepo:add my-package
310
+
311
+ # List all packages
312
+ kubit-forge monorepo:list
313
+
314
+ # Show monorepo information
315
+ kubit-forge monorepo:info
316
+ ```
317
+
318
+ ### Features
319
+
320
+ - **Workspace Detection** - Automatic detection of monorepo structure
321
+ - **Dependency Management** - Smart dependency resolution
322
+ - **Task Orchestration** - Parallel task execution across packages
323
+ - **Selective Builds** - Build only affected packages
324
+
325
+ ---
326
+
327
+ ## Interactive Dashboard
328
+
329
+ Launch a beautiful TUI dashboard for project management:
330
+
331
+ ```bash
332
+ kubit-forge dashboard
333
+ ```
334
+
335
+ ### Dashboard Features
336
+
337
+ - **Real-time Project Status** - Live updates on project health
338
+ - **Command Execution** - Run commands from the UI
339
+ - **Live Logs** - Stream logs in real-time
340
+ - **Plugin Management** - Visual plugin control
341
+ - **System Metrics** - CPU, memory, uptime monitoring
342
+ - **Keyboard Navigation** - Intuitive controls (1-5 for views, q to quit)
343
+
344
+ ### Views
345
+
346
+ 1. **Overview** - Project status and quick actions
347
+ 2. **Commands** - Execute common commands
348
+ 3. **Plugins** - Manage installed plugins
349
+ 4. **Logs** - View real-time logs
350
+ 5. **System** - System metrics and information
351
+
352
+ ---
353
+
354
+ ## Asset Optimization
355
+
356
+ Optimize and deploy assets with ease:
357
+
358
+ ### Asset Commands
359
+
360
+ ```bash
361
+ # Optimize images, fonts, and icons
362
+ kubit-forge assets:optimize --quality 85
363
+
364
+ # Compress assets
365
+ kubit-forge assets:compress --algorithm both
366
+
367
+ # Sync to CDN
368
+ kubit-forge assets:cdn:sync --provider cloudflare
369
+ ```
370
+
371
+ ### Supported CDN Providers
372
+
373
+ - **Cloudflare**
374
+ - **AWS S3**
375
+ - **Azure Blob Storage**
376
+ - **Custom providers** (via plugin)
377
+
378
+ ### Optimization Features
379
+
380
+ - **Image Optimization** - WebP, AVIF conversion
381
+ - **Font Subsetting** - Reduce font file sizes
382
+ - **Icon Optimization** - SVG minification
383
+ - **Compression** - Gzip and Brotli compression
384
+ - **Cache Busting** - Automatic versioning
385
+
386
+ ---
387
+
388
+ ## Security & SBOM
389
+
390
+ Generate Software Bill of Materials and security audits:
391
+
392
+ ### SBOM Commands
393
+
394
+ ```bash
395
+ # Generate SBOM
396
+ kubit-forge sbom:generate --format json
397
+
398
+ # Validate dependencies
399
+ kubit-forge sbom:validate
400
+
401
+ # Security audit
402
+ kubit-forge security:audit
403
+ ```
404
+
405
+ ### Supported Formats
406
+
407
+ - **JSON** - Standard JSON format
408
+ - **XML** - XML format
409
+ - **SPDX** - Software Package Data Exchange
410
+ - **CycloneDX** - OWASP CycloneDX format
411
+
412
+ ### Security Features
413
+
414
+ - **Dependency Scanning** - Identify vulnerable dependencies
415
+ - **License Compliance** - Check license compatibility
416
+ - **Supply Chain Security** - Verify package integrity
417
+ - **Automated Reporting** - Generate compliance reports
418
+
419
+ ---
420
+
421
+ ## Doctor Command
422
+
423
+ AI-powered diagnostics with auto-fix capabilities:
424
+
425
+ ```bash
426
+ # Run diagnostics
427
+ kubit-forge doctor
428
+
429
+ # Auto-fix issues
430
+ kubit-forge doctor --fix
431
+
432
+ # Predictive analysis
433
+ kubit-forge doctor --predictive
434
+ ```
435
+
436
+ ### Doctor Capabilities
437
+
438
+ - **Intelligent Issue Detection** - AI-powered problem identification
439
+ - **Auto-fix** - Automatic issue resolution
440
+ - **Predictive Analysis** - Prevent issues before they happen
441
+ - **Dependency Health Checks** - Verify dependency integrity
442
+ - **Configuration Validation** - Validate project configuration
443
+ - **Security Vulnerability Detection** - Scan for vulnerabilities
444
+ - **Performance Analysis** - Identify performance bottlenecks
445
+ - **IDE Integration** - Support for VS Code and other IDEs
446
+ - **Personalized Recommendations** - Context-aware suggestions
447
+
448
+ ### Example Output
449
+
450
+ ```
451
+ Running diagnostics...
452
+
453
+ ✓ TypeScript configuration is valid
454
+ ✓ Dependencies are up to date
455
+ ⚠ ESLint configuration has warnings
456
+ → Auto-fix available: kubit-forge doctor --fix
457
+
458
+ ✓ No security vulnerabilities found
459
+ ⚠ Performance: Large bundle size detected
460
+ → Recommendation: Enable code splitting
461
+
462
+ Predictive Analysis:
463
+ → Potential issue: Deprecated dependency detected
464
+ → Action: Update to @package/new-version
465
+ ```
466
+
467
+ ---
468
+
469
+ ## Migrations & Upgrades
470
+
471
+ Safe upgrades and automated refactoring:
472
+
473
+ ```bash
474
+ # Upgrade dependencies
475
+ kubit-forge upgrade
476
+
477
+ # Run migration
478
+ kubit-forge migrate <codename>
479
+
480
+ # List available migrations
481
+ kubit-forge migrate:list
482
+ ```
483
+
484
+ ### Migration Features
485
+
486
+ - **Automated Refactoring** - Safe code transformations
487
+ - **Breaking Change Detection** - Identify breaking changes
488
+ - **Rollback Support** - Undo migrations if needed
489
+ - **Dry Run** - Preview changes before applying
490
+ - **Custom Migrations** - Create organization-specific migrations
491
+
492
+ ---
493
+
494
+ ## Code Generation
495
+
496
+ Generate code scaffolds with best practices:
497
+
498
+ ```bash
499
+ # Generate component
500
+ kubit-forge generate component Button
501
+
502
+ # Generate page
503
+ kubit-forge generate page Home
504
+
505
+ # Generate hook
506
+ kubit-forge generate hook useAuth
507
+
508
+ # Generate service
509
+ kubit-forge generate service api
510
+
511
+ # Generate utility
512
+ kubit-forge generate util formatDate
513
+
514
+ # Generate test
515
+ kubit-forge generate test Button
516
+ ```
517
+
518
+ ### Generator Features
519
+
520
+ - **TypeScript Support** - Full type safety
521
+ - **Best Practices** - Follow industry standards
522
+ - **Customizable Templates** - Override default templates
523
+ - **Consistent Structure** - Maintain project consistency
524
+
525
+ ---
526
+
527
+ ## Configuration
528
+
529
+ Configure Kubit Forge with `kubit.config.toml`:
530
+
531
+ ```toml
532
+ [project]
533
+ name = "my-app"
534
+ version = "1.0.0"
535
+ description = "My awesome app"
536
+
537
+ [build]
538
+ outDir = "dist"
539
+ sourcemap = true
540
+ minify = true
541
+
542
+ [dev]
543
+ port = 3000
544
+ open = true
545
+ host = "localhost"
546
+
547
+ [quality]
548
+ lint = true
549
+ format = true
550
+ typecheck = true
551
+ test = true
552
+
553
+ [plugins]
554
+ enabled = ["@kubit/plugin-analytics", "@kubit/plugin-sentry"]
555
+
556
+ [paths]
557
+ src = "./src"
558
+ public = "./public"
559
+ dist = "./dist"
560
+ ```
561
+
562
+ ---
563
+
564
+ ## Environment Variables
565
+
566
+ Manage environment variables securely:
567
+
568
+ ```bash
569
+ # Initialize .env file
570
+ kubit-forge env init
571
+
572
+ # Validate environment variables
573
+ kubit-forge env validate
574
+
575
+ # Show environment info
576
+ kubit-forge env info
577
+ ```
578
+
579
+ ---
580
+
581
+ ## Business Integration
582
+
583
+ Extend Kubit Forge for your organization:
584
+
585
+ ### Enterprise Features
586
+
587
+ - **Custom Command Registration** - Add organization-specific commands
588
+ - **Private Plugin Registry** - Host internal plugins
589
+ - **Organization Templates** - Company-specific project templates
590
+ - **Compliance Tools** - Custom compliance checks
591
+ - **Custom Recipes** - Organization-specific workflows
592
+
593
+ ### Example: Custom Command
594
+
595
+ ```typescript
596
+ // .kubit/commands/deploy.ts
597
+ export default {
598
+ name: 'deploy',
599
+ description: 'Deploy to company infrastructure',
600
+
601
+ async execute(args) {
602
+ // Custom deployment logic
603
+ console.log('Deploying to production...');
604
+ },
605
+ };
606
+ ```
607
+
608
+ ---
609
+
610
+ ## Installation
611
+
612
+ ### Prerequisites
613
+
614
+ - **Node.js** >= 20.0.0
615
+ - **pnpm** >= 10.0.0 (recommended) or npm/yarn
616
+
617
+ ### Global Installation
618
+
619
+ ```bash
620
+ # Using pnpm (recommended)
621
+ pnpm add -g kubit-forge
622
+
623
+ # Using npm
624
+ npm install -g kubit-forge
625
+
626
+ # Using yarn
627
+ yarn global add kubit-forge
628
+ ```
629
+
630
+ ### Local Installation
631
+
632
+ ```bash
633
+ # Using pnpm
634
+ pnpm add -D kubit-forge
635
+
636
+ # Using npm
637
+ npm install --save-dev kubit-forge
638
+
639
+ # Using yarn
640
+ yarn add -D kubit-forge
641
+ ```
642
+
643
+ ### Verify Installation
644
+
645
+ ```bash
646
+ kubit-forge --version
647
+ kubit-forge --help
648
+ ```
649
+
650
+ ---
651
+
652
+ ## Quick Start
653
+
654
+ ### 1. Create a New Project
655
+
656
+ ```bash
657
+ # Create React app
658
+ kubit-forge init react my-app
659
+ cd my-app
660
+
661
+ # Start development server
662
+ kubit-forge dev
663
+ ```
664
+
665
+ ### 2. Add Features
666
+
667
+ ```bash
668
+ # Add testing
669
+ kubit-forge add vitest
670
+
671
+ # Add Storybook
672
+ kubit-forge add storybook
673
+
674
+ # Add linting
675
+ kubit-forge add eslint prettier
676
+ ```
677
+
678
+ ### 3. Run Quality Checks
679
+
680
+ ```bash
681
+ # Run all checks
682
+ kubit-forge check
683
+
684
+ # Or run individually
685
+ kubit-forge lint
686
+ kubit-forge typecheck
687
+ kubit-forge test
688
+ ```
689
+
690
+ ### 4. Build for Production
691
+
692
+ ```bash
693
+ kubit-forge build
694
+ ```
695
+
696
+ ---
697
+
698
+ ## Contributing
699
+
700
+ We welcome contributions from the community! Here's how you can help:
701
+
702
+ ### Ways to Contribute
703
+
704
+ - **Report Bugs** - Open an issue on GitHub
705
+ - **Suggest Features** - Share your ideas
706
+ - **Submit PRs** - Fix bugs or add features
707
+ - **Improve Documentation** - Help others learn
708
+ - **Create Plugins** - Extend functionality
709
+ - **Share Recipes** - Automate workflows
710
+
711
+ ### Development Setup
712
+
713
+ ```bash
714
+ # Clone the repository
715
+ git clone https://github.com/kubit-ui/kubit-forge.git
716
+ cd kubit-forge
717
+
718
+ # Install dependencies
719
+ pnpm install
720
+
721
+ # Build the project
722
+ pnpm build
723
+
724
+ # Link for local development
725
+ pnpm dev:link
726
+
727
+ # Run tests
728
+ pnpm test
729
+
730
+ # Run linter
731
+ pnpm lint
732
+ ```
733
+
734
+ ### Pull Request Process
735
+
736
+ 1. Fork the repository
737
+ 2. Create a feature branch (`git checkout -b feat/amazing-feature`)
738
+ 3. Commit your changes using [Conventional Commits](https://www.conventionalcommits.org/)
739
+ 4. Push to your fork (`git push origin feat/amazing-feature`)
740
+ 5. Open a Pull Request
741
+
742
+ ### Commit Convention
743
+
744
+ We use [Conventional Commits](https://www.conventionalcommits.org/):
745
+
746
+ ```bash
747
+ feat: add new plugin system
748
+ fix: resolve build issue
749
+ docs: update README
750
+ chore: update dependencies
751
+ test: add unit tests
752
+ ```
753
+
754
+ ### Code of Conduct
755
+
756
+ Please read our [Code of Conduct](CODE_OF_CONDUCT.md) before contributing.
757
+
758
+ ---
759
+
760
+ ## Community
761
+
762
+ - **GitHub Discussions** - Ask questions and share ideas
763
+ - **Discord** - Join our community (coming soon)
764
+ - **Twitter** - Follow [@kubit_ui](https://twitter.com/kubit_ui)
765
+ - **Blog** - Read about new features and best practices
766
+
767
+ ---
768
+
769
+ ## Roadmap
770
+
771
+ ### Current (v0.x)
772
+
773
+ - ✅ Core CLI functionality
774
+ - ✅ Plugin system
775
+ - ✅ Recipe system
776
+ - ✅ Monorepo support
777
+ - ✅ Interactive dashboard
778
+ - ✅ Asset optimization
779
+ - ✅ SBOM generation
780
+ - ✅ Doctor command
781
+
782
+ ### Upcoming (v1.x)
783
+
784
+ - 🔄 Visual Studio Code extension
785
+ - 🔄 Cloud deployment integrations
786
+ - 🔄 Advanced caching strategies
787
+ - 🔄 Remote plugin registry
788
+ - 🔄 AI-powered code reviews
789
+ - 🔄 Performance profiling tools
790
+
791
+ ### Future (v2.x)
792
+
793
+ - 📋 Multi-language support (Go, Rust, Python)
794
+ - 📋 Kubernetes integration
795
+ - 📋 Serverless deployment
796
+ - 📋 Advanced monitoring and observability
797
+
798
+ ---
799
+
800
+ ## Changelog
801
+
802
+ See [CHANGELOG.md](CHANGELOG.md) for a detailed history of changes.
803
+
804
+ ---
805
+
806
+ ## License
807
+
808
+ Kubit Forge is [MIT licensed](LICENSE).
809
+
810
+ ---
811
+
812
+ ## Acknowledgments
813
+
814
+ Built with ❤️ by the Kubit team and [contributors](https://github.com/kubit-ui/kubit-forge/graphs/contributors).
815
+
816
+ Special thanks to:
817
+
818
+ - [Vite](https://vitejs.dev/) - Lightning-fast build tool
819
+ - [TypeScript](https://www.typescriptlang.org/) - Type-safe JavaScript
820
+ - [Commander.js](https://github.com/tj/commander.js) - CLI framework
821
+ - [Changesets](https://github.com/changesets/changesets) - Version management
822
+ - [pnpm](https://pnpm.io/) - Fast, disk-efficient package manager
823
+
824
+ ---
825
+
826
+ ## Support
827
+
828
+ - **Documentation** - [docs.kubit-ui.com](https://docs.kubit-ui.com)
829
+ - **Issues** - [GitHub Issues](https://github.com/kubit-ui/kubit-forge/issues)
830
+ - **Discussions** - [GitHub Discussions](https://github.com/kubit-ui/kubit-forge/discussions)
831
+ - **Email** - team@kubit-forge.org
832
+
833
+ ---
834
+
835
+ <div align="center">
836
+
837
+ **[Website](https://kubit-ui.com)** • **[Documentation](https://docs.kubit-ui.com)** • **[GitHub](https://github.com/kubit-ui/kubit-forge)** • **[NPM](https://www.npmjs.com/package/kubit-forge)**
838
+
839
+ Made with ❤️ for the open-source community
840
+
841
+ </div>