tpmjs/packages/db/check-tool.mjs
Ajax Davis 48c41e8733 feat: add use cases marketing product with AI-generated content
Transform qualifying scenarios into marketing-ready use cases with:
- AI-generated titles, descriptions, ROI estimates, business value
- Persona/industry/category taxonomy for targeting
- Browseable feed with filtering and ranking
- SEO-optimized case study pages
- Daily cron job for generation and ranking

Database:
- Add Persona, Industry, Category lookup tables
- Add UseCase model with marketing content fields
- Add junction tables for personas/industries/categories
- Add SocialProof model for cached metrics

API:
- GET /api/use-cases - Global directory with filtering
- GET /api/use-cases/[id] - Individual use case details
- GET /api/public/users/[username]/collections/[slug]/use-cases
- POST /api/cron/use-cases - Nightly generation job

Frontend:
- /use-cases - Global feed with persona dropdown
- /use-cases/[slug] - SEO case study page
- /[username]/collections/[slug]/use-cases - Collection feed
- UseCasesFeed component - Sortable table component
- UseCaseCaseStudy component - Full case study layout
2026-01-20 16:17:35 +10:00

31 lines
894 B
JavaScript

import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
async function main() {
const tool = await prisma.tool.findUnique({
where: { npmPackageName: '@tpmjs/text-transformer' },
select: {
npmPackageName: true,
npmVersion: true,
npmReadme: true,
},
});
if (tool) {
console.log('Tool found:', tool.npmPackageName, tool.npmVersion);
console.log('Has README:', tool.npmReadme ? `Yes (${tool.npmReadme.length} chars)` : 'No');
} else {
console.log('Tool @tpmjs/text-transformer not found in database');
// List all tools to see what's available
const allTools = await prisma.tool.findMany({
select: { npmPackageName: true },
take: 10,
});
console.log('\nAvailable tools:');
allTools.forEach((t) => console.log(' -', t.npmPackageName));
}
}
main().finally(() => prisma.$disconnect());