@revealui/cli 0.0.0-canary-20260402004330

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 (65) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +99 -0
  3. package/bin/create-revealui.js +6 -0
  4. package/bin/revealui.js +6 -0
  5. package/dist/cli.d.ts +16 -0
  6. package/dist/cli.js +2769 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.js +2767 -0
  10. package/dist/index.js.map +1 -0
  11. package/package.json +72 -0
  12. package/templates/basic-blog/.env.example +36 -0
  13. package/templates/basic-blog/_gitignore +26 -0
  14. package/templates/basic-blog/next.config.mjs +8 -0
  15. package/templates/basic-blog/package.json +36 -0
  16. package/templates/basic-blog/postcss.config.mjs +5 -0
  17. package/templates/basic-blog/revealui.config.ts +19 -0
  18. package/templates/basic-blog/src/app/globals.css +6 -0
  19. package/templates/basic-blog/src/app/layout.tsx +15 -0
  20. package/templates/basic-blog/src/app/page.tsx +57 -0
  21. package/templates/basic-blog/src/app/posts/[slug]/page.tsx +66 -0
  22. package/templates/basic-blog/src/app/posts/page.tsx +61 -0
  23. package/templates/basic-blog/src/collections/Posts.ts +42 -0
  24. package/templates/basic-blog/src/seed.ts +73 -0
  25. package/templates/basic-blog/tsconfig.json +34 -0
  26. package/templates/e-commerce/.env.example +36 -0
  27. package/templates/e-commerce/_gitignore +26 -0
  28. package/templates/e-commerce/next.config.mjs +8 -0
  29. package/templates/e-commerce/package.json +36 -0
  30. package/templates/e-commerce/postcss.config.mjs +5 -0
  31. package/templates/e-commerce/revealui.config.ts +20 -0
  32. package/templates/e-commerce/src/app/globals.css +6 -0
  33. package/templates/e-commerce/src/app/layout.tsx +15 -0
  34. package/templates/e-commerce/src/app/page.tsx +82 -0
  35. package/templates/e-commerce/src/app/products/[slug]/page.tsx +80 -0
  36. package/templates/e-commerce/src/app/products/page.tsx +72 -0
  37. package/templates/e-commerce/src/collections/Orders.ts +63 -0
  38. package/templates/e-commerce/src/collections/Products.ts +50 -0
  39. package/templates/e-commerce/src/seed.ts +72 -0
  40. package/templates/e-commerce/tsconfig.json +34 -0
  41. package/templates/portfolio/.env.example +36 -0
  42. package/templates/portfolio/_gitignore +26 -0
  43. package/templates/portfolio/next.config.mjs +8 -0
  44. package/templates/portfolio/package.json +36 -0
  45. package/templates/portfolio/postcss.config.mjs +5 -0
  46. package/templates/portfolio/revealui.config.ts +19 -0
  47. package/templates/portfolio/src/app/globals.css +6 -0
  48. package/templates/portfolio/src/app/layout.tsx +15 -0
  49. package/templates/portfolio/src/app/page.tsx +60 -0
  50. package/templates/portfolio/src/app/projects/[slug]/page.tsx +95 -0
  51. package/templates/portfolio/src/app/projects/page.tsx +85 -0
  52. package/templates/portfolio/src/collections/Projects.ts +49 -0
  53. package/templates/portfolio/src/seed.ts +73 -0
  54. package/templates/portfolio/tsconfig.json +34 -0
  55. package/templates/starter/.env.example +36 -0
  56. package/templates/starter/_gitignore +26 -0
  57. package/templates/starter/next.config.mjs +8 -0
  58. package/templates/starter/package.json +36 -0
  59. package/templates/starter/postcss.config.mjs +5 -0
  60. package/templates/starter/revealui.config.ts +18 -0
  61. package/templates/starter/src/app/globals.css +6 -0
  62. package/templates/starter/src/app/layout.tsx +15 -0
  63. package/templates/starter/src/app/page.tsx +18 -0
  64. package/templates/starter/src/seed.ts +40 -0
  65. package/templates/starter/tsconfig.json +34 -0
package/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 RevealUI Team
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
package/README.md ADDED
@@ -0,0 +1,99 @@
1
+ # @revealui/cli
2
+
3
+ The official CLI for creating RevealUI projects with a single command.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ pnpm create revealui@latest
9
+ ```
10
+
11
+ or with specific options:
12
+
13
+ ```bash
14
+ pnpm create revealui@latest my-project --template basic-blog
15
+ ```
16
+
17
+ ## Features
18
+
19
+ - Interactive project setup with guided prompts
20
+ - Multiple templates: basic-blog, e-commerce, portfolio
21
+ - Automatic environment configuration
22
+ - Database setup (NeonDB, Supabase, or local PostgreSQL)
23
+ - Storage setup (Vercel Blob or Supabase)
24
+ - Payment setup (Stripe)
25
+ - Dev Container and Devbox configuration
26
+ - Git initialization with initial commit
27
+
28
+ ## Options
29
+
30
+ ```
31
+ Usage: create-revealui [options] [project-name]
32
+
33
+ Options:
34
+ -t, --template <name> Template to use (basic-blog, e-commerce, portfolio)
35
+ --skip-git Skip git initialization
36
+ --skip-install Skip dependency installation
37
+ -h, --help Display help for command
38
+ ```
39
+
40
+ ## Requirements
41
+
42
+ - Node.js 24.13.0 or higher
43
+ - pnpm 10.28.2 or higher
44
+
45
+ ## What Gets Created
46
+
47
+ ```
48
+ my-project/
49
+ ├── apps/
50
+ │ ├── cms/ # CMS application
51
+ │ └── mainframe/ # Frontend application
52
+ ├── packages/
53
+ │ └── ... # Shared packages
54
+ ├── .devcontainer/ # Dev Container configuration
55
+ ├── devbox.json # Devbox configuration
56
+ ├── .env.development.local # Environment variables
57
+ └── README.md # Project documentation
58
+ ```
59
+
60
+ ## Next Steps
61
+
62
+ After creating your project:
63
+
64
+ ```bash
65
+ cd my-project
66
+ pnpm dev
67
+ ```
68
+
69
+ Visit http://localhost:4000 to access the CMS.
70
+
71
+ ## Development Environments
72
+
73
+ ### Dev Containers
74
+
75
+ Open in VS Code and select "Reopen in Container" or use GitHub Codespaces.
76
+
77
+ ### Devbox
78
+
79
+ ```bash
80
+ devbox shell
81
+ pnpm dev
82
+ ```
83
+
84
+ ## When to Use This
85
+
86
+ - You're starting a new RevealUI project from scratch and want a guided setup
87
+ - You need database, storage, and payment providers configured in one step
88
+ - You want Dev Container or Devbox configuration generated automatically
89
+ - **Not** for adding RevealUI to an existing project — install individual packages instead
90
+
91
+ ## JOSHUA Alignment
92
+
93
+ - **Justifiable**: Every prompt earns its place — template, database, storage, and payment choices all map to real config decisions
94
+ - **Adaptive**: Multiple templates (blog, e-commerce, portfolio) and environment options (DevContainer, Devbox) adapt to your workflow
95
+ - **Sovereign**: Scaffolds a self-contained project you fully own — no hosted dependency or account required
96
+
97
+ ## License
98
+
99
+ MIT
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { createLegacyCreateCli } from '../dist/cli.js';
4
+
5
+ const program = createLegacyCreateCli();
6
+ await program.parseAsync(process.argv);
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { createCli } from '../dist/cli.js';
4
+
5
+ const program = createCli();
6
+ await program.parseAsync(process.argv);
package/dist/cli.d.ts ADDED
@@ -0,0 +1,16 @@
1
+ import { Command } from 'commander';
2
+
3
+ /**
4
+ * CLI definition using Commander.js
5
+ */
6
+
7
+ interface CliOptions {
8
+ template?: string;
9
+ skipGit?: boolean;
10
+ skipInstall?: boolean;
11
+ yes?: boolean;
12
+ }
13
+ declare function createCli(): Command;
14
+ declare function createLegacyCreateCli(): Command;
15
+
16
+ export { type CliOptions, createCli, createLegacyCreateCli };