skills/uipath/skills/uipath-coded-apps

uipath-coded-apps

SKILL.md

UiPath Coded Apps

Comprehensive guide for building, syncing, packaging, publishing, and deploying UiPath Coded Web Applications using the uip codedapp CLI.

When to Use This Skill

  • User wants to push local code to Studio Web or pull code from Studio Web
  • User wants to package a web app into a .nupkg for Orchestrator
  • User wants to publish a coded app to Orchestrator and register it
  • User wants to deploy or upgrade a coded app in UiPath
  • User wants to run the full pipeline (build → pack → publish → deploy)
  • User asks about uip codedapp commands, .uipath/ directory, or app.config.json
  • User wants to sync files between local development and Studio Web

Critical Rules

  • Always check login status before any cloud command. Run uip login status --format json first. If not authenticated, ask the user for their environment and run uip login.
  • Never skip the build step. The dist/ directory must exist before pack or push. Always verify with ls dist/.
  • Pack before publish, publish before deploy. The commands form a pipeline — each step depends on the previous one producing its output.
  • The publish command creates app.config.json. This file is used by deploy to resolve the app name. Don't delete .uipath/ between publish and deploy.
  • Push auto-creates projects. If no UIPATH_PROJECT_ID exists, push will interactively prompt to create a new Coded App project and save the ID to .env.
  • Version must be bumped for re-publish. If the same version already exists in Orchestrator, publish will fail. Bump the version in the pack step.

Lifecycle Stages

Stage Description CLI Command
Auth Authenticate with UiPath Cloud uip login
Build Build the web application npm run build (or project-specific)
Push Upload source code to Studio Web uip codedapp push [project-id]
Pull Download project files from Studio Web uip codedapp pull [project-id]
Pack Package build output into .nupkg uip codedapp pack <dist>
Publish Upload to Orchestrator + register app uip codedapp publish
Deploy Deploy or upgrade app in UiPath uip codedapp deploy

Quick Start

Step 0 — Resolve the uip binary

The uip CLI is installed via npm. If uip is not on PATH, resolve it first:

UIP=$(command -v uip 2>/dev/null || npm root -g 2>/dev/null | sed 's|/node_modules$||')/bin/uip
$UIP --version

Use $UIP in place of uip for all subsequent commands if the plain uip command isn't found.

Step 1 — Authenticate

uip login status --format json

If not logged in:

uip login                                          # interactive OAuth (opens browser)
uip login --authority https://alpha.uipath.com     # non-production environments

Step 2 — Choose your workflow

I want to... Go to
Sync code with Studio Web (push/pull) File Sync
Package and deploy to production (pack/publish/deploy) Ship It
Just package for testing Pack

Task Navigation

I need to... Read these
Push code to Studio Web references/file-sync.md
Pull code from Studio Web references/file-sync.md
Package app into .nupkg references/pack-publish-deploy.md
Publish to Orchestrator references/pack-publish-deploy.md
Deploy or upgrade an app references/pack-publish-deploy.md
Full CLI command reference references/commands-reference.md
Manage Orchestrator resources /uipath:uipath-platform

File Sync

Sync source code between local development and UiPath Studio Web using push and pull.

Push — Upload Local Code to Studio Web

# Push using project ID from .env
uip codedapp push

# Push with explicit project ID
uip codedapp push my-project-id

# Push a custom build directory
uip codedapp push --buildDir build

# Push without importing resources
uip codedapp push --ignoreResources

If no UIPATH_PROJECT_ID exists, the command auto-creates a new Coded App project interactively and saves the ID to .env.

Pull — Download Files from Studio Web

# Pull using project ID from .env
uip codedapp pull

# Pull to a specific directory
uip codedapp pull my-project-id --targetDir ./my-app

# Pull and overwrite without prompting
uip codedapp pull --overwrite

File Sync Workflow

First-time push (new project):

npm run build
uip codedapp push
# → Prompts to create project, saves UIPATH_PROJECT_ID to .env

Ongoing development:

# Push local changes to Studio Web
uip codedapp push

# Pull remote changes to local
uip codedapp pull

Reference: File Sync Guide — Push/pull commands, auto-project creation, conflict handling, common workflows.


Pack

Package the app build output into a .nupkg file with UiPath metadata.

# Pack the dist directory
uip codedapp pack dist

# Pack with explicit name and version
uip codedapp pack dist -n my-webapp -v 2.0.0

# Preview packaging without creating the file
uip codedapp pack dist --dry-run

The pack command generates UiPath metadata files inside the .nupkg: operate.json, bindings.json, entry-points.json, and package-descriptor.json.

Reference: Pack / Publish / Deploy Guide — All pack options, content types, metadata files.


Publish

Upload the .nupkg to Orchestrator and register the coded app with the Apps service.

# Publish (auto-selects if only one .nupkg exists)
uip codedapp publish

# Publish a specific package
uip codedapp publish -n my-webapp -v 2.0.0

# Publish as an Action app type
uip codedapp publish -t Action

Creates .uipath/app.config.json with registration metadata used by deploy.

Reference: Pack / Publish / Deploy Guide — Publish options, app types, app.config.json.


Deploy

Deploy or upgrade a coded app in UiPath. Auto-detects fresh deploy vs. upgrade.

# Deploy (uses app name from .uipath/app.config.json)
uip codedapp deploy

# Deploy with explicit app name
uip codedapp deploy -n my-webapp

# Deploy with folder key
uip codedapp deploy -n my-webapp --folderKey my-folder-key

Reference: Pack / Publish / Deploy Guide — Deploy options, fresh vs upgrade, folder key.


Ship It (Full Pipeline)

Run the complete pipeline end-to-end: build → pack → publish → deploy.

IMPORTANT: Do NOT stop between steps to ask "would you like me to continue?". Execute the entire flow automatically. Only pause when you genuinely need information from the user (auth credentials, app name). After getting that info, resume immediately.

  1. Auth — Check uip login status --format json. If not logged in, ask the user for their environment (Production/Alpha/Staging) and run uip login.

  2. Build — Run the project's build command:

    npm run build
    

    Verify: ls dist/ (or the custom build directory).

  3. Pack — Package the build output:

    uip codedapp pack dist -n <name> -v <version>
    

    If a previous version exists in .uipath/app.config.json, suggest bumping the version. Verify: ls .uipath/*.nupkg.

  4. Publish — Upload and register:

    uip codedapp publish
    

    Verify: cat .uipath/app.config.json.

  5. Deploy — Deploy or upgrade:

    uip codedapp deploy
    

    Share the App URL from the output with the user.

Update cycle (version bump):

npm run build
uip codedapp pack dist -n my-webapp -v 2.0.0
uip codedapp publish
uip codedapp deploy

Key Concepts

Environment Variables

The tool reads credentials from .env (created by uip login or uip login):

Variable Used By Description
UIPATH_ACCESS_TOKEN All commands Bearer token for API calls
UIPATH_URL / UIPATH_BASE_URL All commands UiPath Cloud base URL
UIPATH_ORGANIZATION_ID All commands Organization ID
UIPATH_ORGANIZATION_NAME deploy Organization name (for app URL)
UIPATH_TENANT_ID All commands Tenant ID
UIPATH_TENANT_NAME publish Tenant name
UIPATH_FOLDER_KEY deploy Folder key
UIPATH_PROJECT_ID push, pull Studio Web project ID

App Configuration (.uipath/app.config.json)

Created by publish, consumed by deploy:

{
  "appName": "my-webapp",
  "appVersion": "1.0.0",
  "systemName": "my-webapp_abc123",
  "appUrl": null,
  "registeredAt": "2025-02-26T10:00:00.000Z",
  "appType": "Web",
  "deploymentId": "dep-xyz",
  "deployedAt": "2025-02-26T10:05:00.000Z"
}

Content Types

Type Description
webapp Standard web application (default)
library Reusable UI component library
process Process-driven application

App Types

Type Description
Web Standard web app (default)
Action Action app triggered by automation

Troubleshooting

Error Cause Solution
Not authenticated No valid session Run uip login or uip login
Project not found Invalid project ID Check UIPATH_PROJECT_ID or create a new project via push
dist/ not found App not built Run npm run build first
Version already exists Same version published Bump version in pack step (e.g., -v 2.0.0)
No packages found No .nupkg in .uipath/ Run uip codedapp pack first
Folder key required Missing UIPATH_FOLDER_KEY Set in .env or pass --folderKey
App not found on deploy App not published Run uip codedapp publish first
File conflicts on pull Local files would be overwritten Use --overwrite or manually resolve

References

Weekly Installs
7
Repository
uipath/skills
GitHub Stars
14
First Seen
10 days ago
Installed on
antigravity7
amp6
cline6
opencode6
cursor6
kimi-cli6