vibemarketing
v0.1.0
Published
The ultimate open-source marketing stack for developers. Ship marketing as code.
Downloads
1
Maintainers
Readme
🚀 MarketKit
The Ultimate Open-Source Marketing Stack for Developers
Ship marketing as code.
🎯 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 marketkitEnvironment 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 auditPages 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.
