@revealui/cli 0.2.0 → 0.3.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 (66) hide show
  1. package/README.md +114 -6
  2. package/bin/create-revealui.js +3 -3
  3. package/bin/revealui.js +6 -0
  4. package/dist/cli.d.ts +3 -1
  5. package/dist/cli.js +1399 -673
  6. package/dist/cli.js.map +1 -1
  7. package/dist/index.d.ts +0 -10
  8. package/dist/index.js +1380 -657
  9. package/dist/index.js.map +1 -1
  10. package/package.json +15 -6
  11. package/templates/{minimal → basic-blog}/package.json +8 -6
  12. package/templates/basic-blog/postcss.config.mjs +5 -0
  13. package/templates/basic-blog/revealui.config.ts +19 -0
  14. package/templates/basic-blog/src/app/globals.css +6 -0
  15. package/templates/{minimal → basic-blog}/src/app/layout.tsx +4 -4
  16. package/templates/basic-blog/src/app/page.tsx +57 -0
  17. package/templates/basic-blog/src/app/posts/[slug]/page.tsx +66 -0
  18. package/templates/basic-blog/src/app/posts/page.tsx +61 -0
  19. package/templates/basic-blog/src/collections/Posts.ts +42 -0
  20. package/templates/basic-blog/src/seed.ts +73 -0
  21. package/templates/{minimal → basic-blog}/tsconfig.json +1 -1
  22. package/templates/e-commerce/.env.example +36 -0
  23. package/templates/e-commerce/_gitignore +26 -0
  24. package/templates/e-commerce/next.config.mjs +10 -0
  25. package/templates/e-commerce/package.json +36 -0
  26. package/templates/e-commerce/postcss.config.mjs +5 -0
  27. package/templates/e-commerce/revealui.config.ts +20 -0
  28. package/templates/e-commerce/src/app/globals.css +6 -0
  29. package/templates/e-commerce/src/app/layout.tsx +15 -0
  30. package/templates/e-commerce/src/app/page.tsx +82 -0
  31. package/templates/e-commerce/src/app/products/[slug]/page.tsx +80 -0
  32. package/templates/e-commerce/src/app/products/page.tsx +72 -0
  33. package/templates/e-commerce/src/collections/Orders.ts +63 -0
  34. package/templates/e-commerce/src/collections/Products.ts +50 -0
  35. package/templates/e-commerce/src/seed.ts +72 -0
  36. package/templates/e-commerce/tsconfig.json +11 -0
  37. package/templates/portfolio/.env.example +36 -0
  38. package/templates/portfolio/_gitignore +26 -0
  39. package/templates/portfolio/next.config.mjs +10 -0
  40. package/templates/portfolio/package.json +36 -0
  41. package/templates/portfolio/postcss.config.mjs +5 -0
  42. package/templates/portfolio/revealui.config.ts +19 -0
  43. package/templates/portfolio/src/app/globals.css +6 -0
  44. package/templates/portfolio/src/app/layout.tsx +15 -0
  45. package/templates/portfolio/src/app/page.tsx +60 -0
  46. package/templates/portfolio/src/app/projects/[slug]/page.tsx +95 -0
  47. package/templates/portfolio/src/app/projects/page.tsx +85 -0
  48. package/templates/portfolio/src/collections/Projects.ts +49 -0
  49. package/templates/portfolio/src/seed.ts +73 -0
  50. package/templates/portfolio/tsconfig.json +11 -0
  51. package/templates/starter/.env.example +36 -0
  52. package/templates/starter/_gitignore +26 -0
  53. package/templates/starter/next.config.mjs +10 -0
  54. package/templates/starter/package.json +36 -0
  55. package/templates/starter/postcss.config.mjs +5 -0
  56. package/templates/{minimal → starter}/revealui.config.ts +4 -4
  57. package/templates/starter/src/app/globals.css +6 -0
  58. package/templates/starter/src/app/layout.tsx +15 -0
  59. package/templates/starter/src/app/page.tsx +18 -0
  60. package/templates/starter/src/seed.ts +40 -0
  61. package/templates/starter/tsconfig.json +11 -0
  62. package/templates/minimal/src/app/globals.css +0 -15
  63. package/templates/minimal/src/app/page.tsx +0 -20
  64. /package/templates/{minimal → basic-blog}/.env.example +0 -0
  65. /package/templates/{minimal → basic-blog}/_gitignore +0 -0
  66. /package/templates/{minimal → basic-blog}/next.config.mjs +0 -0
package/README.md CHANGED
@@ -1,14 +1,40 @@
1
1
  # @revealui/cli
2
2
 
3
- The official CLI for creating RevealUI projects with a single command.
3
+ The official RevealUI CLI.
4
+
5
+ It now has two roles:
6
+
7
+ - `revealui`: operational commands for a RevealUI workspace
8
+ - `create-revealui`: compatibility alias for project scaffolding
4
9
 
5
10
  ## Usage
6
11
 
12
+ ### Operational CLI
13
+
14
+ ```bash
15
+ revealui doctor
16
+ revealui doctor --fix
17
+ revealui doctor --strict
18
+ revealui dev up
19
+ revealui dev up --include mcp
20
+ revealui dev up --profile fullstack
21
+ revealui dev up --profile fullstack --dry-run
22
+ revealui dev up --fix
23
+ revealui dev status
24
+ revealui dev status --profile agent
25
+ revealui dev profile set agent
26
+ revealui dev profile show
27
+ revealui db init
28
+ revealui db start
29
+ ```
30
+
31
+ ### Project scaffolding
32
+
7
33
  ```bash
8
34
  pnpm create revealui@latest
9
35
  ```
10
36
 
11
- or with specific options:
37
+ or:
12
38
 
13
39
  ```bash
14
40
  pnpm create revealui@latest my-project --template basic-blog
@@ -24,8 +50,32 @@ pnpm create revealui@latest my-project --template basic-blog
24
50
  - Payment setup (Stripe)
25
51
  - Dev Container and Devbox configuration
26
52
  - Git initialization with initial commit
53
+ - Workspace doctor checks
54
+ - Local PostgreSQL lifecycle commands
55
+ - RevealUI dev/bootstrap command surface
56
+ - Named dev profiles for repeatable local bootstrap
57
+ - Optional MCP readiness checks during `revealui dev up`
58
+ - `dev status` previews the same plan that `dev up` executes
59
+ - `dev up --dry-run` previews actions without executing them
60
+ - `doctor --fix` and `dev up --fix` apply only safe local Postgres repairs
61
+ - `doctor` stays non-blocking for local interactive use unless `--strict`, `--json`, or `CI`
62
+
63
+ ## Commands
27
64
 
28
- ## Options
65
+ ### `revealui`
66
+
67
+ ```
68
+ Usage: revealui [options] [command]
69
+
70
+ Commands:
71
+ create [project-name] Create a new RevealUI project
72
+ doctor Check RevealUI workspace and developer environment health
73
+ db Manage the local RevealUI database
74
+ dev Prepare and manage the RevealUI development workspace
75
+ shell Deprecated alias for `revealui dev shell`
76
+ ```
77
+
78
+ ### `create-revealui`
29
79
 
30
80
  ```
31
81
  Usage: create-revealui [options] [project-name]
@@ -37,9 +87,52 @@ Options:
37
87
  -h, --help Display help for command
38
88
  ```
39
89
 
90
+ ### `revealui db`
91
+
92
+ ```
93
+ Usage: revealui db [command]
94
+
95
+ Commands:
96
+ init Initialize the local PostgreSQL data directory
97
+ start Start the local PostgreSQL server
98
+ stop Stop the local PostgreSQL server
99
+ status Show local PostgreSQL status
100
+ reset Reset the local PostgreSQL data directory
101
+ migrate Run Drizzle migrations using the local RevealUI database environment
102
+ ```
103
+
104
+ ### `revealui dev`
105
+
106
+ ```
107
+ Usage: revealui dev [command]
108
+
109
+ Commands:
110
+ up Ensure the local dev environment is ready, migrate the DB, optionally validate MCP, and start a dev script
111
+ status Show current RevealUI development environment status and the effective dev plan
112
+ down Stop local RevealUI development services that are managed by the CLI
113
+ profile Persist or inspect the default dev profile
114
+ shell Alias for `revealui dev up` without starting an app script
115
+ ```
116
+
117
+ Built-in profiles:
118
+
119
+ - `local` - local DB bootstrap only
120
+ - `agent` - local bootstrap plus MCP validation
121
+ - `cms` - local bootstrap plus `dev:cms`
122
+ - `fullstack` - local bootstrap plus MCP validation and `dev`
123
+
124
+ Persist a local default:
125
+
126
+ ```bash
127
+ revealui dev profile set agent
128
+ revealui dev profile show
129
+ ```
130
+
131
+ This writes `.revealui/dev.json` in the workspace and is intended to stay local.
132
+
40
133
  ## Requirements
41
134
 
42
- - Node.js 24.12.0 or higher
135
+ - Node.js 24.13.0 or higher
43
136
  - pnpm 10.28.2 or higher
44
137
 
45
138
  ## What Gets Created
@@ -48,7 +141,7 @@ Options:
48
141
  my-project/
49
142
  ├── apps/
50
143
  │ ├── cms/ # CMS application
51
- │ └── web/ # Frontend application
144
+ │ └── mainframe/ # Frontend application
52
145
  ├── packages/
53
146
  │ └── ... # Shared packages
54
147
  ├── .devcontainer/ # Dev Container configuration
@@ -59,7 +152,22 @@ my-project/
59
152
 
60
153
  ## Next Steps
61
154
 
62
- After creating your project:
155
+ For an existing RevealUI workspace:
156
+
157
+ ```bash
158
+ revealui doctor
159
+ revealui doctor --fix
160
+ revealui dev status --profile agent
161
+ revealui dev up --profile fullstack --dry-run
162
+ revealui dev up --fix
163
+ revealui dev up
164
+ revealui dev up --include mcp
165
+ revealui dev up --profile agent
166
+ revealui dev status --profile fullstack
167
+ revealui dev profile set fullstack
168
+ ```
169
+
170
+ After creating a new project:
63
171
 
64
172
  ```bash
65
173
  cd my-project
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { createCli } from '../dist/cli.js'
3
+ import { createLegacyCreateCli } from '../dist/cli.js';
4
4
 
5
- const program = createCli()
6
- await program.parseAsync(process.argv)
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 CHANGED
@@ -8,7 +8,9 @@ interface CliOptions {
8
8
  template?: string;
9
9
  skipGit?: boolean;
10
10
  skipInstall?: boolean;
11
+ yes?: boolean;
11
12
  }
12
13
  declare function createCli(): Command;
14
+ declare function createLegacyCreateCli(): Command;
13
15
 
14
- export { type CliOptions, createCli };
16
+ export { type CliOptions, createCli, createLegacyCreateCli };