JSPM

marketkit

0.1.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3
  • Score
    100M100P100Q18894F
  • License MIT

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

Package Exports

  • marketkit
  • marketkit/adapters/astro
  • marketkit/adapters/express
  • marketkit/adapters/nextjs
  • marketkit/adapters/nuxt
  • marketkit/adapters/remix
  • marketkit/adapters/sveltekit
  • marketkit/agents
  • marketkit/analytics
  • marketkit/growth
  • marketkit/integrations
  • marketkit/pages
  • marketkit/research
  • marketkit/seo

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.