@solidxai/solidctl 0.1.14-beta.0 → 0.1.15
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.
- package/README.md +187 -66
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,98 +1,219 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
<a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://opencollective.com/nest/sponsors/badge.svg" alt="Sponsors on Open Collective" /></a>
|
|
17
|
-
<a href="https://paypal.me/kamilmysliwiec" target="_blank"><img src="https://img.shields.io/badge/Donate-PayPal-ff3f59.svg" alt="Donate us"/></a>
|
|
18
|
-
<a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg" alt="Support us"></a>
|
|
19
|
-
<a href="https://twitter.com/nestframework" target="_blank"><img src="https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow" alt="Follow us on Twitter"></a>
|
|
20
|
-
</p>
|
|
21
|
-
<!--[](https://opencollective.com/nest#backer)
|
|
22
|
-
[](https://opencollective.com/nest#sponsor)-->
|
|
23
|
-
|
|
24
|
-
## Description
|
|
25
|
-
|
|
26
|
-
[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.
|
|
27
|
-
|
|
28
|
-
## Project setup
|
|
1
|
+
# solidctl
|
|
2
|
+
|
|
3
|
+
> The developer CLI for the SolidX platform — scaffold, build, seed, generate, and release your SolidX application from a single tool.
|
|
4
|
+
|
|
5
|
+
`solidctl` is the command-line interface that ties the SolidX ecosystem together. Whether you are starting a new project, upgrading core dependencies, or regenerating code after a model change using the command line, `solidctl` is the entry point.
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/@solidxai/solidctl)
|
|
8
|
+
[](https://opensource.org/licenses/BSL-1.1)
|
|
9
|
+
[](https://docs.solidxai.com/docs)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
The recommended way to run `solidctl` is via `npx`, which ensures you are always using the latest version without needing a global install:
|
|
29
16
|
|
|
30
17
|
```bash
|
|
31
|
-
|
|
18
|
+
npx @solidxai/solidctl <command>
|
|
32
19
|
```
|
|
33
20
|
|
|
34
|
-
|
|
21
|
+
All examples in this README use `npx`. If you prefer a global install:
|
|
35
22
|
|
|
36
23
|
```bash
|
|
37
|
-
|
|
38
|
-
|
|
24
|
+
npm install -g @solidxai/solidctl
|
|
25
|
+
solidctl <command>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
However please note that a global install may become outdated, so we recommend using `npx` for the best experience.
|
|
29
|
+
|
|
30
|
+
---
|
|
39
31
|
|
|
40
|
-
|
|
41
|
-
$ npm run start:dev
|
|
32
|
+
## Quick start
|
|
42
33
|
|
|
43
|
-
|
|
44
|
-
|
|
34
|
+
Scaffold a new SolidX project with a single command:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npx @solidxai/solidctl create-app
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
The interactive wizard will ask for your project name, database connection details, and port configuration, then scaffold a complete project structure:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
my-solid-app/
|
|
44
|
+
├── solid-api/ # NestJS backend powered by @solidxai/core
|
|
45
|
+
└── solid-ui/ # React frontend powered by @solidxai/core-ui
|
|
45
46
|
```
|
|
46
47
|
|
|
47
|
-
|
|
48
|
+
Once created, build the API and bootstrap the database:
|
|
48
49
|
|
|
49
50
|
```bash
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
cd my-solid-app
|
|
52
|
+
npx @solidxai/solidctl build # compiles solid-api and sets up the local solid CLI
|
|
53
|
+
npx @solidxai/solidctl seed # seeds the database with SolidX metadata and system defaults
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
52
57
|
|
|
53
|
-
|
|
54
|
-
$ npm run test:e2e
|
|
58
|
+
## Commands
|
|
55
59
|
|
|
56
|
-
|
|
57
|
-
|
|
60
|
+
### `create-app`
|
|
61
|
+
|
|
62
|
+
Scaffolds a new SolidX project. Runs an interactive setup wizard by default; all options can also be passed as flags for non-interactive use.
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
npx @solidxai/solidctl create-app [options]
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
| Flag | Default | Description |
|
|
69
|
+
|---|---|---|
|
|
70
|
+
| `--name <name>` | `my-solid-app` | Project directory name |
|
|
71
|
+
| `--api-port <port>` | `3000` | Port for the NestJS API |
|
|
72
|
+
| `--ui-port <port>` | `3001` | Port for the React frontend |
|
|
73
|
+
| `--db-client <client>` | `postgres` | Database client (`postgres`, `mysql`, etc.) |
|
|
74
|
+
| `--db-host <host>` | `localhost` | Database host |
|
|
75
|
+
| `--db-port <port>` | `5432` | Database port |
|
|
76
|
+
| `--db-name <name>` | `solidx_app_db` | Database name |
|
|
77
|
+
| `--db-username <user>` | `solidx_app_user` | Database username |
|
|
78
|
+
| `--db-password <pass>` | `strongpassword` | Database password |
|
|
79
|
+
| `--db-synchronize` | `false` | Enable TypeORM schema auto-sync |
|
|
80
|
+
| `--no-interactive` | — | Skip prompts and use flag values / defaults |
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
### `build`
|
|
85
|
+
|
|
86
|
+
Builds the NestJS API and sets up the local `solid` CLI shim so subsequent `solidctl` commands that proxy into the API (like `seed`, `generate`, and `test`) work correctly. Run this after project creation and after any changes to `solid-api`.
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
npx @solidxai/solidctl build
|
|
58
90
|
```
|
|
59
91
|
|
|
60
|
-
|
|
92
|
+
This command:
|
|
93
|
+
1. Runs `npm run build` inside `solid-api/`
|
|
94
|
+
2. Creates a local `solid` CLI shim that points to the compiled output
|
|
95
|
+
3. Verifies the shim is working correctly
|
|
96
|
+
|
|
97
|
+
> Must be run from the project root (the directory containing both `solid-api/` and `solid-ui/`).
|
|
98
|
+
|
|
99
|
+
---
|
|
61
100
|
|
|
62
|
-
|
|
101
|
+
### `seed`
|
|
63
102
|
|
|
64
|
-
|
|
103
|
+
Seeds the database with SolidX system metadata, permissions, default settings, and the initial admin user. Run once after the database is created and after any module metadata changes.
|
|
65
104
|
|
|
66
105
|
```bash
|
|
67
|
-
|
|
68
|
-
$ mau deploy
|
|
106
|
+
npx @solidxai/solidctl seed
|
|
69
107
|
```
|
|
70
108
|
|
|
71
|
-
|
|
109
|
+
Proxies to the `solid seed` command inside `solid-api/`. Any additional arguments are passed through.
|
|
72
110
|
|
|
73
|
-
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
### `generate`
|
|
114
|
+
|
|
115
|
+
Regenerates NestJS boilerplate (entity, service, controller, repository, DTOs) for a model or an entire module based on the current metadata. Safe to run repeatedly — existing custom logic in generated files is preserved.
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
# Regenerate a single model and its related models
|
|
119
|
+
npx @solidxai/solidctl generate model <model-name>
|
|
120
|
+
|
|
121
|
+
# Regenerate all models within a module
|
|
122
|
+
npx @solidxai/solidctl generate module <module-name>
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Under the hood, this proxies to `solid refresh-model` / `solid refresh-module`, which invokes `@solidxai/code-builder` to perform AST-level file updates.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
### `upgrade`
|
|
130
|
+
|
|
131
|
+
Upgrades the core SolidX dependencies in both `solid-api` and `solid-ui` to the latest available version.
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
# Upgrade to the latest beta pre-release (default)
|
|
135
|
+
npx @solidxai/solidctl upgrade
|
|
136
|
+
|
|
137
|
+
# Upgrade to the latest stable release
|
|
138
|
+
npx @solidxai/solidctl upgrade --stable
|
|
139
|
+
|
|
140
|
+
# Upgrade to a specific dist-tag
|
|
141
|
+
npx @solidxai/solidctl upgrade --tag next
|
|
142
|
+
|
|
143
|
+
# Preview what would change without installing
|
|
144
|
+
npx @solidxai/solidctl upgrade --dry-run
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Packages upgraded:
|
|
148
|
+
- `solid-api`: `@solidxai/core`, `@solidxai/code-builder`
|
|
149
|
+
- `solid-ui`: `@solidxai/core-ui`
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
### `test`
|
|
154
|
+
|
|
155
|
+
Runs the SolidX metadata-driven test suite defined in your module metadata. Proxies to `solid test` inside `solid-api/`.
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
npx @solidxai/solidctl test [args]
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
All arguments are passed through to the underlying `solid test` command. See the [testing framework documentation](https://docs.solidxai.com/docs) for details on writing test scenarios.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
### `info`
|
|
166
|
+
|
|
167
|
+
Prints information about the current SolidX project — versions, configuration, and environment. Useful for debugging and support.
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
npx @solidxai/solidctl info
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Project structure
|
|
176
|
+
|
|
177
|
+
A project created by `solidctl create-app` follows this layout:
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
my-solid-app/
|
|
181
|
+
├── solid-api/ # NestJS backend
|
|
182
|
+
│ ├── src/
|
|
183
|
+
│ │ ├── app.module.ts # Root module importing SolidCoreModule
|
|
184
|
+
│ │ ├── main.ts # Application entry point
|
|
185
|
+
│ │ └── {your-modules}/ # Generated modules live here
|
|
186
|
+
│ ├── module-metadata/ # Metadata JSON files driving code generation
|
|
187
|
+
│ └── package.json
|
|
188
|
+
│
|
|
189
|
+
└── solid-ui/ # React frontend
|
|
190
|
+
├── src/
|
|
191
|
+
│ ├── main.tsx # App entry point
|
|
192
|
+
│ └── App.tsx # Root component with SolidX providers
|
|
193
|
+
└── package.json
|
|
194
|
+
```
|
|
74
195
|
|
|
75
|
-
|
|
196
|
+
---
|
|
76
197
|
|
|
77
|
-
|
|
78
|
-
- For questions and support, please visit our [Discord channel](https://discord.gg/G7Qnnhy).
|
|
79
|
-
- To dive deeper and get more hands-on experience, check out our official video [courses](https://courses.nestjs.com/).
|
|
80
|
-
- Deploy your application to AWS with the help of [NestJS Mau](https://mau.nestjs.com) in just a few clicks.
|
|
81
|
-
- Visualize your application graph and interact with the NestJS application in real-time using [NestJS Devtools](https://devtools.nestjs.com).
|
|
82
|
-
- Need help with your project (part-time to full-time)? Check out our official [enterprise support](https://enterprise.nestjs.com).
|
|
83
|
-
- To stay in the loop and get updates, follow us on [X](https://x.com/nestframework) and [LinkedIn](https://linkedin.com/company/nestjs).
|
|
84
|
-
- Looking for a job, or have a job to offer? Check out our official [Jobs board](https://jobs.nestjs.com).
|
|
198
|
+
## Part of the SolidX Platform
|
|
85
199
|
|
|
86
|
-
|
|
200
|
+
`solidctl` is the developer interface to the full SolidX package ecosystem:
|
|
87
201
|
|
|
88
|
-
|
|
202
|
+
| Package | Role |
|
|
203
|
+
|---|---|
|
|
204
|
+
| [`@solidxai/core`](https://www.npmjs.com/package/@solidxai/core) | NestJS backend module — auth, CRUD, IAM, notifications, queues |
|
|
205
|
+
| [`@solidxai/core-ui`](https://www.npmjs.com/package/@solidxai/core-ui) | React admin panel — metadata-driven views, auth UI, Redux store |
|
|
206
|
+
| [`@solidxai/code-builder`](https://www.npmjs.com/package/@solidxai/code-builder) | Code generation engine — produces NestJS files from metadata |
|
|
207
|
+
| `@solidxai/solidctl` | This CLI — scaffolds, builds, generates, and upgrades |
|
|
89
208
|
|
|
90
|
-
|
|
209
|
+
| | |
|
|
210
|
+
|---|---|
|
|
211
|
+
| Website | [solidxai.com](https://solidxai.com) |
|
|
212
|
+
| Documentation | [docs.solidxai.com](https://docs.solidxai.com/docs) |
|
|
213
|
+
| Support | support@solidxai.com |
|
|
91
214
|
|
|
92
|
-
|
|
93
|
-
- Website - [https://nestjs.com](https://nestjs.com/)
|
|
94
|
-
- Twitter - [@nestframework](https://twitter.com/nestframework)
|
|
215
|
+
---
|
|
95
216
|
|
|
96
217
|
## License
|
|
97
218
|
|
|
98
|
-
|
|
219
|
+
BSL-1.1 © [Logicloop](https://logicloop.io)
|