Skip to main content

Getting Started

This guide covers the setup shared by drilling and completion frontend apps. At the end, you will have a generated Corva app running locally and can continue with the segment-specific guide.

Before you begin

You need:

  • Access to Corva and the Dev Center.
  • Node.js 24.15.0, which is required by the current @corva/create-app release.
  • Git and an editor such as Visual Studio Code or Cursor.
  • Basic familiarity with React and a terminal.

Verify Node before scaffolding:

node --version
# v24.15.0

The published package documents a global CLI installation:

npm install --global @corva/create-app@latest

If you prefer not to keep the CLI globally, use the npx form shown below. The generated app can use npm or Yarn; Yarn does not need to be installed unless you select it as the package manager.

1. Choose your segment

The segment controls the starter code and the assets supplied by Corva.

ChooseWhen the app is aboutAssets available to the app
drillingDrilling operationsrig and well
completionFrac, wireline, pumpdown, or other completion operationsfracFleet, well, and/or wells

Changing the segment later affects more than navigation or categorization. Choose the operational model the app will actually use.

2. Register the app in Dev Center

  1. Sign in to Corva.
  2. Open Dev Center and select Add New App.
  3. Choose Front End.
  4. Enter the customer-facing name and description.
  5. Select Drilling or Completion and the most relevant category.
  6. Copy the scaffolding command shown by the wizard.

The wizard-generated command contains the registered app key. Keep that value unchanged so local packages and uploaded versions belong to the correct app.

3. Scaffold the project

Run the command from the parent directory where you want the project created. Current CLI syntax follows this shape:

npx @corva/create-app@latest create my-frontend-app \
--appName "My Frontend App" \
--appKey "my-company.my-frontend-app.ui" \
--appType ui \
--segments drilling \
--category analytics \
--runtime ui \
--packageManager npm \
--useTypescript true

Use the exact app name, key, segment, and category generated by your Dev Center wizard. Replace drilling with completion only when creating a completion app.

The generated project already includes:

  • @corva/ui and its standard app components.
  • A drilling- or completion-specific src/App starter.
  • AppSettings, tests, linting, build, ZIP, and release scripts.
  • Corva UI MCP configuration for supported AI coding tools.

4. Configure the local hostname

Add the following entry to your computer's hosts file:

127.0.0.1 app.local.corva.ai

The file is /etc/hosts on macOS and Linux, and C:\Windows\System32\drivers\etc\hosts on Windows. Administrator access is required to save it.

See Local Hostname Setup for operating-system-specific steps.

5. Run the app

The scaffolder installs dependencies unless you pass --no-dependencies-install.

cd my-frontend-app
npm start

For a Yarn project, run yarn start. The development server opens:

http://app.local.corva.ai:8080

Saved changes reload automatically. If the page does not open, verify the hosts entry and confirm that port 8080 is available.

6. Know the files you will edit

FilePurpose
src/App.tsx or src/App.jsRoot UI and segment assets
src/AppSettings.tsx or src/AppSettings.jsCustomer-configurable app settings
src/index.jsExports the app and settings entrypoints; keep its shape intact
manifest.jsonApp identity, segment, initial size, and platform behavior
src/App.scssApp-specific styles
src/__tests__/Tests for the app and settings

The generated App uses AppContainer and AppHeader from @corva/ui/componentsV2. Keep AppContainer at the top of the app so Corva UI components can use the correct containment and fullscreen behavior.

7. Continue with your segment

Package and release

When the app is ready:

npm test
npm run build
npm run zip
npm run release

Use the corresponding yarn commands in a Yarn project. zip creates an uploadable package; release publishes a new version through the Corva CLI flow.

Keep generated dependencies aligned

Start from the versions generated by the current CLI. Do not copy dependency versions from an older app or hard-code versions from this documentation.