@corva/create-app

中文文档
0.131.0发布于 2026/11/10MITES Module近 30 天下载 1.9万

Create an app to use it in CORVA.AI

原始使用文档
文档目录10 节
  1. Prerequisites
  2. Installation
  3. Usage
  4. Create an app
  5. Examples
  6. Zip
  7. What is getting zipped?
  8. Examples
  9. Release
  10. Examples

@corva/create-app

Apps generator for corva.ai.

Prerequisites

Installation

npm i -g @corva/create-app

Usage

corva-create-app provides a user-friendly CLI wizard to create an app.

Usage: create-corva-app [options] [command]

Options:
  -h, --help                                           display help for command

Commands:
  create [options] [project-directory]                 Create a new app
  zip [options] <project-directory> [patterns...]      Bundle app
  release [options] <project-directory> [patterns...]  Release app
  rerun [options] <project-directory>                  Rerun app
  attach [options] <project-directory>                 Add app to live assets streams
  help [command]                                       display help for command

Create an app

To create a new app use create command.

Usage: create-corva-app create <project-directory> [options]

Create a new app

Arguments:
  project-directory               Project directory to work with (default: "Current working dir")

Options:
  --developerName [string]        Enter the Developer Name (default: "O&G Company")
  --developerIdentifier [string]  Enter the Developer Identifier (default: "oandgc")
  --appType                       Choose the App Type (choices: "ui", "scheduler", "stream", "task")
  --schedulerType                 Choose the scheduler type (choices: "1", "2", "4")
  --cronString [string]           Provide CRON string for the scheduler (default: "*/5 * * * *")
  --depthMilestone [number]       Provide depth milestone for the scheduler (default: 1)
  --logType                       Choose the log type (choices: "time", "depth")
  --appName [string]              Enter the App Name (default: "Corva Dev Center App")
  --description [string]          Enter description (default: "This is the description of my app. You can do great things with it!")
  --summary [string]              Enter summary (default: "More information about this app goes here")
  --category [string]             Enter category (default: "")
  --website [string]              Enter website (default: "https://www.oandgexample.com/my-app/")
  --segments                      Choose segments (choices: "drilling", "completion")
  --runtime                       Choose runtime (choices: "ui", "nodejs24.x", "python3.14", "python3.13")
  -p, --packageManager            Please select the desired package manager (choices: "yarn", "npm")
  -t, --useTypescript [boolean]   Would you like to use TypesScript? (default: false)
  --silent [boolean]              Only log result of the operation (default: false)
  --no-dependencies-install       Skip installing dependencies
  --no-git-init                   Skip initializing git repository

Examples

Create a UI application

create-corva-app test --appName "Test" --segments "drilling" --category "wellDesign" --appKey "some-company.test.ui" --appType "ui" --runtime "ui"

Create a NodeJs TypeScript application

create-corva-app test --appName "Test" --segments "drilling" --category "wellDesign" --appKey "some-company.test.scheduler" --appType "scheduler" --runtime "nodejs24.x" -t

Create a Python application

create-corva-app test --appName "Test" --segments "drilling" --category "analytics" --appKey "some-company.test.stream" --appType "stream" --runtime "python3.14"

Zip

To create a zip that contains app ready to be deployed to Corva use zip command.

Usage: create-corva-app zip [options] <project-directory> [patterns...]

Bundle app

Arguments:
  project-directory                  Project directory to work with
  patterns                           Additional patterns to zip (default: [])

Options:
  --bump-version <string>            Bump version (choices: "major", "minor", "patch", "skip")
  --ignored-files [ignoredFiles...]  Patterns to skip zip
  --silent [boolean]                 Only log result of the operation (default: false)

What is getting zipped?

By default next files will be included.

For frontend apps:

  • manifest.json
  • package.json
  • yarn.lock
  • .npmrc
  • config-overrides.js (webpack apps)
  • vite.config.mjs
  • index.html
  • devApp.js
  • isolatedApp.js
  • vitest.setup.js
  • vitest.global-setup.js
  • all files under src
  • all files under config
  • all files under public
  • tsconfig.json

For apps that written in node:

  • manifest.json
  • package.json
  • either package-lock.json or yarn.lock
  • all files under config folder
  • all *.js files under src and lib folders (if typescript is not used)
  • tsconfig.json, tsconfig.build.json (if typescript is used)
  • all *.ts files under src and lib folders (if typescript is used)

For apps that written in python:

  • manifest.json
  • pyproject.toml, uv.lock (if present in the app)
  • all *.py files

If you want to zip some files that are not included pass that as patterns arguments. To skip some files from zipping please use --ignored-files option.

Examples

Create a zip file from the content of test-app folder & put zip file in it.

create-corva-app zip test-app

Create a zip file & automatically bump version

create-corva-app zip test-app --bump-version=patch

Create a zip file from the content of test-app folder with custom content (globs are supported)

create-corva-app zip test-app some/missing/file1 some/other/missing/file2 all/files/*.glob

Release

To push app to Corva use release command.

Usage: create-corva-app release [options] <project-directory> [patterns...]

Release app

Arguments:
  project-directory            Project directory to work with
  patterns                     Additional patterns to zip (default: [])

Options:
  --bump-version <string>      Bump version (choices: "major", "minor", "patch", "skip")
  --ignored-files [string...]  Patterns to skip zip (default: [])
  --env [string]               Environment to use (choices: "qa", "staging", "production", default: "qa")
  --api-key [string]           Pre generated API key for authorization during app upload
  --app-key [string]           Explicitly set appKey that CLI is going to use. Otherwise it will be taken from manifest.json file. [works only for Front-End apps currently]
  --notes [string]             Add custom notes to published app
  --label [string]             Put a label on the release (choices: "DEV", "BETA", "PROD")
  --remove-on-fail [boolean]   Remove release if it fails during deployment (default: false)
  --silent [boolean]           Only log result of the operation (default: false)
  --remove-on-success          App package (.zip) will not be deleted after upload (default: true)
  --remove-existing [boolean]  If package.json version is already taken - remove the previously published package and upload a new one (default: false)
  --zip-file-name <string>     Upload an existing ZIP without recreating it or bumping its version
  --prebuilt                  Skip the Corva build for an existing ZIP (requires --zip-file-name)
  --author [string]            Author name for the audit

Examples

Release a locally built package

Build the app and install its dependencies in your own CI, then upload the prepared ZIP:

create-corva-app release . --zip-file-name app-prebuilt.zip --prebuilt \
  --env production --api-key "$CORVA_API_KEY" --label BETA --notes "Prebuilt release"

The CLI uploads the ZIP unchanged, waits for deployment, and publishes it with the requested label and notes. It does not build, install dependencies, bump versions, or delete the supplied ZIP. Without --prebuilt, Corva uses its normal build process, including when --zip-file-name is supplied.

Keep manifest.json in the project directory, and package.json for JavaScript apps: the CLI uses these files to identify the app and, with --remove-existing, its version. They must match the ZIP. Set the final app key and version before compiling an FE app; the bundle embeds this identity. With --prebuilt, the CLI checks the ZIP structure and relevant metadata before contacting Corva. It checks root manifest/app metadata, FE app.js, JavaScript package versions, and Python entrypoint and installed-dependency layout. Duplicate and unsafe archive paths are rejected. Metadata files are limited to 1 MiB each. It does not rewrite the ZIP or verify imports, embedded FE identity, or native dependency compatibility; deployment and runtime testing are still needed.

ZIP entries must be at the archive root, without an enclosing project folder:

  • FE: manifest.json, package.json, and the contents of dist/ (including app.js, chunks, and any required assets). Do not include dist/ itself, source code, node_modules/, or an offline mirror.
  • Python BE: manifest.json, application code at the manifest's entrypoint path, requirements.txt, and installed runtime dependencies under requirements/. Build dependencies for Linux and the Python version and CPU architecture declared in the manifest; macOS or Windows dependencies may not run on Lambda. Include all runtime dependencies because Corva skips dependency installation.

Prebuilt uploads still use the platform's upload and runtime limits; this option does not increase them.

Make a release with ask for version

create-corva-app release test-app

Make a release without version increase

create-corva-app release test-app --bump-version=skip

Make a release with increased version

create-corva-app release test-app --bump-version=patch

Make a release with custom version

create-corva-app release test-app --bump-version=4.2.0

Make a release with author option(by default it will use your GitHub username)

create-corva-app release test-app --author=MyName

版本与发布记录

@corva/create-app 共发布 592 个版本,首次发布于 2020/10/06;过去 12 个月发布了 33 个版本。

版本发布日期距今
0.131.0latest2026/11/10今天
0.130.02026/11/028 天前
0.129.02026/10/2912 天前
0.128.32026/10/2912 天前
0.128.22026/10/2615 天前
0.128.12026/10/2615 天前

其他发布通道:test → 0.0.0-62a5f2b。

关于 @corva/create-app 的常见问题

@corva/create-app 是什么?

Create an app to use it in CORVA.AI

如何安装 @corva/create-app?

在项目目录运行 npm install @corva/create-app,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 create-corva-app,可以用 npx create-corva-app 直接运行。

@corva/create-app 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/corva__create-app 是否存在。

@corva/create-app 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@corva/create-app 可以商用吗?

@corva/create-app 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@corva/create-app 的下载量有多少?

根据 npm 官方下载统计,@corva/create-app 在 2026/10/11 – 2026/11/09 这 30 天内被下载 18,741 次,日均约 625 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@corva/create-app 还在维护吗?

最新版本 0.131.0 发布于 2026/11/10(今天);至今共发布 592 个版本,其中过去 12 个月发布了 33 个;首次发布于 2020/10/06。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。