mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-25 14:25:02 +00:00
65 lines
2.5 KiB
JavaScript
65 lines
2.5 KiB
JavaScript
#!/usr/bin/env node
|
|
|
|
const fs = require('fs')
|
|
const path = require('path')
|
|
|
|
const categories = [
|
|
{ id: 'cat_launch', name: 'Launch Radar', description: 'Product drops and milestone updates' },
|
|
{ id: 'cat_growth', name: 'Growth Ops', description: 'Retention, onboarding, and community tactics' },
|
|
{ id: 'cat_design', name: 'Design Systems', description: 'Tokens, theming, and UI governance' },
|
|
{ id: 'cat_ai', name: 'AI Tooling', description: 'Prompt playbooks, evals, and guardrails' },
|
|
{ id: 'cat_ops', name: 'Community Ops', description: 'Moderation workflows and engagement rituals' },
|
|
{ id: 'cat_hiring', name: 'Hiring & Ops', description: 'Team growth, planning, and operating cadence' },
|
|
{ id: 'cat_funding', name: 'Funding Desk', description: 'Rounds, terms, and investor updates' },
|
|
{ id: 'cat_culture', name: 'Culture Lab', description: 'Rituals, values, and remote collaboration' },
|
|
{ id: 'cat_docs', name: 'Docs Guild', description: 'Documentation standards and knowledge bases' },
|
|
{ id: 'cat_security', name: 'Security Flight', description: 'Threat modeling and incident response' },
|
|
]
|
|
|
|
const titles = [
|
|
'First 1000 users playbook',
|
|
'Launch checklist for indie teams',
|
|
'Building a tokenized design system',
|
|
'How to measure community health',
|
|
'Prompt playbooks for onboarding',
|
|
'Moderation handoff checklists',
|
|
'Hiring your first community lead',
|
|
'Feature flag cadence for launches',
|
|
'Post-launch retrospectives that actually work',
|
|
'Creator pipelines and content calendars',
|
|
'How we scaled support without burnout',
|
|
'Founder updates cadence for investors',
|
|
'Red teaming your onboarding flow',
|
|
'From doc chaos to a unified handbook',
|
|
'Battle-tested incident comms templates',
|
|
'What to automate in week one',
|
|
'Designing for multi-tenant UX',
|
|
'What metrics matter in community programs',
|
|
'Building an experimentation runway',
|
|
'On-call rotations for small teams',
|
|
]
|
|
|
|
const threads = titles.map((title, index) => {
|
|
const category = categories[index % categories.length]
|
|
return {
|
|
id: `thread_${index + 1}`,
|
|
title,
|
|
categoryId: category.id,
|
|
replyCount: 12 + (index * 7) % 120,
|
|
likeCount: 20 + (index * 11) % 240,
|
|
}
|
|
})
|
|
|
|
const payload = {
|
|
generatedAt: new Date().toISOString(),
|
|
examples: {
|
|
categories,
|
|
threads,
|
|
},
|
|
}
|
|
|
|
const outputPath = path.join(__dirname, '..', 'packages', 'forum_forge', 'static_content', 'examples.json')
|
|
fs.writeFileSync(outputPath, JSON.stringify(payload, null, 2) + '\n')
|
|
|
|
console.log(`Wrote ${outputPath} with ${categories.length} categories and ${threads.length} threads`)
|