https://github.com/strmio/storm-cli
CLI tool for Storm applications
https://github.com/strmio/storm-cli
cli command-line storm
Last synced: 11 months ago
JSON representation
CLI tool for Storm applications
- Host: GitHub
- URL: https://github.com/strmio/storm-cli
- Owner: strmio
- License: other
- Created: 2024-08-25T22:42:12.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-20T10:30:06.000Z (about 1 year ago)
- Last Synced: 2025-07-13T18:31:36.712Z (11 months ago)
- Topics: cli, command-line, storm
- Language: Python
- Homepage:
- Size: 120 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Storm CLI
Storm CLI is a command-line interface tool designed to streamline the development of server-side applications using the Storm framework. Inspired by the NestJS CLI, Storm CLI provides a powerful suite of commands to scaffold projects, generate boilerplate code, run development servers, and manage your application's lifecycle.
## Table of Contents
- [Installation](#installation)
- [Getting Started](#getting-started)
- [Commands](#commands)
- [new](#new)
- [generate (g)](#generate-g)
- [serve](#serve)
- [build](#build)
- [test](#test)
- [lint](#lint)
- [migrate](#migrate)
- [console](#console)
- [config](#config)
- [deploy](#deploy)
- [env](#env)
- [cache](#cache)
- [update](#update)
- [plugin](#plugin)
- [doctor](#doctor)
- [logs](#logs)
- [Configuration](#configuration)
- [Contributing](#contributing)
- [License](#license)
## Installation
You can install Storm CLI using pip:
```bash
pip install storm-cli
```
## Getting Started
To create a new Storm project, use the `new` command:
```bash
storm new my-storm-app
```
This command will scaffold a new Storm project in a directory named `my-storm-app` with a basic structure and initial setup.
## Commands
### `new`
Scaffolds a new Storm project.
```bash
storm new [options]
```
**Options:**
- `--skip-install`: Skip installing dependencies.
- `--template `: Use a specific project template.
### `generate` (or `g`)
Generates a new resource within the project.
```bash
storm generate [options]
```
**Types:**
- `module`
- `controller`
- `service`
- `guard`
- `middleware`
- `interceptor`
- `filter`
- `entity`
- `resource`
**Options:**
- `--dry-run`: Show what files would be created without actually creating them.
- `--flat`: Generate files without a nested folder.
### `serve`
Starts the application server for development.
```bash
storm serve [options]
```
**Options:**
- `--port `: Specify the port to serve on (default: 3000).
- `--watch`: Restart the server on file changes.
- `--debug`: Run in debug mode for additional logging and debugging.
### `build`
Builds the Storm application for production deployment.
```bash
storm build [options]
```
**Options:**
- `--prod`: Build in production mode.
- `--output `: Specify the output directory for the build files.
### `test`
Runs the tests for the Storm application.
```bash
storm test [options]
```
**Options:**
- `--watch`: Run tests in watch mode.
- `--coverage`: Generate a code coverage report.
- `--filter `: Run tests that match a specific pattern.
### `lint`
Lints the project’s code to enforce coding standards.
```bash
storm lint [options]
```
**Options:**
- `--fix`: Automatically fix linting errors where possible.
- `--rules `: Use a specific set of linting rules.
### `migrate`
Manages database migrations.
```bash
storm migrate [options]
```
**Subcommands:**
- `run`: Applies pending migrations.
- `revert`: Reverts the last applied migration.
- `create `: Creates a new migration file.
- `status`: Shows the current status of migrations.
### `console`
Opens an interactive REPL session within the context of the application.
```bash
storm console
```
### `config`
Manages configuration settings for the Storm CLI.
```bash
storm config
```
**Subcommands:**
- `get `: Retrieves a configuration value.
- `set `: Sets a configuration value.
- `list`: Lists all configuration settings.
### `deploy`
Deploys the application to a specified environment.
```bash
storm deploy [options]
```
**Options:**
- `--env `: Specify the environment for deployment (e.g., production, staging).
- `--dry-run`: Simulate the deployment without actually performing it.
### `env`
Manages environment variables for the application.
```bash
storm env [options]
```
**Subcommands:**
- `add `: Adds a new environment variable.
- `remove `: Removes an environment variable.
- `list`: Lists all environment variables.
### `cache`
Manages caching mechanisms used by the application.
```bash
storm cache
```
**Subcommands:**
- `clear`: Clears the application cache.
- `status`: Displays the status of the cache.
### `update`
Updates the Storm CLI to the latest version.
```bash
storm update [options]
```
**Options:**
- `--force`: Force update even if the current version is up-to-date.
### `plugin`
Manages plugins for the Storm framework.
```bash
storm plugin [options]
```
**Subcommands:**
- `install `: Installs a plugin.
- `uninstall `: Uninstalls a plugin.
- `list`: Lists all installed plugins.
### `doctor`
Runs diagnostics on the project to identify common problems or misconfigurations.
```bash
storm doctor [options]
```
**Options:**
- `--fix`: Automatically attempt to fix detected issues.
### `logs`
Displays logs for the application.
```bash
storm logs [options]
```
**Options:**
- `--tail`: Continuously stream logs.
- `--filter `: Filter logs based on a specific pattern.
## Configuration
Configuration for the CLI can be managed using the `storm config` command. This allows you to set and retrieve configuration options specific to your development environment and needs.
## Contributing
Contributions are welcome! Please see our [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on how to get started.
## License
Storm CLI is open-source software licensed under the [MIT license](LICENSE).