Skip to content

Getting Started

Prerequisites

  • Node.js + pnpm
  • Rust toolchain (required by Tauri desktop app)
  • macOS, Windows, or Linux

Run Gunsole Desktop locally

Terminal window
git clone https://github.com/push1kb/gunsole-monorepo.git
cd gunsole-monorepo
pnpm install
cd apps/desktop
pnpm tauri dev

Production build:

Terminal window
cd gunsole-monorepo/apps/desktop
pnpm tauri build

Wire the SDK

Terminal window
git clone https://github.com/vijaypushkin/gunsole-js.git
cd gunsole-js/packages/gunsole-js
pnpm install
pnpm build

In your app:

import { createGunsoleClient } from 'gunsole-js';
const gunsole = createGunsoleClient({
projectId: 'acme-frontend',
apiKey: 'local-test-key',
mode: 'desktop',
env: 'development',
appName: 'acme-web',
appVersion: '1.0.0',
defaultTags: { framework: 'react' }
});

Send a first batch

gunsole.setUser({ id: 'user-42', email: 'user@example.com' });
gunsole.setSessionId('session-42');
gunsole.log({
bucket: 'app_lifecycle',
message: 'App mounted'
});
gunsole.error({
bucket: 'api_request',
message: 'Fetch failed',
context: { status: 500 },
tags: { api: 'users' },
traceId: 'req-500-abc'
});
await gunsole.flush();

Verify in desktop

  1. Open the auto-created project (projectId in SDK config).
  2. Check new buckets created from bucket values.
  3. Filter by level/tag/search in the log viewer.

Local interfaces

  • GET /api/projects
  • GET /api/logs
  • GET /api/logs/tail
  • POST /mcp (JSON-RPC, tools listed in Dynamic Tags + Power User docs)