@bernierllc/ai-content-rewriter
v1.2.0
Published
AI-powered content rewriting service for tone transformation, style conversion, and commit message generation
Readme
@bernierllc/ai-content-rewriter
AI-powered content rewriting service for tone transformation, style conversion, and commit message generation.
Features
- Tone Transformation: Convert content between professional, casual, friendly, technical, and engaging tones
- Style Conversion: Transform between formal, casual, simple, technical, conversational, and creative styles
- Content Simplification: Make complex content accessible to different audiences
- Commit Message Generation: Generate semantic git commit messages from code changes
- SEO Optimization: Optimize content with natural keyword integration
- Batch Operations: Process multiple content pieces simultaneously
- Provider Flexibility: Works with OpenAI or Anthropic with automatic fallback
- NeverHub Integration: Optional service discovery and event publishing
Installation
npm install @bernierllc/ai-content-rewriterUsage
Basic Content Rewriting
import { AIContentRewriter } from '@bernierllc/ai-content-rewriter';
const rewriter = new AIContentRewriter({
openaiApiKey: process.env.OPENAI_API_KEY
});
await rewriter.initialize();
const result = await rewriter.rewriteContent(
'Your original content here...',
{
targetTone: 'professional',
targetAudience: 'enterprise',
preserveKeyPoints: true
}
);
console.log('Rewritten:', result.rewritten);
console.log('Improvement Score:', result.improvementScore);Tone Transformation
// Casual to Professional
const formalResult = await rewriter.casualToFormal(
"Hey! Check out this cool new feature we built!"
);
// Professional to Casual
const casualResult = await rewriter.formalToCasual(
"We are pleased to announce enhanced functionality."
);Generate Commit Messages
const commitResult = await rewriter.generateCommitMessage({
files: ['src/auth.ts', 'src/user.ts'],
additions: 45,
deletions: 12,
diff: '... git diff output ...'
}, {
includeBody: true,
conventional: true
});
console.log(commitResult.commitMessage);
// Output:
// "feat(auth): Add JWT token validation
//
// - Implement JWT validation middleware
// - Add token refresh endpoint
// - Update user authentication flow"Technical Simplification
const simplifiedResult = await rewriter.technicalToSimple(
`This implementation utilizes a singleton pattern with lazy initialization
to ensure thread-safe instantiation of the database connection pool.`
);SEO Optimization
const seoResult = await rewriter.optimizeForSEO(
'Learn about building web applications with modern frameworks.',
['TypeScript', 'React', 'Next.js', 'full-stack development']
);Batch Rewriting
const batchResult = await rewriter.batchRewrite([
{
id: 'post-1',
content: 'Technical content...',
options: { targetAudience: 'beginners', targetStyle: 'simple' }
},
{
id: 'post-2',
content: 'Casual content...',
options: { targetTone: 'professional', targetStyle: 'formal' }
}
]);
console.log(`Success: ${batchResult.successCount}/${batchResult.totalProcessed}`);API Reference
AIContentRewriter
Constructor Options
interface AIContentRewriterConfig {
openaiApiKey?: string; // OpenAI API key
anthropicApiKey?: string; // Anthropic API key (future)
primaryProvider?: 'openai' | 'anthropic';
fallbackProvider?: 'openai' | 'anthropic';
defaultOptions?: RewriteOptions;
enableAnalytics?: boolean;
neverhubConfig?: NeverHubConfig;
}Core Methods
initialize(): Initialize the service and providersshutdown(): Gracefully shutdown the servicerewriteContent(content, options): Rewrite content with optionstransformTone(content, tone): Transform content tonetransformStyle(content, style): Convert content stylesimplifyContent(content, audience?): Simplify complex contentmakeEngaging(content, platform?): Make content more engaging
Specialized Methods
generateCommitMessage(changes, options?): Generate git commit messagestechnicalToSimple(content): Convert technical to simplecasualToFormal(content): Convert casual to formalformalToCasual(content): Convert formal to casualoptimizeForSEO(content, keywords): Optimize for SEO
Batch Operations
batchRewrite(contents): Process multiple contentsgetAnalytics(timeRange): Get analytics data
Types
type ContentTone = 'professional' | 'casual' | 'friendly' | 'technical' | 'engaging' | 'formal';
type ContentStyle = 'formal' | 'casual' | 'simple' | 'technical' | 'conversational' | 'creative';
type SocialPlatform = 'twitter' | 'linkedin' | 'facebook' | 'instagram' | 'mastodon' | 'bluesky';License
Copyright (c) 2025 Bernier LLC. See LICENSE for details.
