The developer CLI for the SolidX platform — scaffold, build, seed, generate, and release your SolidX application from a single tool.
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.
The recommended way to run solidctl is via npx, which ensures you are always using the latest version without needing a global install:
npx @solidxai/solidctl <command>All examples in this README use npx. If you prefer a global install:
npm install -g @solidxai/solidctl
solidctl <command>However please note that a global install may become outdated, so we recommend using npx for the best experience.
Scaffold a new SolidX project with a single command:
npx @solidxai/solidctl create-appThe interactive wizard will ask for your project name, database connection details, and port configuration, then scaffold a complete project structure:
my-solid-app/
├── solid-api/ # NestJS backend powered by @solidxai/core
└── solid-ui/ # React frontend powered by @solidxai/core-ui
Once created, build the API and bootstrap the database:
cd my-solid-app
npx @solidxai/solidctl build # compiles solid-api and sets up the local solid CLI
npx @solidxai/solidctl seed # seeds the database with SolidX metadata and system defaultsScaffolds a new SolidX project. Runs an interactive setup wizard by default; all options can also be passed as flags for non-interactive use.
npx @solidxai/solidctl create-app [options]| Flag | Default | Description |
|---|---|---|
--name <name> |
my-solid-app |
Project directory name |
--api-port <port> |
3000 |
Port for the NestJS API |
--ui-port <port> |
3001 |
Port for the React frontend |
--db-client <client> |
postgres |
Database client (postgres, mysql, etc.) |
--db-host <host> |
localhost |
Database host |
--db-port <port> |
5432 |
Database port |
--db-name <name> |
solidx_app_db |
Database name |
--db-username <user> |
solidx_app_user |
Database username |
--db-password <pass> |
strongpassword |
Database password |
--db-synchronize |
false |
Enable TypeORM schema auto-sync |
--no-interactive |
— | Skip prompts and use flag values / defaults |
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.
npx @solidxai/solidctl buildThis command:
- Runs
npm run buildinsidesolid-api/ - Creates a local
solidCLI shim that points to the compiled output - Verifies the shim is working correctly
Must be run from the project root (the directory containing both
solid-api/andsolid-ui/).
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.
npx @solidxai/solidctl seedProxies to the solid seed command inside solid-api/. Any additional arguments are passed through.
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.
# Regenerate a single model and its related models
npx @solidxai/solidctl generate model <model-name>
# Regenerate all models within a module
npx @solidxai/solidctl generate module <module-name>Under the hood, this proxies to solid refresh-model / solid refresh-module, which invokes @solidxai/code-builder to perform AST-level file updates.
Upgrades the core SolidX dependencies in both solid-api and solid-ui to the latest available version.
# Upgrade to the latest beta pre-release (default)
npx @solidxai/solidctl upgrade
# Upgrade to the latest alpha pre-release
npx @solidxai/solidctl upgrade --alpha
# Upgrade to the latest stable release
npx @solidxai/solidctl upgrade --stable
# Upgrade to a specific dist-tag
npx @solidxai/solidctl upgrade --tag next
# Preview what would change without installing
npx @solidxai/solidctl upgrade --dry-runPackages upgraded:
solid-api:@solidxai/core,@solidxai/code-buildersolid-ui:@solidxai/core-ui
Runs the SolidX metadata-driven test suite defined in your module metadata. Proxies to solid test inside solid-api/.
npx @solidxai/solidctl test [args]All arguments are passed through to the underlying solid test command. See the testing framework documentation for details on writing test scenarios.
Prints information about the current SolidX project — versions, configuration, and environment. Useful for debugging and support.
npx @solidxai/solidctl infoStarts both consuming-project dev servers in one supervised terminal session with merged logs and keyboard shortcuts.
npx @solidxai/solidctl start:devKeyboard shortcuts in interactive terminals:
arestartsolid-apiurestartsolid-uirrestart bothcclear the terminalqstop both and quit
Use plain merged logs without the control pane:
npx @solidxai/solidctl start:dev --plainThis command validates that both solid-api/package.json and solid-ui/package.json define a solidx:dev script before starting either process.
A project created by solidctl create-app follows this layout:
my-solid-app/
├── solid-api/ # NestJS backend
│ ├── src/
│ │ ├── app.module.ts # Root module importing SolidCoreModule
│ │ ├── main.ts # Application entry point
│ │ └── {your-modules}/ # Generated modules live here
│ ├── module-metadata/ # Metadata JSON files driving code generation
│ └── package.json
│
└── solid-ui/ # React frontend
├── src/
│ ├── main.tsx # App entry point
│ └── App.tsx # Root component with SolidX providers
└── package.json
solidctl is the developer interface to the full SolidX package ecosystem:
| Package | Role |
|---|---|
@solidxai/core |
NestJS backend module — auth, CRUD, IAM, notifications, queues |
@solidxai/core-ui |
React admin panel — metadata-driven views, auth UI, Redux store |
@solidxai/code-builder |
Code generation engine — produces NestJS files from metadata |
@solidxai/solidctl |
This CLI — scaffolds, builds, generates, and upgrades |
| Website | solidxai.com |
| Documentation | docs.solidxai.com |
| Discord | discord.gg/ATQW4CEksA |
| Support | support@solidxai.com |
BSL-1.1 © Logicloop