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 🙏

© 2026 – Pkg Stats / Ryan Hefner

vibemarketing

v0.1.0

Published

The ultimate open-source marketing stack for developers. Ship marketing as code.

Downloads

1

Readme

🚀 MarketKit

The Ultimate Open-Source Marketing Stack for Developers

Ship marketing as code.

npm version License: MIT TypeScript


🎯 What is MarketKit?

MarketKit is a comprehensive TypeScript library that gives developers a complete marketing stack they can install with a single command. Generate pricing pages, blog posts, SEO essentials, and more with AI-powered automation.

npm install marketkit

✨ Features

📄 Page Generation

  • Pricing Pages - Conversion-optimized pricing tables with FAQ
  • Blog Posts - SEO-optimized articles with proper structure
  • Landing Pages - High-converting landing pages
  • Comparison Pages - "vs Competitor" pages for SEO
  • Alternatives Pages - "X Alternative" pages
  • Integration Pages - Programmatic SEO for integrations
  • Feature Pages - Detailed feature showcases
  • Use Case Pages - Persona-specific content
  • FAQ Pages - Structured FAQ with Schema.org
  • Changelog - Beautiful release notes

🔧 Technical SEO

  • robots.txt - Smart generation with defaults
  • sitemap.xml - Dynamic sitemap with images/videos
  • Schema.org - Organization, Product, Article, FAQ, and more
  • Meta Tags - Complete meta tag generation
  • Open Graph - Social sharing optimization
  • Twitter Cards - Twitter-specific tags
  • Hreflang - Multi-language support
  • Canonical URLs - Duplicate content prevention

🔍 Research & Intelligence

  • Exa.ai Integration - Semantic search
  • Tavily Integration - AI-optimized search
  • Firecrawl Integration - Web scraping
  • Jina Reader - URL to markdown
  • Deep Research Agent - Comprehensive market research
  • Competitor Analysis - Automated competitor intelligence

🤖 AI Agents

  • Research Agent - Deep topic research
  • Content Agent - Generate marketing content
  • SEO Agent - Audit and optimize
  • Competitor Agent - Analyze competitors
  • Marketing Chat - Interactive marketing assistant

📈 Growth Tools

  • Email Templates - Welcome, onboarding, re-engagement
  • CTA Optimizer - A/B test recommendations
  • Exit Intent Popups - Lead capture
  • Social Media Content - Platform-specific posts
  • Product Hunt Kit - Launch checklist and assets
  • A/B Testing Recommendations - Data-driven testing

📊 Analytics Setup

  • Google Analytics 4 - Setup snippets
  • Plausible - Privacy-focused analytics
  • PostHog - Product analytics
  • Mixpanel - Event tracking
  • UTM Builder - Campaign tracking

🔗 Integration Builders

  • Zapier App - Scaffolding for Zapier integrations
  • Slack App - Bot builder
  • Discord Bot - Command builder
  • Webhooks - Handler and sender utilities

🚀 Quick Start

Installation

npm install marketkit
# or
pnpm add marketkit
# or
yarn add marketkit

Environment Variables

# Pick your primary provider
OPENAI_API_KEY=sk-...
# OR
ANTHROPIC_API_KEY=sk-ant-...
# OR
GEMINI_API_KEY=...

# Optional: Research APIs
EXA_API_KEY=...
TAVILY_API_KEY=...
FIRECRAWL_API_KEY=...

Basic Usage

import { MarketKit } from 'marketkit';

const kit = new MarketKit({
  provider: 'openai',
  site: {
    name: 'My SaaS',
    url: 'https://mysaas.com',
    description: 'The best SaaS product ever',
  },
});

// Generate a pricing page
const pricingPage = await kit.pages.pricing({
  plans: [
    {
      name: 'Starter',
      price: 9,
      period: 'month',
      features: ['1 user', '10 projects', 'Basic support'],
    },
    {
      name: 'Pro',
      price: 29,
      period: 'month',
      features: ['5 users', 'Unlimited projects', 'Priority support'],
      highlighted: true,
    },
    {
      name: 'Enterprise',
      price: 'custom',
      features: ['Unlimited users', 'Custom integrations', 'Dedicated support'],
    },
  ],
  includeFAQ: true,
  includeComparison: true,
});

console.log(pricingPage.raw); // HTML content

// Generate robots.txt
const robots = kit.seo.robots();
console.log(robots);

// Generate sitemap
const sitemap = await kit.seo.sitemap({
  pages: [
    { url: '/', priority: 1.0, changefreq: 'daily' },
    { url: '/pricing', priority: 0.9, changefreq: 'weekly' },
    { url: '/blog', priority: 0.8, changefreq: 'daily' },
  ],
});
console.log(sitemap);

// Generate Schema.org markup
const schema = kit.seo.schema({ type: 'SoftwareApplication' });
console.log(schema);

📖 Examples

Generate Blog Posts

const post = await kit.pages.blog({
  topic: 'How AI is Transforming Customer Support in 2026',
  keywords: ['AI customer support', 'chatbots', 'automation'],
  length: 'long',
  tone: 'professional',
  includeCTA: true,
  ctaText: 'Try our AI support platform free',
});

Deep Research

const research = await kit.research.deep({
  topic: 'AI-powered CRM market trends',
  depth: 'comprehensive',
  includeCompetitors: true,
  includeMarketData: true,
  sources: 20,
});

console.log(research.summary);
console.log(research.keyFindings);
console.log(research.recommendations);

Marketing Chat

const chat = kit.agents.chat({
  enableResearch: true,
  enableContentGeneration: true,
  mode: 'expert',
});

const response = await chat.ask('How can I improve my pricing page conversion rate?');
console.log(response);

Comparison Pages (Programmatic SEO)

const comparisons = await kit.pages.comparisons({
  competitors: ['Competitor A', 'Competitor B', 'Competitor C'],
  style: 'fair',
  includeFeatureTable: true,
  includePricing: true,
});

for (const page of comparisons) {
  console.log(`Generated: ${page.slug}`); // vs-competitor-a
  console.log(page.content.raw);
}

Social Media Content

const social = await kit.growth.socialContent({
  topic: 'We just launched our new AI feature!',
  platforms: ['twitter', 'linkedin', 'threads'],
  goal: 'engagement',
  includeHashtags: true,
  variationsPerPlatform: 3,
});

console.log(social.content.twitter[0].text);
console.log(social.content.linkedin[0].text);

Product Hunt Launch Kit

const phKit = await kit.growth.productHunt({
  productName: 'My Awesome SaaS',
  description: 'The all-in-one platform for...',
  url: 'https://mysaas.com',
  launchDate: '2026-02-01',
});

console.log(phKit.tagline);
console.log(phKit.makerComment);
console.log(phKit.checklist);

🔌 Framework Integration

Next.js

// app/sitemap.ts
import { generateSitemap } from 'marketkit/adapters/nextjs';
import config from '../marketkit.config';

export default generateSitemap(config, {
  pages: [
    { url: '/', priority: 1.0 },
    { url: '/pricing', priority: 0.9 },
  ],
});
// app/robots.ts
import { generateRobots } from 'marketkit/adapters/nextjs';
import config from '../marketkit.config';

export default generateRobots(config);

Astro

// astro.config.mjs
import { marketkitIntegration } from 'marketkit/adapters/astro';

export default {
  integrations: [
    marketkitIntegration({
      provider: 'openai',
      site: { name: 'My Site', url: 'https://mysite.com' },
    }),
  ],
};

Express

import express from 'express';
import { createMarketKitRouter } from 'marketkit/adapters/express';
import config from './marketkit.config';

const app = express();
app.use(createMarketKitRouter(config));
app.listen(3000);

🤖 AI Provider Support

| Provider | Models | Streaming | Tool Calling | Embeddings | |----------|--------|-----------|--------------|------------| | OpenAI | GPT-4o, GPT-4o-mini, o1, o1-mini | ✅ | ✅ | ✅ | | Anthropic | Claude 4.5 Sonnet, Claude 4.5 Haiku, Claude 4.5 Opus | ✅ | ✅ | ❌ | | Google Gemini | Gemini 2.0 Flash, Gemini 2.0 Pro | ✅ | ✅ | ✅ | | Perplexity | Sonar, Sonar Pro, Sonar Reasoning | ✅ | ❌ | ❌ | | Mistral | Mistral Large, Mistral Medium, Codestral | ✅ | ✅ | ✅ |

Provider Fallback

const kit = new MarketKit({
  provider: 'openai',
  fallbackProviders: ['anthropic', 'gemini'],
  site: { name: 'My Site', url: 'https://mysite.com' },
});

📚 CLI

# Initialize MarketKit
npx marketkit init

# Generate content
npx marketkit generate pricing
npx marketkit generate blog "AI trends in 2026"

# SEO audit
npx marketkit audit https://mysite.com

# Interactive chat
npx marketkit chat

🏗️ Configuration

// marketkit.config.ts
import { MarketKitConfig } from 'marketkit';

const config: MarketKitConfig = {
  // Primary AI provider
  provider: 'openai',
  
  // Optional: API key (or use env var)
  // apiKey: process.env.OPENAI_API_KEY,
  
  // Fallback providers
  fallbackProviders: ['anthropic', 'gemini'],
  
  // Research APIs
  research: {
    exa: process.env.EXA_API_KEY,
    tavily: process.env.TAVILY_API_KEY,
    firecrawl: process.env.FIRECRAWL_API_KEY,
  },
  
  // Site configuration
  site: {
    name: 'My SaaS',
    url: 'https://mysaas.com',
    description: 'The best SaaS product ever',
    logo: 'https://mysaas.com/logo.png',
    social: {
      twitter: 'mysaas',
      linkedin: 'mysaas',
      github: 'mysaas',
    },
  },
  
  // Feature flags
  features: {
    cache: true,
    rateLimiting: true,
    debug: process.env.NODE_ENV === 'development',
  },
  
  // Cache configuration
  cache: {
    ttl: 3600, // 1 hour
    maxSize: 100, // MB
  },
};

export default config;

🧪 API Reference

MarketKit Class

const kit = new MarketKit(config);

// Modules
kit.pages      // Page generation
kit.seo        // SEO tools
kit.research   // Research & intelligence
kit.agents     // AI agents
kit.growth     // Growth tools
kit.analytics  // Analytics setup
kit.integrations // Integration builders

// Direct LLM access
await kit.chat(messages, options);
await kit.complete(prompt, options);
kit.stream(messages, options); // AsyncGenerator

// Utilities
kit.getCacheStats();
kit.clearCache();
kit.getRateLimitStats();
kit.checkHealth();

SEO Module

kit.seo.robots(options);              // Generate robots.txt
kit.seo.sitemap(options);             // Generate sitemap.xml
kit.seo.schema({ type, data });       // Schema.org JSON-LD
kit.seo.meta(config);                 // Meta tags
kit.seo.og(config);                   // Open Graph
kit.seo.twitter(config);              // Twitter Cards
kit.seo.hreflang(config);             // Multi-language
kit.seo.canonical(url);               // Canonical URL
kit.seo.allTags(options);             // All SEO tags
kit.seo.auditHtml(html);              // Basic SEO audit

Pages Module

await kit.pages.pricing(options);      // Pricing page
await kit.pages.blog(options);         // Blog post
await kit.pages.landing(options);      // Landing page
await kit.pages.comparisons(options);  // vs Competitor pages
await kit.pages.alternatives(options); // X Alternative pages
await kit.pages.integrations(options); // Integration pages
await kit.pages.faq(options);          // FAQ page
await kit.pages.changelog(options);    // Changelog

🤝 Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

📄 License

MIT © Metehan Yeşilyurt


Built with ❤️ for the developer community

Ship marketing as code.