Szymon Uryga
OMVP
Jul 15, 2025
visibility 1744
star star star star star
(1 votes)

Optimizely Frontend Hosting: Deploy Without PowerShell Using the @kunalshetye/opticloud Package

In my last two blog posts, I walked through how to get started with deploying a headless app to Optimizely Frontend Hosting using PowerShell and the EpiCloud module. I also demonstrated how to automate the deployment using a script or GitHub Actions.

While that approach works great, it can be overwhelming for developers who aren’t familiar with PowerShell or the Optimizely Deployment API. Fortunately, there's now a much easier way to get started - with a single command and no PowerShell knowledge required.

Enter @kunalshetye/opticloud - a fantastic NPM package built by Kunal Shetye that takes care of the entire deployment logic for you. I’ve recently started using it myself, and I was immediately impressed by how fast and simple it is. If you're a frontend developer deploying to Optimizely DXP for the first time, this tool should absolutely be your first choice.

In this article, I’ll show you how easy it is to deploy a headless app using this modern CLI.

 


 

Deployment Without PowerShell - The @kunalshetye/opticloud NPM Package

For many developers, the first contact with Optimizely happens through the SaaS CMS, and they often have no experience with Optimizely DXP or PowerShell-based deployments. In these cases, the  @kunalshetye/opticloud package is an excellent solution.

This modern CLI tool, created by Kunal, handles the entire deployment process in a simple and developer-friendly way - whether you're deploying a headless app, CMS or commerce project.

 


 

🚀 How to Deploy Using the Optimizely DXP CLI

1. Install the Package

npm install -g @kunalshetye/opticloud

2. Authenticate with DXP

opticloud auth:login

You’ll be prompted to enter:

  • Client Key (from the DXP Cloud portal)

  • Client Secret

  • Project ID (the GUID of your DXP project)

3. Use the ship Command

Once authenticated, you can deploy your app using a single command:

opticloud ship ./ \
  --target=test1 \
  --type=head \
  --prefix=optimizely-one \
  --version=1.0.0 \
  --output=./

The ship command is the ultimate streamlined solution for Optimizely DXP deployments. It orchestrates everything from packaging to deployment in one step.

4. Automate It with GitHub Actions

Even better, opticloud comes with built-in support for GitHub Actions, making it easy to set up continuous deployment pipelines.

👉 Check out the official GitHub Actions documentation here: GitHub Actions Docs

 


 

🔚 Summary

Kunal has done an outstanding job building a modern deployment tool that eliminates the complexity of PowerShell and the legacy EpiCloud module. It’s now easier than ever for developers - especially frontend engineers who are new to Optimizely - to deploy to DXP with confidence.

With opticloud, you can:

  • Deploy headless apps, CMS sites, commerce platforms, and even SQL databases

  • Use GitHub Actions for seamless CI/CD

  • Avoid the steep learning curve of traditional DXP tooling

📘 Highly recommended: Explore the full documentation here → opticloud on NPM

 

Jul 15, 2025

Comments

Michał Mitas
Michał Mitas Jul 15, 2025 09:44 PM

Nice tip!

error Please login to comment.
Latest blogs
Surviving a Dirty Feed. Part 3: Error Handling and Event Batching

Committing a 250,000-row Optimizely catalog import row by row, returning a per-row failure report, and coalescing catalog events into one per batch.

Stanisław Szołkowski | Oct 16, 2026 |

Building UI Extensions for Optimizely SaaS CMS

Introduction Developers have been extending the functionality of Optimizely PaaS CMS for years using addons built in C# and deployed as NuGet...

Mark Stott | Oct 15, 2026

Cheapskate AI Translator: Because Translation Should Not Require a Second Mortgage

There is a particular kind of software project that begins with a detailed architecture document, a product roadmap, and a carefully assembled...

Linh Doan Cuu | Oct 15, 2026

Computed Fields in CMS 13 Content Contracts with Optimizely Graph

Content Contracts in Optimizely CMS 13 allow different content types to share a common structure when querying Optimizely Graph. But what if the...

Mardy | Oct 14, 2026

Opal Workflow Agents And The Graph Webhook Trap

What we did? We built a compliance review workflow agent in Opal. The job was simple: when an editor submits a page for review in Optimizely CMS 13...

Ritu Madan | Oct 14, 2026

cms13-scan: A Deterministic CMS 13 Readiness Scanner

Every CMS 12 to CMS 13 upgrade I have looked at starts the same way. Someone opens the solution and starts hunting. A text search for the APIs

Adnan Zameer | Oct 12, 2026 |