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

# Quickstart: Set up HyperProbe in 2 Minutes

> Configure your editor, drop in the agent, and capture live production variables. Zero restarts. Zero disruption.

Getting started with HyperProbe takes less than 2 minutes. Choose your environment below and let's get variables flowing.

***

## 🚀 The 2-Minute Speedrun

<Steps>
  <Step title="1. Configure the VS Code Extension">
    1. Search for **HyperProbe** in the VS Code Marketplace and click **Install** (or launch Quick Open with `Ctrl+P` / `Cmd+P`, paste `ext install hyperprobe.hyperprobe-extension`, and hit Enter).
    2. Click the HyperProbe debug icon in your Activity Bar on the left.
    3. Click the **Login** button inside the HyperProbe panel. You will be redirected to HyperProbe dashboard at [https://app.hyperprobe.co](https://app.hyperprobe.co)
    4. Sign in via **SSO**, create a new service, and **copy your Service UUID** from the dashboard.
  </Step>

  <Step title="2. Map Your Local Code (.hprc)">
    Create a `.hprc` file at the root of your repository to map your local workspace to your service:

    ```json .hprc theme={null}
    {
      "serviceId": "<service-uuid-from-dashboard>"
    }
    ```
  </Step>

  <Step title="3. Add the SDK Dependency">
    Add the lightweight agent dependency to your project setup:

    <Tabs>
      <Tab title="Node.js SDK">
        Install the package using your preferred package manager:

        <CodeGroup>
          ```bash npm theme={null}
          npm install @hyperprobe/node-sdk
          ```

          ```bash pnpm theme={null}
          pnpm add @hyperprobe/node-sdk
          ```

          ```bash yarn theme={null}
          yarn add @hyperprobe/node-sdk
          ```
        </CodeGroup>
      </Tab>

      <Tab title="Java Agent">
        Download the standard agent JAR artifact from your dashboard and save it inside your server workspace:

        ```bash theme={null}
        curl -O https://hyperprobe-assets.s3.ap-south-1.amazonaws.com/static/hyperprobe-agent.jar
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step title="4. Initialize the SDK Agent">
    Initialize the HyperProbe singleton inside your codebase or launch routine:

    <Tabs>
      <Tab title="Node.js (TypeScript)">
        Create a file named `hyperprobe.ts` in your source root, and import it **as early as possible** in your main entrypoint (e.g. `index.ts`):

        ```typescript src/hyperprobe.ts theme={null}
        import { HyperProbe } from '@hyperprobe/node-sdk';

        HyperProbe.start({
          serviceId: '<service-uuid-from-dashboard>',
          environment: process.env.NODE_ENV, // Your environment name (e.g. dev, staging, production). Use whatever variable contains the env value.
          brokerUrl: 'https://logger.app.hyperprobe.co',
          commitSha: process.env.GIT_COMMIT, // CI-injected commit SHA
          distLocation: 'dist',
          sourceMapDir: './dist'
        });
        ```

        ```typescript src/index.ts theme={null}
        import './hyperprobe.js'; // MUST BE AS EARLY AS POSSIBLE
        import express from 'express';
        ...
        ```
      </Tab>

      <Tab title="Node.js (CommonJS)">
        Create a file named `hyperprobe.js` in your source root, and require it **as early as possible** in your main entrypoint (e.g. `index.js`):

        ```javascript src/hyperprobe.js theme={null}
        const { HyperProbe } = require('@hyperprobe/node-sdk');

        HyperProbe.start({
          serviceId: '<service-uuid-from-dashboard>',
          environment: process.env.NODE_ENV, // Your environment name (e.g. dev, staging, production). Use whatever variable contains the env value.
          brokerUrl: 'https://logger.app.hyperprobe.co',
          commitSha: process.env.GIT_COMMIT
        });
        ```

        ```javascript src/index.js theme={null}
        require('./hyperprobe.js'); // MUST BE AS EARLY AS POSSIBLE
        const express = require('express');
        ...
        ```
      </Tab>

      <Tab title="Java JVM Agent">
        No code changes required. Attach the jar at startup using JVM arguments, mapping the parameters via environment variables:

        ```bash theme={null}
        export GIT_COMMIT=$(git rev-parse HEAD)
        export HYPERPROBE_SERVICE_ID=<service-uuid-from-dashboard>
        export HYPERPROBE_ENVIRONMENT=production # Your environment name (e.g. dev, staging, production). Use whatever variable contains the env value.
        export HYPERPROBE_BROKER_URL=https://logger.app.hyperprobe.co

        java -javaagent:/opt/hyperprobe/hyperprobe-agent.jar -jar app.jar
        ```
      </Tab>
    </Tabs>

    <Warning>
      **Commit SHA Alignment:** HyperProbe relies on `commitSha` to align your local source files with the exact code running in production. If `commitSha` is missing or resolves to `'unknown'`, the agent will refuse to initialize to protect alignment.
    </Warning>
  </Step>

  <Step title="5. Place Your First Probe">
    1. Open any source file in VS Code.
    2. Right-click an executable line of code and select **Insert a Snapshot**.
    3. Trigger the path in your running service (e.g., hit the endpoint or perform the UI action).
  </Step>

  <Step title="6. View Live Variables">
    **Inspect the live heap state, local variables, and the full call stack directly in your VS Code sidebar!**

    Variables and stacks will populate inside your editor's sidebar panel the instant execution hits your probed line.
  </Step>
</Steps>

***

## 🛡️ Production Safety Checklist

Before you deploy to production, verify these two configuration items:

* **Source Maps / Debug Symbols Enabled:** For TypeScript/Babel projects, ensure source-maps are enabled and compiled into your build. For JVM projects, ensure debug symbols are included in compiled JAR artifacts so byte positions align.
* **CI Pipeline Commit Injection:** Verify that your CI pipeline is injecting the active commit SHA into the environment (e.g. `GIT_COMMIT=$(git rev-parse HEAD)`).
