The most comprehensive enterprise-grade mocking system for the Bitcode commercial surface
# Navigate to your uapi directory
cd uapi
# Run the easy setup script
node mocking/scripts/setup-mock-system.js
# Or choose a specific scenario
node mocking/scripts/setup-mock-system.js enterprisenpm run devYour entire Bitcode commercial surface now has rich, realistic mock data automatically.
- 🚀 Quick Start
- 🎯 What This System Covers
- ⚙️ Setup Options
- 🛠️ Integration Guide
- 🎭 Available Scenarios
- 🔧 Configuration
- 📊 Features Overview
- 🎛️ Advanced Usage
- 🔍 Troubleshooting
- 📚 Additional Resources
✅ User Auxillaries (25+ features): Authentication, profiles, onboarding, preferences
✅ Conversations (10+ features): ChatGPT-style Bitcode conversations, tool responses, AI replies
✅ AssetPacks/Evidence Documents (16+ features): Main pipelines with 4 toggles, streaming
✅ Organizations (8+ features): Enterprise teams, members, treasury, invitations
✅ Integrations (25+ features): GitHub, GitLab, Bitbucket, Figma, Notion
✅ Marketplace (5+ features): Listings, orders, ticker, categories
✅ MCP Tools (4+ features): AWS, Supabase, Vercel integrations
✅ System Health (15+ features): Monitoring, analytics, admin dashboards
✅ Treasury (5+ features): BTC settlement, $BTD issuance, wallets
✅ Vector/AI (5+ features): Embeddings, pattern recognition, semantic search
# Demo mode (rich, engaging data)
node mocking/scripts/setup-mock-system.js demo
# Enterprise mode (large-scale data)
node mocking/scripts/setup-mock-system.js enterprise
# Testing mode (minimal, predictable data)
node mocking/scripts/setup-mock-system.js testingAdd to your .env.local:
NEXT_PUBLIC_MASTER_MOCK_MODE=true
NEXT_PUBLIC_MOCK_SCENARIO=demo
NEXT_PUBLIC_MOCK_DEBUG=true# If you have the scripts package installed
npm run setup:demo
npm run setup:enterprise
npm run validate// Before: Your existing route
export const GET = async (request: NextRequest) => {
// Your original logic
};
// After: Enhanced with comprehensive mocking
import { mockAreas } from '@/mocking';
export const GET = mockAreas.pipelines.assetPacks.main()(async (request: NextRequest) => {
// Your original logic - UNCHANGED!
});// Automatic mock data in components
import { useMockData } from '@/mocking';
function MyComponent() {
const { data, loading, error } = useMockData('ASSET_PACKS');
// Your existing component logic works exactly the same!
// Mock data appears automatically when enabled
}// Specialized middleware for different system areas
export const authRoute = mockAreas.orbital.auth.github()(originalHandler);
export const chatRoute = mockAreas.conversation.chat.stream()(originalHandler);
export const repoRoute = mockAreas.integrations.github.repos()(originalHandler);
export const orgRoute = mockAreas.organizations.main()(originalHandler);- Use case: Showcasing, sales, demos
- Data: Rich, interconnected, engaging
- Complexity: High with realistic relationships
- Perfect for: Product demonstrations, client meetings
- Use case: Enterprise sales, scalability testing
- Data: Large-scale organizational data
- Complexity: Maximum with complex team structures
- Perfect for: Enterprise demos, performance testing
- Use case: Automated testing, CI/CD
- Data: Minimal, predictable, consistent
- Complexity: Low with fast responses
- Perfect for: Unit tests, integration tests
- Use case: New user experience, tutorials
- Data: Progressive from empty to populated
- Complexity: Moderate with guided flows
- Perfect for: User onboarding, UX testing
- Use case: Zero-state testing, edge cases
- Data: Empty arrays, null values
- Complexity: Minimal edge case handling
- Perfect for: Empty state design, error boundaries
NEXT_PUBLIC_MASTER_MOCK_MODE=true # Enable/disable everything
NEXT_PUBLIC_MOCK_SCENARIO=demo # Global scenario
NEXT_PUBLIC_MOCK_DEBUG=true # Debug informationNEXT_PUBLIC_MOCK_PERFORMANCE_MONITORING=true
NEXT_PUBLIC_MOCK_CACHE_ENABLED=true
NEXT_PUBLIC_MOCK_CACHE_TTL_SECONDS=300
NEXT_PUBLIC_MOCK_CACHE_MAX_SIZE_MB=100# Override specific features
NEXT_PUBLIC_MOCK_ASSET_PACKS=true
NEXT_PUBLIC_MOCK_ASSET_PACKS_SCENARIO=enterprise
NEXT_PUBLIC_MOCK_CONVERSATION_CONVERSATIONS=true
NEXT_PUBLIC_MOCK_GITHUB_REPOS=false # Keep GitHub realNEXT_PUBLIC_MOCK_ERROR_INJECTION=true
NEXT_PUBLIC_MOCK_ERROR_PROBABILITY=0.01
NEXT_PUBLIC_MOCK_ERROR_TYPES=network,timeoutimport { initializeMockSystem } from '@/mocking';
initializeMockSystem({
enabled: true,
defaultScenario: 'enterprise',
debug: true,
features: {
ASSET_PACKS: { enabled: true, scenario: 'demo' },
GITHUB_REPOS: { enabled: false } // Use real GitHub data
}
});- AssetPacks: Full pipeline with streaming, logs, events
- Evidence Documents: Nearly identical to AssetPacks experience
- Real-time: Streaming simulation with realistic timing
- Authentication: GitHub, ChatGPT, Metamask, sessions
- Profiles: Complete user data, preferences, API keys
- Onboarding: Step-by-step guidance and progress tracking
- Organizations: Team management, billing, invitations
- Marketplace: Listings, orders, categories, ticker
- Treasury: BTC settlement,
$BTDissuance, wallet posture
- Integrations: GitHub, GitLab, Bitbucket, Figma, Notion
- MCP Tools: AWS, Supabase, Vercel API integrations
- Health: System monitoring, analytics, admin dashboards
import { MockOrchestrator } from '@/mocking';
const orchestrator = MockOrchestrator.getInstance();
orchestrator.registerScenario({
id: 'my-custom-scenario',
name: 'My Custom Data',
description: 'Custom scenario for specific testing',
type: 'custom',
complexity: 'moderate',
timing: 'realistic',
features: {
ASSET_PACKS: { enabled: true, data: { /* custom data */ } }
}
});import { MockOrchestrator } from '@/mocking';
const orchestrator = MockOrchestrator.getInstance();
// Get real-time metrics
const metrics = orchestrator.getPerformanceMetrics();
console.log('Cache hit ratio:', metrics.mocking.cacheHitRatio);
console.log('Memory usage:', metrics.system.memoryUsageMB);
// Validate system health
const validation = await orchestrator.validateSystem();
console.log('System valid:', validation.valid);// Available in browser console when debug mode is enabled
__bitcodeMockSystem.getMetrics() // Performance metrics
__bitcodeMockSystem.switchScenario('demo') // Change scenario
__bitcodeMockSystem.validateSystem() // Health check
__bitcodeMockSystem.clearCache() // Clear cacheimport { MockOnly, RealOnly, useMockContext } from '@/mocking';
function MyComponent() {
const { isEnabled, currentScenario } = useMockContext();
return (
<div>
<MockOnly>
<div className="bg-yellow-100 p-2">
🎭 Mock Mode: {currentScenario}
</div>
</MockOnly>
<RealOnly>
<div className="bg-green-100 p-2">
🚀 Live Data Mode
</div>
</RealOnly>
{/* Your regular content */}
</div>
);
}# Check environment configuration
node mocking/scripts/validate-mock-system.js
# Verify master mode is enabled
grep NEXT_PUBLIC_MASTER_MOCK_MODE .env.local
# Check browser console for errors
# Look for mock system logs# Reduce data complexity for testing
NEXT_PUBLIC_MOCK_SCENARIO=testing
NEXT_PUBLIC_MOCK_COMPLEXITY=minimal
# Enable caching
NEXT_PUBLIC_MOCK_CACHE_ENABLED=true
# Monitor memory usage
NEXT_PUBLIC_MOCK_PERFORMANCE_MONITORING=true# Ensure all mock system files are present
ls mocking/types/
ls mocking/generators/
# Check imports in your files
import type { MockableFeature } from '@/mocking/types/core';# Run comprehensive validation
node mocking/scripts/validate-mock-system.js
# This checks:
# - Environment configuration
# - File structure
# - TypeScript compilation
# - Runtime validation# Enable detailed logging
NEXT_PUBLIC_MOCK_DEBUG=true
# Check browser console for:
# - Mock system initialization
# - Data generation logs
# - Performance metrics
# - Error details- COMPREHENSIVE_SYSTEM_SUMMARY.md - Complete feature breakdown
- INTEGRATION_GUIDE.md - Step-by-step integration
- QUICK_START_DEMO.md - Generated after running setup
- QUICK_START_ENTERPRISE.md - Enterprise-specific guide
- QUICK_START_TESTING.md - Testing-specific guide
- scripts/setup-mock-system.js - Easy setup script
- scripts/validate-mock-system.js - Validation script
// Full type safety throughout
import type {
MockableFeature,
MockScenarioType,
MockDataContainer
} from '@/mocking/types/core';
// Comprehensive feature types
const feature: MockableFeature = 'ASSET_PACKS'; // 138+ options
const scenario: MockScenarioType = 'demo'; // 6 scenario types- Performance Monitoring: Built-in metrics and validation
- Intelligent Caching: TTL-based with automatic cleanup
- Error Resilience: Graceful fallbacks to real APIs
- Memory Management: Configurable limits and monitoring
- Concurrent Access: Thread-safe operations
- Production Safety: Disabled by default in production
- Existing code continues to work exactly the same
- No client-side modifications required
- Existing 39+ mock flags continue through the stable mock control surface
# This one line mocks your entire platform
NEXT_PUBLIC_MASTER_MOCK_MODE=true- Supports billions of users with performance optimization
- Intelligent caching and memory management
- Real-time performance monitoring
- Type-safe throughout with comprehensive TypeScript
- Rich debugging tools and console utilities
- Multiple scenarios for different use cases
# 1. Run the setup script
node mocking/scripts/setup-mock-system.js
# 2. Start your server
npm run dev
# 3. Visit any page - you're done! 🎉Your entire Bitcode commercial surface now has enterprise-grade mocking with zero code changes.
Built with ❤️ by the Bitcode team for developers building the future 🎭