npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@vibeship/devtools

v1.1.4

Published

Comprehensive markdown-based project management system with AI capabilities for Next.js applications

Readme

@vibeship/devtools

Transform your markdown documentation into an intelligent project management system with AI capabilities for Next.js applications.

npm version License: MIT

Features

  • 📝 Living Documentation: Interactive markdown files that update in real-time
  • 🤖 AI Integration: Built-in support for OpenAI, Anthropic, and XAI
  • 📋 Smart Task Extraction: Automatically finds TODO, FIXME, and other markers in your code
  • 🚀 Real-time Updates: Hot reload and SSE for instant feedback
  • 🎨 Modern UI: Beautiful, responsive floating panel interface
  • 🔧 Zero Config: Works out of the box with sensible defaults
  • 🏗️ Framework Support: Full support for Next.js App Router and Pages Router
  • 🔐 Secure API Keys: Client-side encryption for API key storage
  • 💬 AI Chat Interface: Streaming responses with model selection
  • ⚙️ Multi-Provider: Choose your preferred AI provider and model

Quick Start

1. Install in your Next.js project

npx @vibeship/devtools init

This will:

  • Detect your Next.js setup (App/Pages Router, src directory)
  • Create necessary API routes
  • Set up configuration file
  • Add provider to your layout

2. Install the package

npm install @vibeship/devtools

3. Start your dev server

npm run dev

4. Open the DevTools

Press Ctrl+Shift+D (or Cmd+Shift+D on Mac) to toggle the DevTools panel.

Setup Levels

Quick Setup (Default)

Creates a single API route file that handles all endpoints:

npx @vibeship/devtools init

Standard Setup

Creates separate API routes for better organization:

npx @vibeship/devtools init --level standard

Advanced Setup

Full control with all configuration options:

npx @vibeship/devtools init --level advanced

Manual Setup

App Router

// app/layout.tsx
import { VibeshipProviderWithDeps } from '@vibeship/devtools';

export default function RootLayout({ children }) {
  return (
    <html>
      <body>
        <VibeshipProviderWithDeps>
          {children}
        </VibeshipProviderWithDeps>
      </body>
    </html>
  );
}

Pages Router

// pages/_app.tsx
import { VibeshipProviderWithDeps } from '@vibeship/devtools';

export default function MyApp({ Component, pageProps }) {
  return (
    <VibeshipProviderWithDeps>
      <Component {...pageProps} />
    </VibeshipProviderWithDeps>
  );
}

AI Features (New in v1.1.0!)

The AI Settings Panel is included by default when using VibeshipProviderWithDeps. You can access it through the Settings tab in the DevTools panel.

Setting Up AI

  1. Install optional AI dependencies (only what you need):
# For OpenAI
npm install openai

# For Anthropic
npm install @anthropic-ai/sdk

# For streaming UI helpers
npm install ai
  1. Configure AI in your app (optional - for custom AI providers):
import { AISettingsProvider } from '@vibeship/devtools';

export default function RootLayout({ children }) {
  return (
    <html>
      <body>
        <AISettingsProvider>
          {children}
        </AISettingsProvider>
      </body>
    </html>
  );
}
  1. Add AI chat route (if using AI features):
// app/api/vibeship/ai/chat/route.ts
export { POST } from '@vibeship/devtools/api';

Using AI Features

  1. Open DevTools (Ctrl+Shift+D)
  2. Go to Settings → AI Settings
  3. Choose your provider (OpenAI, Anthropic, or XAI)
  4. Enter your API key (securely encrypted in browser)
  5. Select your preferred model
  6. Start chatting with AI about your project!

Security

  • API keys are encrypted client-side using Web Crypto API
  • Keys never leave your browser unencrypted
  • No vendor lock-in - use your own API keys
  • Provider selection is completely flexible

Configuration

Create a vibeship.config.ts file in your project root:

import { defineConfig } from '@vibeship/devtools/config';

export default defineConfig({
  // Paths to scan for tasks
  scanPaths: ['./src', './app', './docs'],
  
  // Features to enable
  features: {
    tasks: true,
    ai: true,
    realtime: true,
    commandPalette: true,
    fileEditing: true,
    markdownPreview: true,
  },
  
  // UI preferences
  ui: {
    theme: 'system',
    position: 'bottom-right',
    defaultSize: { width: '400px', height: '600px' },
    hotkey: 'ctrl+shift+d',
    showInProduction: false,
  },
});

API Routes

The DevTools require API routes for functionality. The init command creates these automatically, but you can also create them manually:

Tasks API

// app/api/vibeship/tasks/route.ts
export { GET, POST } from '@vibeship/devtools/api';

Files API

// app/api/vibeship/files/route.ts
export { GET, POST } from '@vibeship/devtools/api';

AI Chat API

// app/api/vibeship/ai/chat/route.ts
export { POST } from '@vibeship/devtools/api';

Advanced Usage

Custom API Client

import { VibeshipProvider } from '@vibeship/devtools';
import { VibeshipAPIClient } from '@vibeship/api-client';

const apiClient = new VibeshipAPIClient({
  baseURL: '/api/vibeship',
  timeout: 30000,
  headers: {
    'X-Custom-Header': 'value'
  }
});

export default function App({ children }) {
  return (
    <VibeshipProvider apiClient={apiClient}>
      {children}
    </VibeshipProvider>
  );
}

Custom Task Fetching

import { VibeshipProviderWithDeps } from '@vibeship/devtools';

const getProjectTasks = async (params) => {
  const response = await fetch(`/api/tasks?${new URLSearchParams(params)}`);
  const data = await response.json();
  return data.tasks;
};

export default function App({ children }) {
  return (
    <VibeshipProviderWithDeps getProjectTasks={getProjectTasks}>
      {children}
    </VibeshipProviderWithDeps>
  );
}

Custom UI Components

You can provide custom implementations for any UI component:

import { VibeshipProviderWithDeps, AISettingsPanel } from '@vibeship/devtools';
import { MyCustomAISettingsPanel } from './components/MyCustomAISettingsPanel';

export default function App({ children }) {
  return (
    <VibeshipProviderWithDeps 
      // Use custom AI Settings Panel
      AISettingsPanel={MyCustomAISettingsPanel}
    >
      {children}
    </VibeshipProviderWithDeps>
  );
}

Note: If you don't provide custom components, default implementations are included automatically.

Environment Variables

# .env.local

# Security
VIBESHIP_DISABLE_FILE_WRITES=false

# API Configuration
NEXT_PUBLIC_VIBESHIP_API_PATH=/api/vibeship

# AI Provider Keys (optional)
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_AI_API_KEY=...

# Feature Flags
NEXT_PUBLIC_VIBESHIP_FEATURE_AI=true
NEXT_PUBLIC_VIBESHIP_FEATURE_TASKS=true

CLI Reference

# Initialize DevTools
npx @vibeship/devtools init [options]
  -l, --level <level>    Setup level: quick, standard, or advanced
  -y, --yes             Skip confirmation prompts
  -f, --force           Overwrite existing files

# Configure DevTools
npx @vibeship/devtools config <action> [options]
  list                  List current configuration
  get <key>            Get a configuration value
  set <key> <value>    Set a configuration value

TypeScript Support

Full TypeScript support with exported types:

import type { 
  Task, 
  FileInfo, 
  VibeshipConfig,
  VibeshipProvider 
} from '@vibeship/devtools';

Troubleshooting

DevTools not showing up

  1. Check that the provider is added to your layout
  2. Verify API routes are created
  3. Try the hotkey (Cmd+Shift+K on Mac, Ctrl+Shift+K on Windows/Linux)
  4. Check browser console for errors

AI Settings Panel not showing

See our Troubleshooting Guide for detailed solutions.

API errors

  1. Ensure all API routes are properly set up
  2. Check CORS settings if using custom domain
  3. Verify environment variables are set

Build errors

  1. Clear .next cache: rm -rf .next
  2. Reinstall dependencies: rm -rf node_modules && npm install
  3. Check for version mismatches

For more detailed troubleshooting, see our Troubleshooting Guide.

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

MIT © Vibeship

Links


Made with ❤️ by the Vibeship team