create-meridian-app 0.1.27 → 0.1.28

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 +134 -0
  2. package/package.json +1 -1
package/README.md ADDED
@@ -0,0 +1,134 @@
1
+ # create-meridian-app
2
+
3
+ CLI for creating and managing MeridianJS projects. Scaffold a new project interactively, or manage an existing one with sub-commands for dev, production start, builds, database migrations, code generation, and the admin dashboard.
4
+
5
+ ## Create a New Project
6
+
7
+ ```bash
8
+ npx create-meridian-app
9
+ # or
10
+ npx create-meridian-app my-app
11
+ ```
12
+
13
+ The interactive wizard prompts for:
14
+ - Project name
15
+ - Database URL
16
+ - HTTP port (default: `9000`)
17
+ - Whether to include the admin dashboard
18
+ - Optional modules (Google OAuth, SendGrid, Resend, SES, S3)
19
+ - Whether to seed demo data
20
+
21
+ ## CLI Commands
22
+
23
+ Once a project is created, the `meridian` CLI is available locally in the project:
24
+
25
+ ### Development
26
+
27
+ ```bash
28
+ npm run dev
29
+ # or
30
+ meridian dev
31
+ ```
32
+
33
+ Starts the API server with `NODE_ENV=development` and, if `@meridianjs/admin-dashboard` is installed, starts the dashboard server. Loads `.env` automatically.
34
+
35
+ ### Production
36
+
37
+ ```bash
38
+ npm start
39
+ # or
40
+ meridian start
41
+ ```
42
+
43
+ Starts the API server with `NODE_ENV=production`. Same process as `dev` but without development-only behaviour (schema auto-sync is disabled via `autoSyncSchema: false` in config).
44
+
45
+ ### Build
46
+
47
+ ```bash
48
+ npm run build
49
+ # or
50
+ meridian build
51
+ ```
52
+
53
+ Runs `tsc --noEmit` to type-check the project.
54
+
55
+ ### Database
56
+
57
+ ```bash
58
+ # Sync schema (adds missing tables/columns, never drops)
59
+ npm run db:migrate
60
+ meridian db:migrate
61
+
62
+ # Generate a migration file
63
+ npm run db:generate add-due-date
64
+ meridian db:generate add-due-date
65
+ ```
66
+
67
+ ### Code Generation
68
+
69
+ Scaffold boilerplate files for common patterns:
70
+
71
+ ```bash
72
+ meridian generate module <name> # New module in src/modules/
73
+ meridian generate workflow <name> # New workflow in src/workflows/
74
+ meridian generate subscriber <event> # New subscriber in src/subscribers/
75
+ meridian generate job <name> # New scheduled job in src/jobs/
76
+ meridian generate route <path> # New API route file
77
+ meridian generate plugin <name> # New local plugin in src/plugins/
78
+
79
+ # Alias
80
+ meridian g module my-feature
81
+ ```
82
+
83
+ ### Admin Dashboard
84
+
85
+ ```bash
86
+ # Serve the dashboard standalone (separate from API)
87
+ meridian serve-dashboard
88
+ meridian serve-dashboard --port 3000
89
+ ```
90
+
91
+ ### User Management
92
+
93
+ ```bash
94
+ meridian user:create --email admin@example.com --role super-admin
95
+ ```
96
+
97
+ ## Scaffolded Project Structure
98
+
99
+ ```
100
+ my-app/
101
+ ├── src/
102
+ │ ├── main.ts Entry point
103
+ │ ├── api/
104
+ │ │ ├── middlewares.ts Route-level middleware config
105
+ │ │ └── admin/ File-based API routes
106
+ │ ├── modules/ Custom domain modules
107
+ │ ├── workflows/ DAG workflows with compensation
108
+ │ ├── subscribers/ Event subscribers
109
+ │ ├── jobs/ Scheduled background jobs
110
+ │ ├── links/ Cross-module link definitions
111
+ │ └── admin/
112
+ │ └── widgets/
113
+ │ └── index.tsx Dashboard widget extensions
114
+ ├── meridian.config.ts Framework configuration
115
+ ├── .env Environment variables
116
+ ├── .env.example Environment variable template
117
+ ├── package.json
118
+ └── tsconfig.json
119
+ ```
120
+
121
+ ## Project `package.json` Scripts
122
+
123
+ | Script | Command | Description |
124
+ |---|---|---|
125
+ | `npm run dev` | `meridian dev` | Development server |
126
+ | `npm start` | `meridian start` | Production server |
127
+ | `npm run build` | `meridian build` | Type-check |
128
+ | `npm run db:migrate` | `meridian db:migrate` | Sync database schema |
129
+ | `npm run db:generate` | `meridian db:generate` | Generate migration |
130
+ | `npm run seed:demo` | (if opted in) | Seed demo data |
131
+
132
+ ## License
133
+
134
+ MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-meridian-app",
3
- "version": "0.1.27",
3
+ "version": "0.1.28",
4
4
  "description": "Create a new Meridian project or manage an existing one",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",