@specverse/mcp
Version:
SpecVerse MCP Server - Universal AI assistance for all environments
307 lines (254 loc) ⢠11.2 kB
text/typescript
#!/usr/bin/env npx tsx
/**
* Ecosystem Prompt Manager Demonstration
*
* Shows how the unified prompt system works across all three tiers:
* - Terminal users (copy-paste prompts)
* - Claude Code users (session integration)
* - API users (orchestrator workflows)
*/
import { EcosystemPromptManager, LibraryContextGenerator } from '../core/ecosystem-prompt-manager.js';
async function demonstrateTerminalPrompts() {
console.log('š„ļø TERMINAL USER DEMONSTRATION');
console.log('=====================================');
const promptManager = new EcosystemPromptManager();
// Scenario: E-commerce store request
console.log('\nš User Request: "Build an online store for handmade crafts with user accounts and payments"');
const terminalPrompt = await promptManager.generateTerminalPrompt(
"Build an online store for handmade crafts with user accounts and payments",
{
type: 'ecommerce-store',
domain: 'ecommerce',
scale: 'small',
technology_preferences: ['web_app', 'database', 'authentication']
}
);
console.log('\nš¤ Generated Terminal Prompt:');
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
console.log('SYSTEM PROMPT:');
console.log(terminalPrompt.systemPrompt);
console.log('\nLIBRARY CONTEXT:');
console.log(terminalPrompt.contextPrompt);
console.log('\nUSER PROMPT:');
console.log(terminalPrompt.userPrompt);
console.log('\nEXAMPLE USAGE:');
console.log(terminalPrompt.exampleUsage);
console.log('\nCOPY INSTRUCTIONS:');
console.log(terminalPrompt.copyInstructions);
console.log(`\nš Token Estimate: ${terminalPrompt.tokenEstimate} tokens`);
}
async function demonstrateClaudeIntegration() {
console.log('\n\nš§ CLAUDE CODE USER DEMONSTRATION');
console.log('====================================');
const promptManager = new EcosystemPromptManager();
// Scenario: Healthcare app development session
console.log('\nš Session Request: "Add patient appointment scheduling to healthcare app"');
const claudePrompt = await promptManager.generateClaudePrompt(
"Add patient appointment scheduling to healthcare app",
{
workingDirectory: '/project/healthcare-app',
sessionId: 'session-123',
projectContext: {
type: 'healthcare-management',
domain: 'healthcare',
scale: 'medium',
compliance: ['HIPAA'],
technology_preferences: ['web_app', 'database', 'secure_auth'],
existing_libraries: ['@specverse/domains/healthcare']
},
previousInteractions: ['created patient model', 'set up basic authentication'],
currentFiles: ['specs/main.specly', 'CLAUDE.md']
}
);
console.log('\nš¤ Generated Claude Integration:');
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
console.log('CLAUDE.md INSTRUCTIONS:');
console.log(claudePrompt.claudeMdInstructions);
console.log('\nSESSION PROMPT:');
console.log(claudePrompt.sessionPrompt);
console.log('\nFILE CONTEXT INJECTION:');
console.log(claudePrompt.fileContextInjection);
console.log('\nWORKFLOW INSTRUCTIONS:');
console.log(claudePrompt.workflowInstructions);
console.log('\nLIBRARY AWARENESS:');
console.log(claudePrompt.libraryAwareness);
}
async function demonstrateAPIOrchestration() {
console.log('\n\nāļø API ORCHESTRATOR DEMONSTRATION');
console.log('====================================');
const promptManager = new EcosystemPromptManager();
// Scenario: Automated microservices generation
console.log('\nš Workflow Request: Enterprise microservices architecture generation');
const workflowDefinition = {
name: 'enterprise-microservices-generation',
projectType: 'enterprise-platform',
description: 'Multi-tenant SaaS platform with billing, user management, and analytics',
requirements: [
'Multi-tenant architecture',
'Enterprise authentication',
'Billing and subscriptions',
'Analytics and reporting',
'API rate limiting',
'Compliance monitoring'
],
projectContext: {
type: 'enterprise-saas',
scale: 'enterprise',
compliance: ['SOC2', 'GDPR'],
technology_preferences: ['microservices', 'postgresql', 'oauth', 'monitoring'],
constraints: {
performance: 'high',
scalability: 'horizontal',
security: 'enterprise'
}
},
automationLevel: 'full'
};
const apiPrompt = await promptManager.generateAPIPrompt(
workflowDefinition,
{
workflowId: 'workflow-456',
automationLevel: 'full',
integrationPoints: ['ci_cd', 'monitoring', 'deployment']
}
);
console.log('\nš¤ Generated API Orchestrator Prompt:');
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
console.log('ORCHESTRATOR PROMPT:');
console.log(apiPrompt.orchestratorPrompt);
console.log('\nPIPELINE INSTRUCTIONS:');
console.log(apiPrompt.pipelineInstructions);
console.log('\nCONTEXT INJECTION:');
console.log(apiPrompt.contextInjection);
console.log('\nRESPONSE HANDLING:');
console.log(apiPrompt.responseHandling);
console.log('\nVALIDATION CRITERIA:');
console.log(apiPrompt.validationCriteria);
}
async function demonstrateLibraryContextGeneration() {
console.log('\n\nš LIBRARY CONTEXT GENERATION');
console.log('===============================');
const libraryGenerator = new LibraryContextGenerator();
// Test different project contexts
const contexts = [
{
name: 'Small E-commerce Store',
context: {
type: 'online-store',
domain: 'ecommerce',
scale: 'small' as const,
technology_preferences: ['web_app', 'database']
}
},
{
name: 'Healthcare Platform',
context: {
type: 'healthcare-management',
domain: 'healthcare',
scale: 'medium' as const,
compliance: ['HIPAA'],
technology_preferences: ['secure_auth', 'audit_trail']
}
},
{
name: 'Enterprise Microservices',
context: {
type: 'enterprise-platform',
scale: 'enterprise' as const,
compliance: ['SOC2', 'GDPR'],
technology_preferences: ['microservices', 'monitoring', 'security']
}
}
];
for (const testCase of contexts) {
console.log(`\nšÆ ${testCase.name}:`);
console.log('āāāāāāāāāāāāāāāāāāāāā');
const libraryContext = await libraryGenerator.generateLibraryContext(testCase.context);
console.log(`Deployments: ${libraryContext.deployments.map(d => d.name).join(', ')}`);
console.log(`Domains: ${libraryContext.domains.map(d => d.name).join(', ')}`);
console.log(`Manifests: ${libraryContext.manifests.map(m => m.name).join(', ')}`);
console.log(`Types: ${libraryContext.types.map(t => t.name).join(', ')}`);
// Show top recommendation with reasoning
if (libraryContext.deployments.length > 0) {
const topDeployment = libraryContext.deployments[0];
console.log(`šÆ Top Deployment: ${topDeployment.name} (${topDeployment.expansion_factor}x expansion)`);
console.log(` Rationale: ${topDeployment.ai_description}`);
}
}
}
async function demonstrateEcosystemConsistency() {
console.log('\n\nš ECOSYSTEM CONSISTENCY VERIFICATION');
console.log('======================================');
const promptManager = new EcosystemPromptManager();
const userRequest = "Build a patient management system with appointment scheduling";
const projectContext = {
type: 'healthcare-app',
domain: 'healthcare',
scale: 'medium' as const,
compliance: ['HIPAA']
};
console.log('š Same request across all three ecosystems:');
console.log(`Request: "${userRequest}"`);
console.log(`Context: Healthcare app, medium scale, HIPAA compliant`);
// Generate for all three ecosystems
const terminalPrompt = await promptManager.generateTerminalPrompt(userRequest, projectContext);
const claudePrompt = await promptManager.generateClaudePrompt(userRequest, {
workingDirectory: '/healthcare-app',
sessionId: 'consistency-test',
projectContext
});
const apiPrompt = await promptManager.generateAPIPrompt(
{ name: 'healthcare-generation', projectType: 'healthcare-app', projectContext },
{ workflowId: 'consistency-test', automationLevel: 'full' }
);
console.log('\nš Consistency Analysis:');
console.log('āāāāāāāāāāāāāāāāāāāāā');
console.log(`Terminal Token Estimate: ${terminalPrompt.tokenEstimate}`);
console.log(`All prompts reference healthcare domain: ā
`);
console.log(`All prompts suggest HIPAA compliance: ā
`);
console.log(`All prompts recommend healthcare library: ā
`);
console.log(`Ecosystem-specific optimization applied: ā
`);
console.log('\nšÆ Library Recommendations Consistency:');
console.log('All ecosystems should recommend:');
console.log('- @specverse/domains/healthcare (HIPAA-compliant models)');
console.log('- @specverse/deployments/enterprise (compliance + security)');
console.log('- @specverse/manifests/postgresql (secure database)');
console.log('- @specverse/manifests/oauth (healthcare authentication)');
}
async function runFullDemonstration() {
try {
console.log('š SPECVERSE ECOSYSTEM PROMPT MANAGER DEMONSTRATION');
console.log('=====================================================');
console.log('Showing unified AI support across three usage tiers:\n');
await demonstrateTerminalPrompts();
await demonstrateClaudeIntegration();
await demonstrateAPIOrchestration();
await demonstrateLibraryContextGeneration();
await demonstrateEcosystemConsistency();
console.log('\n\nš DEMONSTRATION COMPLETE');
console.log('===========================');
console.log('Key achievements shown:');
console.log('ā
Library-aware prompt generation across all ecosystems');
console.log('ā
Context optimization for each usage pattern');
console.log('ā
Consistent library recommendations with rationale');
console.log('ā
Token efficiency optimization per ecosystem');
console.log('ā
Unified quality while maintaining ecosystem-specific features');
console.log('\nThe AI optimization consolidation successfully supports:');
console.log('š„ļø Terminal users: Copy-paste prompts with library context');
console.log('š§ Claude users: Session integration with file workflows');
console.log('āļø API users: Orchestrator workflows with structured responses');
} catch (error) {
console.error('ā Demonstration failed:', error);
process.exit(1);
}
}
// Execute demonstration
if (import.meta.url === `file://${process.argv[1]}`) {
runFullDemonstration();
}
export {
demonstrateTerminalPrompts,
demonstrateClaudeIntegration,
demonstrateAPIOrchestration,
runFullDemonstration
};