Preparing your workspace...

assistant-chat.tsx2.5k
utils.ts850
button.tsx720
Quick Actions
codmir
Docs
Discord
Get started
API
  • Introduction
  • Installation
  • Your First Project
  • Your First Agent
  • Overview
  • OverseerClient
  • Error Tracking
  • Session Replay
  • Incidents
  • Deployments
  • Orchestrator
    • Next.js
    • React
    • Express
    • Vue
    • Svelte

Set up Overseer in your Vue.js application

Vue.js Integration

Set up Overseer in Vue 3 applications (Vite, Nuxt, etc.)

Installation

npm install @codmir/overseer
yarn add @codmir/overseer
pnpm add @codmir/overseer
bun add @codmir/overseer

Vue 3 + Vite Setup

// src/main.ts
import { createApp } from 'vue';
import { init, captureException } from '@codmir/overseer';
import App from './App.vue';

// Initialize Overseer
init({
  dsn: import.meta.env.VITE_OVERSEER_DSN,
  service: 'vue-app',
  environment: import.meta.env.MODE,
  enableReplay: true,
  enablePerformance: true,
});

const app = createApp(App);

// Global error handler
app.config.errorHandler = (err, instance, info) => {
  captureException(err as Error, {
    extra: {
      component: instance?.$options.name,
      info,
    },
  });
  console.error('Vue Error:', err);
};

// Global warning handler (optional)
app.config.warnHandler = (msg, instance, trace) => {
  console.warn('Vue Warning:', msg, trace);
};

app.mount('#app');

Nuxt 3 Setup

Create a client plugin:

// plugins/overseer.client.ts
import { init, captureException } from '@codmir/overseer';

export default defineNuxtPlugin((nuxtApp) => {
  const config = useRuntimeConfig();

  init({
    dsn: config.public.overseerDsn,
    service: 'nuxt-app',
    environment: process.dev ? 'development' : 'production',
    enableReplay: true,
  });

  // Hook into Vue error handler
  nuxtApp.vueApp.config.errorHandler = (err, instance, info) => {
    captureException(err as Error, {
      extra: { component: instance?.$options.name, info },
    });
  };
});

Update nuxt.config.ts:

// nuxt.config.ts
export default defineNuxtConfig({
  runtimeConfig: {
    public: {
      overseerDsn: process.env.OVERSEER_DSN || '/api/overseer',
    },
  },
});

Usage in Components

<script setup lang="ts">
import { captureException, addBreadcrumb, setUser } from '@codmir/overseer';
import { onMounted } from 'vue';

const props = defineProps<{ user: User }>();

// Set user context
onMounted(() => {
  setUser({
    id: props.user.id,
    email: props.user.email,
  });
});

const handleClick = async () => {
  addBreadcrumb({
    category: 'ui.click',
    message: 'Button clicked',
    level: 'info',
  });

  try {
    await performAction();
  } catch (error) {
    captureException(error as Error);
  }
};
</script>

<template>
  <button @click="handleClick">Do Action</button>
</template>

Composable

Create a reusable composable:

// composables/useOverseer.ts
import { captureException, addBreadcrumb, setUser } from '@codmir/overseer';

export function useOverseer() {
  const trackError = (error: Error, context?: Record<string, unknown>) => {
    captureException(error, { extra: context });
  };

  const trackAction = (category: string, message: string, data?: Record<string, unknown>) => {
    addBreadcrumb({ category, message, data, level: 'info' });
  };

  const identifyUser = (user: { id: string; email?: string }) => {
    setUser(user);
  };

  return { trackError, trackAction, identifyUser };
}

Environment Variables

# .env
VITE_OVERSEER_DSN=https://your-project.codmir.com/overseer

# Nuxt
OVERSEER_DSN=https://your-project.codmir.com/overseer
Open in ChatGPTOpen in ClaudeConnect MCP on CursorConnect MCP on WindsurfEdit on GitHub
codmir
Products
Desktop AppMobile AppIDE ExtensionAI AgentsOverseerVoice ModeCortex ProtocolHive MindGame Dev (Godat)PricingDownload
Solutions
AI Code AgentsCode ReviewError TrackingSelf-HealingDeploy TrackingAI Tracking SDKWorkflow AutomationTesting FrameworkTime TrackingVoice Control
Platform
ProjectsTickets & BoardsAgent MarketplaceIntegrationsTemplatesApp HubAdmin PanelAnalytics
Integrations
GitHubSlackDiscordVercelSentryRailwayLinearAll Integrations
Developers
DocumentationAPI ReferenceSDKCLIDeveloper PortalMarketplaceMCP ConnectorsWebhooksExamplesnpm Packages
Resources
BlogChangelogCommunityTutorialsGet StartedSupportStatusFeedback
Company
AboutCareersContact SalesKickstarterReferral Program
Legal
Terms of UsePrivacy PolicyEULATrademarkSecurity
Download on the App StoreGet it on Google Play

Codmir™ 2026. All rights reserved.

Free & open source SDK — Apache 2.0 License