> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ollie.shop/llms.txt
> Use this file to discover all available pages before exploring further.

# Developer Quickstart

> Create, deploy, and see your first component live in 5 minutes

This tutorial will guide your through the necessary steps to create a new component, preview it while in development, deploy it to your store and assign it to a specific position (or slot as we call it) in your store.

## Prerequisites

<Tabs>
  <Tab title="macOS/Linux">
    <Steps>
      <Step title="Node.js 20+">
        ```bash theme={"system"}
        node --version  # Should show v20.0.0 or higher
        ```

        [Download Node.js](https://nodejs.org/) if not installed
      </Step>

      <Step title="VS Code">
        [Download VS Code](https://code.visualstudio.com/) - Recommended editor
      </Step>

      <Step title="Git">
        ```bash theme={"system"}
        git --version  # Verify Git is installed
        ```
      </Step>

      <Step title="Ollie Shop Store">
        You have created a [Store](/ollie-shop/get-started/admin-onboarding) in Ollie Shop
      </Step>
    </Steps>
  </Tab>

  <Tab title="Windows">
    <Info>
      Ollie Shop CLI requires a Unix-like environment. Windows users must use WSL (Windows Subsystem for Linux).
    </Info>

    <Steps>
      <Step title="Install WSL">
        Open PowerShell as Administrator and run:

        ```powershell theme={"system"}
        wsl --install
        ```

        [Full WSL Installation Guide](https://learn.microsoft.com/en-us/windows/wsl/install)
      </Step>

      <Step title="Install Node.js in WSL">
        Open WSL terminal and run:

        ```bash theme={"system"}
        curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
        sudo apt-get install -y nodejs
        ```
      </Step>

      <Step title="VS Code with WSL">
        1. Install [VS Code](https://code.visualstudio.com/)
        2. Install the [WSL extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl)
        3. Open WSL folders with: `code .` from WSL terminal
      </Step>
    </Steps>

    <Info>
      **All commands in this guide must be run in the WSL terminal**, not Windows Command Prompt or PowerShell.
    </Info>
  </Tab>
</Tabs>

## Step 1: Create a Hello World Component

In your terminal, use the `create-ollie-shop` command to triger the scaffolding of a new project with our Hello World component.

<Steps>
  <Step title="Create Your Project">
    Run the creation command

    ```bash theme={"system"}
    npx create-ollie-shop
    ```

    You'll be prompted for:

    * `Project Name`  which will be the name on the folder.
    * `Store ID` <Icon icon="circle-exclamation" color="#ff0000" /> leave empty - you'll be able to add this information at a later step.
    * `VTEX Account Name` the id of your store in in your ecommerce provider.
    * `Version ID` <Icon icon="circle-exclamation" color="#ff0000" /> leave empty - you'll be able to add this information at a later step

    <Frame>
      <img src="https://mintcdn.com/ollie/UatGh8GLCugPlVFB/ollie-shop/imgs/npxcreate-ollie-shop.png?fit=max&auto=format&n=UatGh8GLCugPlVFB&q=85&s=b9b9567dc3a8c94d27cf2ca46c96c228" alt="" width="636" height="427" data-path="ollie-shop/imgs/npxcreate-ollie-shop.png" />
    </Frame>
  </Step>

  <Step title="Navigate to Project">
    Replace `[your-project-name]` with the name you chose

    ```bash theme={"system"}
    cd [your-project-name]
    ```
  </Step>
</Steps>

## Step 2: Install Dependencies

After creating the project, set up your development environment.

<Steps>
  <Step title="Open in VS Code">
    ```bash theme={"system"}
    code . # This opens your project in VS Code
    ```
  </Step>

  <Step title="Install Project Dependencies">
    Developing with Ollie Shop requires Node.js and npm.

    In the VS Code terminal, run:

    ```bash theme={"system"}
    npm install
    ```

    This installs all required packages for your project.
  </Step>
</Steps>

## Step 3: Develop Your Component

Now let's build a checkout component using the Ollie Shop SDK.

<Steps>
  <Step title="Open Component File">
    Open `components/HelloWorld/index.tsx` in VS Code.

    This file contains your component code that will be deployed to your checkout.
  </Step>

  <Step title="Add Checkout Features">
    Replace the code in the `index.tsx` file with the code below.

    You'll now use the `useCheckoutSession` hook from the `@ollie-shop/sdk` package to access checkout session data.

    ```typescript index.tsx theme={"system"}
    import { useCheckoutSession } from '@ollie-shop/sdk';
    import React from 'react';
    import styles from './helloWorld.module.css';

    export default function HelloWorld({ name = "Stranger" }) {
      const { session } = useCheckoutSession();
      
      return (
        <div className={styles.container}>
          <h1>Hello, {name}!</h1>
          <p>Session ID: {session.id}</p>
          <p>Cart has {session.cartItems.length} items</p>
        </div>
      );
    }
    ```

    Your component now accesses real checkout session data!
  </Step>
</Steps>

## Step 4: Create Component in Admin Dashboard

Before deploying, you need to register your component in the admin dashboard.

<Steps>
  <Step title="Navigate to Components">
    In the admin dashboard:

    1. Click **"Components"** in the sidebar
    2. Click **"Create Component"** or **"Create Your First Component"**

    <Frame>
      <img src="https://mintcdn.com/ollie/UatGh8GLCugPlVFB/ollie-shop/imgs/component-create.png?fit=max&auto=format&n=UatGh8GLCugPlVFB&q=85&s=2eda57e33ec49472b4de6d0a04788b10" alt="Component Create Pn" width="2878" height="1752" data-path="ollie-shop/imgs/component-create.png" />
    </Frame>
  </Step>

  <Step title="Configure Component">
    Fill in the component details:

    * **Name**: Your component name (e.g., "My Custom Component")
    * **Active**: Toggle ON to enable the component
    * **Slot**: Select where the component appears (e.g., "Cart Sidebar")
    * **Version**: Select your store version

    Click **"Create Component"**

    <Frame>
      <img src="https://mintcdn.com/ollie/UatGh8GLCugPlVFB/ollie-shop/imgs/component-new-create-form.png?fit=max&auto=format&n=UatGh8GLCugPlVFB&q=85&s=860b55da5d727dd8f8b5b10f2aa1ef60" alt="Component New Create Form Pn" width="2878" height="1752" data-path="ollie-shop/imgs/component-new-create-form.png" />
    </Frame>
  </Step>

  <Step title="Get Component ID">
    After creation, you'll see the Component Configuration page.

    **Copy the Component ID** - you'll need this for deployment!

    Example: `26f2e95f-e7f3-4e26-903f-a5ad4e03f584`

    <Frame>
      <img src="https://mintcdn.com/ollie/UatGh8GLCugPlVFB/ollie-shop/imgs/component-get-id.png?fit=max&auto=format&n=UatGh8GLCugPlVFB&q=85&s=82dabe213a92ddfac14fb4a51fb3ed62" alt="Component Get Id Pn" width="2878" height="1752" data-path="ollie-shop/imgs/component-get-id.png" />
    </Frame>
  </Step>
</Steps>

## Step 5: Preview Locally with Studio

Run the dev server and preview your component live in the checkout.

<Steps>
  <Step title="Start the Dev Server">
    In your VS Code terminal, start the Ollie CLI dev server (hot reload):

    ```bash theme={"system"}
    ollieshop start
    ```

    This serves your components on `http://localhost:4000` and watches for changes.
  </Step>

  <Step title="Open Studio">
    In the admin dashboard, go to **Studio**. With the dev server running, your
    component appears in the **Components** tab and renders live in the checkout
    preview. Editing your code hot-reloads the preview automatically.
  </Step>

  <Step title="Note Your Component ID">
    From Step 4, keep the Component ID handy — you'll use it to deploy:
    `26f2e95f-e7f3-4e26-903f-a5ad4e03f584`
  </Step>
</Steps>

## Step 6: Deploy with Studio

With the dev server running (Step 5) and your component visible in Studio, deploy it without leaving the dashboard.

<Steps>
  <Step title="Open the Components tab">
    In **Studio**, find your component in the **Components** tab. Make sure the
    **CLI** status dot is green (the dev server is connected) and the build has
    no errors.
  </Step>

  <Step title="Deploy">
    Click the **upload icon** on your component's card. Confirm in the dialog —
    Studio bundles your component, uploads it, and shows the build status.
  </Step>

  <Step title="Wait for the build to succeed">
    Studio polls the build and notifies you when it's done.
  </Step>

  <Step title="View on your live store">
    Visit your store's checkout to see your component live!
  </Step>
</Steps>

<Note>
  Prefer the command line? The CLI is documented separately under [CLI Reference](/ollie-shop/cli/installation).
</Note>

<Tip>
  You've successfully created and deployed your first Ollie Shop component! Your custom checkout enhancement is now live.
</Tip>
