@tamyla/clodo-framework
v4.6.3
Published
Reusable framework for Clodo-style software architecture on Cloudflare Workers + D1
Downloads
1,755
Maintainers
Readme
Clodo Framework
🚀 Production-Ready: Promise Delivered
Framework Status: ✅ VALIDATED & PRODUCTION-READY
Validation: 10/10 Phases Passed
Service Generation: 28+ Files Per Service
Test Coverage: (Latest CI run 2026-02-18) — 124 test suites passed; 1 skipped; 2328 passed, 2352 total
A comprehensive framework for building enterprise-grade software architecture on Cloudflare Workers + D1. This framework enables rapid development of autonomous, domain-specific services while maintaining consistency and reusability across your entire ecosystem.
✅ VALIDATED PROMISE: Through comprehensive testing and validation, the Clodo Framework has been proven to deliver on its core promise of automated Cloudflare service creation. See Framework Evolution Narrative for the complete development story.
📚 Documentation
🚀 Quick Start (5 minutes)
- Developer Quick Start - Get running immediately
- Simple API Guide - Quick examples and usage
🔧 API Reference
- Programmatic API - Complete programmatic usage
- Parameter Reference - All parameters and validation
- Error Reference - Error codes and troubleshooting
- Utilities Guide - Cloudflare API extensions and integrations
📖 Guides & Migration
- Getting Started - Step-by-step tutorial
- Migration Guide - CLI to programmatic APIs
- Framework Overview - Philosophy and concepts
🏗️ Architecture & Security
- Security - Security considerations
- Framework Evolution - Development history
🧑🤝🧑 Community & Support
- Email:
[email protected]— product support, feedback, and security reports - Twitter: @clodoframework — follow for updates and announcements
- Quick ways to help:
- ⭐ Star the repository on GitHub
- 🐛 Open issues for bugs or feature ideas
- 🔀 Submit PRs or reviews (even small documentation fixes are welcome)
- 🗣️ Share your experience on Twitter and tag @clodoframework
Your feedback helps prioritize improvements and signals others that this project is useful.
Support & SLAs: See SUPPORT.md for response times and escalation procedures.
Donate / Sponsor: If you'd like to support ongoing maintenance and improvements, please see FUNDING.md for ways to contribute (GitHub Sponsors, Open Collective, PayPal, Buy Me a Coffee, Patreon).
📁 Documentation Structure
├── docs/ # 📖 Public documentation (npm package)
│ ├── 00_START_HERE.md # 🚀 Quick start guide
│ ├── README.md # 📚 Documentation index
│ ├── overview.md # 🏛️ Framework philosophy
│ ├── api/ # 🔧 API documentation
│ ├── integration/ # 🔗 Integration guides
│ └── architecture/ # 🏗️ Technical architecture
└── i-docs/ # 🔒 Internal documentation (private)
├── commercialization/ # 💼 Business strategy
├── roadmap/ # 🗺️ Development planning
└── analysis/ # 📊 Technical analysis🏷️ Document Types
- 📖 Public (
docs/) - Developer usage, API reference, examples - 🔒 Internal (
i-docs/) - Business strategy, implementation details, planning
🎯 Key Achievements
✅ Three-Tier Service Creation
- Input Collection: Intelligent gathering of service requirements
- Smart Confirmations: 15 derived values with user review
- Automated Generation: 28+ production-ready files instantly
✅ Comprehensive Validation
- 10-Phase Testing: Complete end-to-end validation framework
- Production Readiness: Services deployable to Cloudflare immediately
- Quality Assurance: 98.9% test success rate with enterprise standards
✅ Professional Features
- Deployment Automation: One-click deployment scripts
- Service Enhancement: APIs for customizing generated services
- Enterprise Integration: CI/CD pipeline ready
- Developer Experience: Interactive wizards and comprehensive docs
🧪 Comprehensive Validation Results
The Clodo Framework has undergone rigorous validation to ensure it delivers on its promises:
🎉 COMPREHENSIVE VALIDATION COMPLETE!
====================================
✅ Service Generation: PASSED (28+ files created)
✅ Structure Validation: PASSED (All required files present)
✅ Package Configuration: PASSED (NPM setup validated)
✅ Worker Code Validation: PASSED (Cloudflare compatibility)
✅ Service Installation: PASSED (Dependencies resolved)
✅ Service Execution: PASSED (Runtime functionality)
✅ Deployment Scripts: PASSED (Automation verified)
✅ API Documentation: PASSED (Complete docs generated)
✅ Service Manifest: PASSED (Metadata tracking)
✅ Enhancement Capabilities: PASSED (Customization APIs)Validation Framework: 10-phase comprehensive testing ensuring production readiness.
📦 Service Generation Capabilities
What You Get: Complete, production-ready Cloudflare services with one command:
Core Service Files (28+ generated)
package.json- NPM configuration with dependencieswrangler.toml- Cloudflare deployment configurationsrc/worker/index.js- Main Cloudflare Worker implementationsrc/handlers/service-handlers.js- CRUD operation handlerssrc/middleware/service-middleware.js- Request processing middlewaresrc/utils/service-utils.js- Service utility functionssrc/schemas/service-schema.js- Data validation schemas
Deployment & Configuration
scripts/deploy.ps1- PowerShell deployment automationscripts/setup.ps1- Environment setup scriptscripts/health-check.ps1- Service health validationconfig/*.env- Environment-specific configurations.env.example- Configuration template
Documentation & Metadata
README.md- Complete service documentationclodo-service-manifest.json- Service metadata and trackingAPI_DOCUMENTATION.md- API endpoint documentation
Enhancement Capabilities
- Handler Customization: Add/modify CRUD operations
- Middleware Extension: Custom request processing
- Configuration Override: Environment-specific settings
- Template Enhancement: Service-specific customizations
Cloudflare API Utilities (v4.4.0+)
- AI Integration: Workers AI for text generation, analysis, and embeddings
- Storage Solutions: R2 object storage and KV key-value store
- Real-time Features: Queues for messaging, Durable Objects for state
- Advanced Analytics: Custom metrics and performance monitoring
- Email Processing: Inbound/outbound email handling
- Vector Databases: AI-powered semantic search capabilities
💡 Utilities are optional extensions - use them when you need advanced Cloudflare features. See Utilities Guide for integration examples.
🚀 Three-Tier Service Creation
The Clodo Framework implements a sophisticated three-tier service creation process that transforms your requirements into production-ready Cloudflare services:
Tier 1: Input Collection
What happens: Intelligent gathering of your service requirements Inputs collected: Service name, type, domain, Cloudflare credentials Smart features: Input validation, format checking, credential verification
Tier 2: Smart Confirmations
What happens: Generation of 15 derived configuration values Intelligence: URL formatting, resource naming, dependency calculation User control: Review and modify all generated values before creation
Tier 3: Automated Generation
What happens: Instant creation of complete, production-ready services Output: 28+ files including worker code, configs, scripts, and documentation Quality: Enterprise-grade code with security, monitoring, and best practices
Usage Examples
Interactive Service Creation
# Start interactive service creation wizard
npx @tamyla/clodo-framework clodo-service
# Framework will guide you through:
# 1. Service name and type selection
# 2. Domain and Cloudflare configuration
# 3. Review of 15 generated configuration values
# 4. Instant service generationProgrammatic Service Creation
import { ServiceOrchestrator } from '@tamyla/clodo-framework';
const orchestrator = new ServiceOrchestrator();
await orchestrator.createService({
serviceName: 'my-api-service',
serviceType: 'data-service',
domain: 'mycompany.com',
cloudflareToken: 'your-token',
cloudflareAccountId: 'account-id',
cloudflareZoneId: 'zone-id'
});Service Enhancement
import { ServiceCreator } from '@tamyla/clodo-framework';
// Create and configure a new service
const creator = new ServiceCreator();
await creator.createService({
serviceName: 'my-api-service',
serviceType: 'data-service',
domain: 'mycompany.com'
});Two Ways to Use Clodo Framework
📦 As a Library (Public API)
Import framework modules into your project for programmatic use:
// Import core services
import { GenericDataService } from '@tamyla/clodo-framework/services';
import { EnhancedRouter } from '@tamyla/clodo-framework/routing';
import { CloudflareAPI } from '@tamyla/clodo-framework/utils/cloudflare';
import { DeploymentOrchestrator } from '@tamyla/clodo-framework/deployment';
// Use framework utilities
const api = new CloudflareAPI(token);
const zones = await api.listZones();All public exports are defined in package.json - use only these documented paths.
🔧 As CLI Tools (Commands)
Run framework commands in your terminal:
# Create a new service
clodo-service create
# Deploy your service
clodo-service deploy
# Validate service configuration
clodo-service validate
# Preflight health checks before deployment
clodo-service doctor
# Scan for leaked secrets
clodo-service secrets scan
# Validate config files against schemas
clodo-service config-schema validate clodo-deploy.json
# Security auditing
clodo-security auditCLI tools are for terminal use only - they use interactive prompts, colored output, and are not meant for programmatic import.
⚠️ Important: Don't Import from dist/bin/
The bin/ directory contains CLI implementation details and should never be imported directly:
// ❌ WRONG - Don't do this
import { healthCheckWithBackoff } from '@tamyla/clodo-framework/dist/bin/shared/monitoring/health-checker.js';
import { deploymentUI } from '@tamyla/clodo-framework/dist/bin/commands/helpers/deployment-ui.js';
// ✅ CORRECT - Use public API
import { DeploymentOrchestrator } from '@tamyla/clodo-framework/deployment';
import { CloudflareAPI } from '@tamyla/clodo-framework/utils/cloudflare';If you need functionality that's currently only in bin/, please open an issue - we'll consider adding it to the public API.
How to consume (quick)
A short guide and best practices for consuming @tamyla/clodo-framework are available in the docs: docs/HOWTO_CONSUME_CLODO_FRAMEWORK.md. This file includes quickstart steps, public export guidance, CLI usage, and troubleshooting tips for packaged artifacts.
If you'd like this information added to clodo.dev, I can prepare a small website PR as well.
Project Structure
The project is organized for maximum clarity and maintainability:
clodo-framework/
├── docs/ # 📖 Public documentation
│ ├── strategic/ # Business strategy & planning
│ ├── utilities/ # Utility integration guides
│ ├── api/ # API reference & guides
│ ├── integration/ # Integration & migration guides
│ └── phases/ # Framework development phases
├── i-docs/ # 📚 Internal documentation (organized by category)
│ ├── architecture/ # Design docs, audits, specs
│ ├── development/ # Dev guides, improvements
│ ├── testing/ # Test plans, validation
│ ├── deployment/ # Deployment analysis, fixes
│ ├── roadmap/ # Strategic planning
│ ├── guides/ # Integration guides
│ ├── session-reports/ # Development sessions
│ ├── phases/ # Phase completions
│ ├── analysis/ # Technical analysis
│ └── licensing/ # License information
├── src/ # 💻 Source code
├── test/ # ✅ Test suites (Latest CI: 124 suites; 2328 tests passed, 24 skipped)
├── cli/ # 🔧 CLI tools & commands
├── examples/ # 📚 Usage examples & demos
├── config/ # ⚙️ Configuration files & examples
├── scripts/ # 🛠️ Build & utility scripts
├── templates/ # 📋 Service templates
├── dist/ # 📦 Built distribution
├── lib/ # 📚 Compiled libraries
├── .logs/ # 📝 Log files (hidden)
├── .tmp/ # 🗂️ Temporary files (hidden)
├── backups/ # 💾 Backup files
├── deployments/ # 🚀 Deployment artifacts
├── secrets/ # 🔐 Secret management
└── coverage/ # 📊 Test coverage reports
Quality Metrics:
- ✅ Latest CI (2026-02-18): 124 test suites passed; 1 skipped; 2328/2352 tests passed
- ✅ CLI tests: passing (all CLI-specific tests passed in the latest run)
- ✅ Clean architecture (organized file structure, no clutter in root)
- ✅ Configuration-based (no hard-coded values in source)
📚 Incremental Adoption
Already have an existing project? The Clodo Framework is designed for gradual integration - you don't need to rewrite everything at once. Start with individual components and scale up as needed.
Quick Start Options
- Greenfield Development: Use
npx @tamyla/clodo-framework clodo-servicefor new projects - Existing Projects: Import individual utilities, then add configuration management, then full deployment automation
- Migration Path: Follow our Integration Guide for step-by-step migration strategies
Adoption Phases
- Phase 1: Import core utilities (logging, validation, error handling)
- Phase 2: Add configuration management and environment handling
- Phase 3: Integrate deployment automation and security validation
- Phase 4: Full framework adoption with orchestration and monitoring
Pro Tip: Most teams start with Phase 1 utilities and gradually adopt more features. See Adopting Clodo Framework in Existing Projects for detailed guidance.
�🔒 Security-First Architecture
The Clodo Framework implements security-by-default principles, ensuring that insecure configurations cannot reach production environments. Our comprehensive security validation framework automatically detects and prevents:
- Dummy API Keys: Prevents deployment of development/test keys to production
- Weak Secrets: Blocks passwords shorter than security requirements
- Insecure URLs: Enforces HTTPS in production, blocks localhost in live environments
- JWT Security: Validates JWT secret strength and entropy
- Environment Compliance: Different security rules for dev/staging/production
Security Integration
Security validation is automatically applied to all deployments through framework hooks:
// Security validation runs automatically on every deployment
hooks: {
'pre-deployment': async (context) => {
const issues = ConfigurationValidator.validate(config, environment);
if (criticalIssues.length > 0) {
throw new Error('🚫 Deployment blocked due to critical security issues');
}
}
}Quick Security Setup
# Generate secure keys
npx @tamyla/clodo-framework security generate-key jwt
npx @tamyla/clodo-framework security generate-key api content-skimmer
# Validate configuration security
npx @tamyla/clodo-framework security validate customer production
# Scan source code for leaked secrets
clodo-service secrets scan
# Validate secrets against baseline
clodo-service secrets validate
# Run preflight security checks
clodo-service doctor
# Deploy with automatic security validation
npx @tamyla/clodo-framework security deploy customer productionCurrent Status ✅
Working Features
- ✅ Interactive Domain Selection: Choose domains from discovered services
- ✅ Real Cloudflare Worker Deployment: Actual wrangler-based deployment
- ✅ Domain Discovery & Validation: Comprehensive Cloudflare integration
- ✅ API Token Management: Secure encrypted storage and validation
- ✅ Service Directory Intelligence: Smart service discovery by domain configuration
- ✅ Production Testing Suite: Comprehensive post-deployment validation
- ✅ Deployment Auditing: Complete audit trails and logging
- ✅ Graceful Error Handling: D1 permission graceful degradation
- ✅ Cross-Platform Support: Windows PowerShell and Linux compatibility
- ✅ 🔒 Security Validation Framework: Automated security validation and deployment blocking
- ✅ 🛡️ Cryptographic Key Generation: Secure API key and JWT secret generation
- ✅ 🚫 Deployment Security: Pre-deployment validation that blocks insecure configurations
- ✅ 🩺 Doctor / Preflight Checks: Automated environment, dependency, and connectivity validation before deploy
- ✅ 🔍 Secret Scanning & Baseline: Detect leaked secrets in source code with baseline management
- ✅ 📋 Config Schema Validation: Zod-powered schema validation for all CLI config files (create, deploy, validate, update)
- ✅ 👥 Customer Configuration Management: Multi-environment, multi-customer configuration system
- ✅ 🏗️ Template-Based Customer Onboarding: Automated customer setup from reusable templates
- ✅ 🔗 Framework Integration: Customer configs integrate with domain and feature flag systems
- ✅ 📘 TypeScript Support: Comprehensive type definitions with 500+ lines of TypeScript interfaces
- ✅ ⚡ Performance Caching: Schema caching, SQL query caching, and validation result caching
- ✅ 🔄 Enhanced Data Services: Advanced pagination, relationship loading, and query optimization
Core Capabilities
- Enterprise Deployment System: Multi-domain deployment orchestration with validation
- Domain Configuration Management: Centralized configuration with runtime discovery
- API Token Security: AES-256-CBC encrypted storage with automatic prompting
- Service Autonomy: Each service can discover and deploy itself independently
- Comprehensive Validation: Network, authentication, configuration, and endpoint validation
- 🔒 Security-by-Default: Automatic detection and prevention of insecure configurations
- 🛡️ Production Security: Environment-specific security requirements and validation
- 🔐 Cryptographic Utilities: Secure key generation and secret management
- 🩺 Doctor / Preflight: Automated pre-deployment environment checks with
--skip-doctor/--doctor-strictflags - 🔍 Secret Scanning: Source code secret detection, pattern matching, and baseline management
- 📋 Config Schema Validation: Zod schemas for all config file types with semantic warnings
- Production Testing: Health checks, authentication flows, performance monitoring
- Audit & Compliance: Detailed deployment logging and reporting
- 👥 Customer Configuration Management: Multi-environment customer isolation and management
- 🏗️ Template-Based Onboarding: Automated customer setup with reusable configuration templates
- 🔗 Framework Integration: Seamless integration with existing domain and feature flag systems
- 📘 TypeScript First: Complete type safety with comprehensive type definitions and IDE support
- ⚡ Performance Optimized: Intelligent caching system for schemas, SQL queries, and validation results
- 🔄 Advanced Data Operations: Enhanced CRUD with relationships, advanced pagination, and query optimization
🎉 What's New in v4.5.x
🩺 Doctor / Preflight Command (v4.5.x)
Run comprehensive pre-deployment health checks to catch issues before they reach production:
# Run all preflight checks
clodo-service doctor
# Skip doctor during deploy
clodo-service deploy --skip-doctor
# Fail deploy on doctor warnings
clodo-service deploy --doctor-strictChecks performed:
- ✅ Node.js version compatibility
- ✅ Required dependencies installed (wrangler, etc.)
- ✅ Environment variables set
- ✅ Cloudflare API connectivity
- ✅ Config file schema validation
- ✅ Secret baseline compliance
🔍 Secret Scanning & Baseline Management (v4.5.x)
Detect leaked secrets in your codebase before they reach version control:
# Scan for secrets in source code
clodo-service secrets scan [directory]
# Validate against a known baseline
clodo-service secrets validate
# Show current baseline
clodo-service secrets baseline show
# Update baseline after review
clodo-service secrets baseline update
# List known secret patterns
clodo-service secrets patternsFeatures:
- 15+ built-in secret patterns (AWS, Stripe, GitHub, JWT, etc.)
- Baseline management for known/accepted findings
- Integration with doctor preflight checks
- Programmatic API via
SecretsManager
📋 Config Schema Validation (v4.5.x)
Validate your CLI config files against Zod schemas with semantic warnings:
# Validate a config file
clodo-service config-schema validate clodo-deploy.json
# Strict mode (exit code 1 on any error)
clodo-service config-schema validate clodo-create.json --strict
# Show schema for a config type
clodo-service config-schema show deploy
# List all supported config types
clodo-service config-schema typesSupported config types: create, deploy, validate, update
Semantic warnings detect:
- Environment variable placeholders left in values
- Duplicate features
- Production configs without security features
- Missing backup strategy with migrations enabled
- Name mismatches between config fields
🔧 Enhanced Customer Configuration System
The customer configuration CLI reads directly from your wrangler.toml file, providing a single source of truth for deployment configuration:
# List all customers with complete deployment metadata
npx @tamyla/clodo-framework customer list
# Specify custom config directory
npx @tamyla/clodo-framework customer list --config-dir /path/to/configWhat you see now:
- ✅ Account ID from wrangler.toml
- ✅ Zone ID from wrangler.toml
- ✅ Customer domain from environment config
- ✅ Service domain from wrangler.toml
- ✅ Worker name and database info
- ✅ Secrets status
All 6 core deployment pieces in one command - no more hunting through multiple files!
☁️ New CloudflareAPI Utility
Programmatic Cloudflare operations without CLI dependencies:
import { CloudflareAPI } from '@tamyla/clodo-framework/utils/cloudflare';
const cf = new CloudflareAPI(apiToken);
// Verify token permissions
const isValid = await cf.verifyToken();
// List all zones/domains
const zones = await cf.listZones();
// Get zone details (account_id, zone_id, etc.)
const details = await cf.getZoneDetails(zoneId);
// List D1 databases
const databases = await cf.listD1Databases(accountId);
// Get complete deployment info
const info = await cf.getDeploymentInfo(zoneId);📝 TOML Configuration Writing
Dynamic wrangler.toml updates from code:
import {
updateWranglerToml,
addD1Database,
updateEnvironmentConfig
} from '@tamyla/clodo-framework/config/customers';
// Add a new D1 database binding
await addD1Database('production', 'my-database', 'database-uuid-123');
// Update environment config
await updateEnvironmentConfig('production', {
vars: { SERVICE_DOMAIN: 'api.example.com' }
});
// Update any wrangler.toml section
await updateWranglerToml({
name: 'my-worker',
compatibility_date: '2025-01-01'
});🧹 Code Quality Improvements
- Removed 180 lines of duplicate secret management code
- Consolidated Cloudflare utilities under
src/utils/cloudflare/ - Single source of truth for Cloudflare operations (API vs CLI)
- Better organization - clear separation between framework and CLI utilities
🧪 Downstream Service Testing & Validation
The CLODO Framework provides comprehensive capabilities for testing, validating, and deploying Cloudflare Workers in downstream environments - perfect for ensuring services work correctly in third-party accounts and production environments.
Production Testing Suite 🧪
Test deployed services across any Cloudflare account:
import { ProductionTester } from '@tamyla/clodo-framework/deployment';
const tester = new ProductionTester({
verbose: true,
generateReport: true
});
// Test service in any environment
const results = await tester.runProductionTests('https://your-service.workers.dev', {
testSuites: ['health', 'authentication', 'database', 'performance']
});Available Test Suites:
- Health Checks: Endpoint availability and response validation
- Authentication: JWT tokens, API keys, session management
- Database: D1 connectivity, query execution, transactions
- Performance: Response times, throughput, resource monitoring
- Regression: Compare against baseline metrics
Modular Testing Capabilities 🔧
For granular control, use individual testing modules:
// Test only what you need
import { ApiTester, AuthTester, DatabaseTester } from '@tamyla/clodo-framework/deployment/testers';
// API testing only
const apiResults = await new ApiTester().runApiTests('production');
// Authentication testing only
const authResults = await new AuthTester().runAuthTests(baseUrl, testUser);
// Database testing only
const dbResults = await new DatabaseTester().runDatabaseTests('production');Individual Modules:
ApiTester- Endpoint and CRUD operation testingAuthTester- JWT, API keys, session managementDatabaseTester- D1 connectivity and query validationPerformanceTester- Response times and throughputLoadTester- Scalability and concurrent user testing
Pre-Deployment Validation ✅
Comprehensive validation before deployment:
import { DeploymentValidator } from '@tamyla/clodo-framework/deployment';
const validator = new DeploymentValidator({
validationLevel: 'comprehensive'
});
// Validate deployment readiness
const result = await validator.validateDeployment(['your-service.com'], {
environment: 'production'
});Validation Categories:
- Prerequisites: Node.js, wrangler CLI, required files
- Authentication: Cloudflare API tokens and permissions
- Network: Connectivity and DNS resolution
- Configuration: Environment variables and wrangler.toml
- Endpoints: Service accessibility and response validation
- Deployment: Build process and resource availability
Third-Party Account Operations ☁️
Deploy and manage services across multiple Cloudflare accounts:
import { CloudflareDomainManager } from '@tamyla/clodo-framework/deployment';
const manager = new CloudflareDomainManager({
apiToken: process.env.CUSTOMER_CLOUDFLARE_TOKEN
});
// Verify authentication in customer account
await manager.verifyAuthentication();
// Deploy to customer environment
await manager.deployService({
serviceName: 'data-service',
domain: 'customer-service.com'
});Multi-Account Features:
- Account Discovery: Automatically detect available domains
- Permission Validation: Verify deployment permissions
- Service Matching: Intelligent domain-to-service mapping
- Cross-Account Coordination: Deploy across multiple accounts
Interactive Developer Involvement 👥
When issues are detected, the framework actively involves developers:
// Framework detects authentication issues and guides resolution
const authChoice = await askChoice(
'Cloudflare authentication needed. What would you like to do?',
[
'Login to Cloudflare now',
'Provide API token manually',
'Skip verification (limited features)',
'Cancel deployment'
]
);Security-First Deployment 🔒
Automatic security validation prevents insecure deployments:
import { deployWithSecurity } from '@tamyla/clodo-framework/security';
await deployWithSecurity({
customer: 'your-customer',
environment: 'production',
deploymentUrl: 'https://service.workers.dev'
});Security Validations:
- API Key Validation: Blocks dummy/test keys in production
- Secret Strength: Enforces secure JWT secrets
- Environment Compliance: Different rules per environment
- Configuration Auditing: Logs all security decisions
Integration Examples
Post-Deployment Testing:
// Test service after deployment
const testResults = await tester.runProductionTests(deploymentUrl, {
testSuites: ['health', 'authentication', 'endpoints']
});
if (testResults.summary.failed > 0) {
console.error('❌ Post-deployment tests failed');
await rollbackManager.rollback(deployment.id);
}Multi-Account Deployment:
// Deploy across customer accounts
const results = await Promise.allSettled(
customers.map(customer =>
deployToCustomerAccount(customer, serviceConfig)
)
);📖 Complete Documentation: See our Integration Guide and Deployment Guide for comprehensive testing and validation documentation.
� For Developers
If you're building services with the Clodo Framework, see our comprehensive Developer Guide for:
- Installation and setup instructions
- Service creation and configuration
- Best practices for using public APIs
- Deployment patterns (embedding logic, not calling internal commands)
- Troubleshooting and common issues
📋 Framework Architecture
For an overview of the framework's architecture and design philosophy, see our Architecture Overview:
- Core components and usage patterns
- Library vs CLI tool approaches
- Intelligent features and orchestration
- Design principles and benefits
Note: For detailed technical analysis and internal implementation details, see FRAMEWORK-ARCHITECTURE-ANALYSIS.md (internal maintainer documentation).
📘 TypeScript Support
The Clodo Framework provides comprehensive TypeScript support with 500+ lines of type definitions for complete type safety and enhanced developer experience.
TypeScript Setup
// types/index.d.ts provides complete type coverage
import {
SchemaManager,
GenericDataService,
EnhancedRouter,
CustomerConfigurationManager
} from '@tamyla/clodo-framework';
// Full IntelliSense and type checking
const schemaManager = new SchemaManager();
const service = new GenericDataService(d1Client, 'users');Key TypeScript Features
- Complete API Coverage: Every exported function and class is fully typed
- Advanced Generic Types: Complex data structures with proper generic constraints
- Validation Types: Type-safe schema definitions and validation results
- Cache Types: Typed caching interfaces with TTL and statistics
- Security Types: Comprehensive security validation and key generation types
- IDE Integration: Full IntelliSense, auto-completion, and refactoring support
Important: The commands below are for framework development and internal use. External developers should embed deployment logic in their services rather than calling these scripts directly.
�🚀 Working Commands
Enterprise Deployment (Primary)
# Interactive domain deployment (Recommended)
node bin/deployment/enterprise-deploy.js deploy --interactive
# Direct domain deployment
node bin/deployment/enterprise-deploy.js deploy data-service.greatidude.com
# Deployment with custom validation level
node bin/deployment/enterprise-deploy.js deploy --interactive --validation comprehensive
# Dry run deployment
node bin/deployment/enterprise-deploy.js deploy --interactive --dry-run
# Skip production tests
node bin/deployment/enterprise-deploy.js deploy --interactive --no-tests🔒 Security Validation (Critical)
# Validate configuration security before deployment
npx clodo-security validate customer production
# Generate cryptographically secure keys
npx clodo-security generate-key jwt 64
npx clodo-security generate-key api content-skimmer
# Deploy with automatic security validation
npx clodo-security deploy customer production --dry-run
# Check deployment readiness
npx clodo-security check-readiness customer production👥 Customer Configuration Management
# Create new customer configuration from templates
npm run customer-config create-customer mycompany mycompany.com
# List all configured customers
npm run customer-config list
# Show effective configuration for customer/environment
npm run customer-config show mycompany production
# Validate customer configuration structure
npm run customer-config validate
# Get deployment command for customer
npm run customer-config deploy-command mycompany stagingDomain Management
# List available domains
node bin/deployment/enterprise-deploy.js list
# Discover domain configuration
node bin/deployment/enterprise-deploy.js discover data-service.greatidude.com
# Validate domain setup
node bin/deployment/enterprise-deploy.js validate data-service.greatidude.comMulti-Domain Operations
# Deploy multiple domains
node bin/deployment/enterprise-deploy.js deploy-multi domain1.com domain2.com
# Deploy entire portfolio
node bin/deployment/enterprise-deploy.js deploy-portfolio🔧 Environment Requirements
Prerequisites
# Required
Node.js >= 18.0.0
npm >= 9.0.0
npx (comes with npm)
wrangler >= 3.0.0
# Verify installation
node --version
npm --version
npx wrangler --versionCloudflare Setup
- Cloudflare Account: Active account with API access
- API Token: Token with permissions:
Zone:Read(for domain discovery)Zone Resources:Edit(for worker deployment)Account:Read(optional, for enhanced features)Cloudflare D1:Edit(optional, for database discovery)
- Domain Configuration: Domains should be added to Cloudflare zones
Service Structure
services/
├── data-service/ # Service directory
│ ├── wrangler.toml # Cloudflare configuration
│ ├── package.json # Service dependencies
│ └── src/
│ ├── config/domains.js # Domain configuration
│ └── worker/index.js # Worker entry point🚀 Quick Start
1. First Time Setup
# Clone the framework
git clone <repository-url>
cd clodo-framework
# Install dependencies
npm install
# Ensure wrangler is available
npx wrangler --version2. Cloudflare Authentication
# Login to Cloudflare (first time only)
npx wrangler login
# Or set API token directly (will be prompted automatically)
# The system will securely store your token with encryption3. Deploy a Service
# Interactive deployment (recommended for first time)
node bin/deployment/enterprise-deploy.js deploy --interactive
# The system will:
# 1. Discover available services
# 2. Let you select a domain
# 3. Validate Cloudflare setup
# 4. Deploy the worker
# 5. Run production tests
# 6. Generate audit reports4. Verify Deployment
The deployment will output the worker URL. Visit it to confirm it's working:
✅ Deployment successful: https://your-service.your-domain.com🛣️ Automatic Route Configuration
Clodo Framework's killer feature: Never manually configure routes again. The framework automatically generates Cloudflare Worker routes from your domain configuration, ensuring consistency across all environments.
Zero-Configuration Routing
Simply define your domains, and routes are generated automatically:
// domain-config.json
{
"domains": {
"example.com": {
"cloudflareZoneId": "abc123...",
"environments": {
"production": {
"domain": "api.example.com",
"apiBasePath": "/api"
},
"staging": {
"domain": "staging-api.example.com",
"apiBasePath": "/api"
},
"development": {
"subdomain": "my-service-dev"
}
}
}
}
}Automatically generates:
# Production routes (top-level)
[[routes]]
pattern = "api.example.com/api/*"
zone_id = "abc123..."
# Staging routes (nested)
[env.staging]
[[routes]]
pattern = "staging-api.example.com/api/*"
zone_id = "abc123..."
# Development uses workers.dev automaticallyMulti-Tenant SaaS Made Simple
Deploy to multiple customer domains automatically:
{
"domains": {
"customer1.example.com": { "cloudflareZoneId": "zone1..." },
"customer2.example.com": { "cloudflareZoneId": "zone2..." },
"customer3.example.com": { "cloudflareZoneId": "zone3..." }
}
}All routes generated automatically. Add a new customer? Just add their domain to config.
Customization & Control
Fine-tune routing behavior through validation-config.json:
{
"routing": {
"defaults": {
"includeComments": true,
"targetEnvironment": "all",
"orderStrategy": "most-specific-first"
},
"domains": {
"skipPatterns": ["internal.*"],
"complexTLDs": [".co.uk", ".com.au"]
}
}
}Key Benefits
- ✅ Zero Manual TOML Editing: Routes generated from domain config
- ✅ Multi-Environment Support: Production, staging, dev automatically configured
- ✅ Multi-Tenant Ready: Scale to hundreds of customer domains
- ✅ Conflict Detection: Validates route patterns before deployment
- ✅ Self-Documenting: Comments explain each route's purpose
Learn More
- Complete Guide: docs/ROUTING_GUIDE.md - All configuration options explained
- Migration Guide: docs/MIGRATION_GUIDE.md - Move from manual routes
- Examples: See routing examples for single-domain, multi-tenant, and complex scenarios
This is what sets Clodo apart: Other frameworks require manual route configuration. Clodo generates everything automatically from your domain structure.
Project Structure
clodo-framework/
├── bin/ # Executable scripts and CLI tools
│ ├── service-management/ # Service creation and initialization
│ ├── deployment/ # Enterprise deployment tools
│ ├── database/ # Database management tools
│ ├── portfolio/ # Multi-service portfolio management
│ └── shared/ # Shared utility modules
│ └── config/ # Configuration management tools
│ └── customer-cli.js # Customer configuration CLI
├── scripts/ # PowerShell scripts and utilities
│ ├── service-management/ # Service setup scripts
│ ├── deployment/ # Deployment scripts
│ ├── testing/ # Testing utilities
│ └── utilities/ # General utilities
├── services/ # Generated services directory
│ ├── my-api-service/ # Individual service directories
│ ├── auth-service/ # Auto-organized by init-service
│ └── data-service/ # Each with complete Cloudflare setup
├── docs/ # Documentation
│ ├── analysis/ # Development analysis and demos
│ ├── api/ # API documentation
│ ├── examples/ # Usage examples
│ └── guides/ # User guides
├── test/ # Test suite
│ └── integration/ # Integration tests
├── src/ # Framework source code
│ └── config/ # Configuration management
│ ├── customers.js # Customer configuration manager
│ ├── domains.js # Domain configuration system
│ └── features.js # Feature flag system
├── templates/ # Service templates
├── config-templates/ # Configuration templates
└── config/ # Framework configuration
└── customers/ # Customer configuration templates
└── template/ # Reusable customer config templatesEnterprise Deployment & Orchestration
The Clodo Framework now includes comprehensive enterprise-grade deployment and orchestration capabilities, extracted from production systems and made reusable across all services.
Orchestration Modules
import { MultiDomainOrchestrator, CrossDomainCoordinator } from '@tamyla/clodo-framework/orchestration';
// Multi-domain deployment orchestration
const orchestrator = new MultiDomainOrchestrator({
domains: ['api', 'auth', 'data'],
environment: 'production',
parallelDeployments: 3
});
// Cross-domain coordination for complex deployments
const coordinator = new CrossDomainCoordinator({
portfolioName: 'enterprise-suite',
maxConcurrentDeployments: 5,
enableDependencyResolution: true
});Deployment Management
import { DeploymentValidator, RollbackManager, ProductionTester, DeploymentAuditor } from '@tamyla/clodo-framework/deployment';
// Pre-deployment validation
const validator = new DeploymentValidator();
await validator.validateDeployment(deploymentConfig);
// Production testing suite
const tester = new ProductionTester();
await tester.runProductionTests(deploymentId);
// Rollback management
const rollback = new RollbackManager();
await rollback.createRollbackPoint(deploymentId);
// Comprehensive audit logging
const auditor = new DeploymentAuditor();
auditor.logDeployment(deploymentId, 'started', { domains: ['api', 'auth'] });Database Orchestration
import { DatabaseOrchestrator } from '@tamyla/clodo-framework/database';
// Multi-environment database management
const dbOrchestrator = new DatabaseOrchestrator({
projectRoot: './',
dryRun: false
});
// Run migrations across environments
await dbOrchestrator.runMigrations('production');
await dbOrchestrator.createBackup('production');Domain Discovery
import { DomainDiscovery } from '@tamyla/clodo-framework/config/discovery';
// Runtime domain discovery and configuration
const discovery = new DomainDiscovery({
apiToken: process.env.CLOUDFLARE_API_TOKEN
});
// Discover and cache domain configurations
await discovery.discoverDomains();
const config = await discovery.getDomainConfig('my-domain');Customer Configuration Management
import { CustomerConfigurationManager } from '@tamyla/clodo-framework/config';
// Framework-mode customer management (uses mock values for testing)
const customerManager = new CustomerConfigurationManager();
// Create customer configuration from templates
await customerManager.createCustomer('acmecorp', 'acmecorp.com', {
skipValidation: true,
isFrameworkMode: true
});
// Show effective configuration
const config = customerManager.showConfig('acmecorp', 'production');
// Validate customer configurations
const validation = await customerManager.validateConfigs();
// Get deployment commands
const deployCmd = customerManager.getDeployCommand('acmecorp', 'staging');Deployment Utilities
import { EnhancedSecretManager, ConfigurationCacheManager, askUser, askYesNo } from '@tamyla/clodo-framework/utils/deployment';
// Advanced secret management
const secretManager = new EnhancedSecretManager();
await secretManager.generateSecrets(['database', 'api-keys']);
// Configuration caching
const cache = new ConfigurationCacheManager();
await cache.cacheConfiguration(deploymentId, config);
// Interactive prompts for deployment scripts
const environment = await askChoice('Select environment:', ['staging', 'production']);
const confirmed = await askYesNo('Deploy to production?');Enterprise CLI Tools
The Clodo Framework now includes powerful command-line tools for enterprise deployment and portfolio management.
Installation
npm install -g @tamyla/clodo-framework
# or
npx @tamyla/clodo-framework --helpAvailable CLI Tools
clodo-deploy - Enterprise Deployment CLI
Advanced deployment system with multi-domain orchestration, validation, and rollback capabilities.
# Deploy a single domain
npx clodo-deploy deploy my-domain --environment production
# Deploy multiple domains with coordination
npx clodo-deploy deploy-multi api auth data --parallel
# Validate deployment readiness
npx clodo-deploy validate my-domain
# Run production tests
npx clodo-deploy test my-domain
# Rollback deployment
npx clodo-deploy rollback my-domainclodo-master-deploy - Master Deployment Orchestrator
Comprehensive deployment orchestrator with enterprise features and portfolio management.
# Deploy with full orchestration
npx clodo-master-deploy orchestrate --domains api,auth,data
# Run pre-deployment validation
npx clodo-master-deploy validate --portfolio
# Monitor deployment progress
npx clodo-master-deploy monitorclodo-portfolio - Portfolio Management CLI
Multi-domain portfolio operations with bulk management and analytics.
# Initialize portfolio
npx clodo-portfolio init --portfolio-name my-enterprise
# Discover all domains
npx clodo-portfolio discover
# Deploy entire portfolio
npx clodo-portfolio deploy
# Get portfolio health status
npx clodo-portfolio health
# Generate portfolio analytics
npx clodo-portfolio analyticsclodo-db - Database Management CLI
Enterprise database operations across multiple environments.
# Run migrations for domain
npx clodo-db migrate my-domain --environment production
# Synchronize schemas across portfolio
npx clodo-db sync --portfolio
# Create backups
npx clodo-db backup my-domainclodo-secrets - Secret Scanning & Baseline Management
Detect leaked secrets in source code and manage baselines for known findings.
# Scan current directory for secrets
clodo-service secrets scan
# Scan a specific directory
clodo-service secrets scan ./src
# Validate against baseline
clodo-service secrets validate
# Show current baseline
clodo-service secrets baseline show
# Update baseline after review
clodo-service secrets baseline update
# List known secret patterns
clodo-service secrets patternsclodo doctor - Preflight Health Checks
Run comprehensive environment and configuration checks before deployment.
# Run all checks
clodo-service doctor
# Skip during deploy
clodo-service deploy --skip-doctor
# Strict mode (fail on warnings)
clodo-service deploy --doctor-strictclodo config-schema - Config File Validation
Validate CLI config files against Zod schemas with semantic analysis.
# Validate a config file
clodo-service config-schema validate clodo-deploy.json
# Show schema for a config type
clodo-service config-schema show create
# List all supported config types
clodo-service config-schema types
# Strict mode
clodo-service config-schema validate config.json --strictQuick Start
Install the Framework
npm install @tamyla/clodo-frameworkCreate a New Service
npx create-clodo-service my-new-service --type data-serviceBasic Usage
import { initializeService, createFeatureGuard, FeatureFlagManager } from '@tamyla/clodo-framework';
export default {
async fetch(request, env, ctx) {
// Initialize service with domain context
const service = initializeService(env);
// Feature-guarded endpoints
if (request.url.includes('/premium')) {
return createFeatureGuard('premiumFeatures')(
handlePremiumRequest
)(request, env, ctx);
}
return handleRequest(request, env, ctx);
}
};Deployment Workflow
The Clodo Framework provides a clear setup-first, deploy-second workflow to avoid configuration dependency issues.
Phase 1: Service Initialization (Setup)
Before deployment, initialize your service to generate required configuration files:
# Initialize a new service with configuration generation
npx clodo-init my-service --type api-gateway --env development
# This creates:
# - wrangler.toml (Cloudflare Workers config)
# - src/config/domains.js (Domain configuration)
# - Validates environment variables
# - Prepares for deploymentPhase 2: Deployment (Deploy)
Once initialized, deploy using the enterprise deployment system:
# Deploy to production
npx clodo-deploy my-service --env production
# Multi-domain deployment
npx clodo-deploy-multi api auth data --env staging
# Portfolio deployment (all domains)
npx clodo-deploy-portfolio --env productionEnvironment Variables Required
Set these before deployment:
export CLOUDFLARE_ACCOUNT_ID="your_account_id"
export CLOUDFLARE_ZONE_ID="your_zone_id"
export CLOUDFLARE_API_TOKEN="your_api_token"Workflow Order
- Init → Generate configurations and validate setup
- Deploy → Deploy with enterprise orchestration
- Monitor → Use built-in auditing and rollback features
This ensures configurations exist before deployment attempts, eliminating the "expecting wrangler.toml readily available" issue for first-time deployments.
Architecture
Core Components
- Domain Configuration: JSON-based configuration with validation
- Feature Flags: Runtime feature management
- Worker Integration: Service initialization helpers
- Deployment Framework: Automated deployment scripts
- Service Registry: Cross-service communication
Service Structure
services/my-service/
├── src/
│ ├── config/
│ │ ├── domains.js # Service-specific domain configs
│ │ └── features.js # Service feature definitions
│ ├── worker/
│ │ └── index.js # Main worker handler
│ └── routes/
├── scripts/
│ ├── deploy.ps1 # Deployment script
│ └── setup.ps1 # Setup script
├── package.json
└── wrangler.tomlConfiguration
Domain Configuration
// config/domains.js
import { createDomainConfigSchema } from '@tamyla/clodo-framework';
export const domains = {
'my-domain': {
...createDomainConfigSchema(),
name: 'my-domain',
displayName: 'My Domain',
accountId: 'your-cloudflare-account-id',
zoneId: 'your-zone-id',
domains: {
production: 'api.myapp.com',
staging: 'staging-api.myapp.com'
},
features: {
premiumFeatures: true,
analytics: false
}
}
};Feature Definitions
// config/features.js
export const FEATURES = {
PREMIUM_FEATURES: 'premiumFeatures',
ANALYTICS: 'analytics',
FILE_STORAGE: 'fileStorage'
};Deployment
Automated Deployment
# Deploy to staging
.\scripts\deploy.ps1 -DomainName my-domain -Environment staging
# Deploy to production
.\scripts\deploy.ps1 -DomainName my-domain -Environment productionInteractive Setup
# Run interactive setup
.\scripts\setup.ps1� Troubleshooting
Common Issues & Solutions
"Service directory not found for domain"
# Problem: No service exists for the domain
# Solution: Check available services
node bin/deployment/enterprise-deploy.js list
# Or create a new service (if service creation tools are available)
# Ensure the service has proper domain configuration in src/config/domains.js"API token required for domain verification"
# Problem: No Cloudflare authentication
# Solution: The system will automatically prompt for API token
# Or manually set up wrangler auth:
npx wrangler login"D1 database discovery requires additional permissions"
# This is informational only - deployment continues successfully
# To enable D1 discovery, update your API token with:
# - Account:Read permissions
# - Cloudflare D1:Edit permissionsIntegration tests & DNS: how CI avoids ENOTFOUND
- Integration tests mock network calls when
TEST_URLis not provided to avoid DNS resolution failures (ENOTFOUND) in CI and developer environments. - To run integration tests against an actual deployment set
TEST_URLto your deployment URL, for example:
TEST_URL='https://your-service.workers.dev' npm run test:integration- Database integration tests are disabled by default for CI. Enable them by setting
RUN_DB_TESTS=true(orRUN_DB_TESTS=1) when you have a configured database and credentials available:
TEST_URL='https://your-service.workers.dev' RUN_DB_TESTS=true npm run test:integrationThis prevents flaky CI failures while still allowing full end-to-end verification when desired.
"npx command not found" on Windows
# Problem: Command configuration for cross-platform compatibility
# Solution: The system uses validation-config.json for command mapping
# Ensure npx is in your PATH or update the config fileDebug Mode
# Run with verbose logging
node bin/deployment/enterprise-deploy.js deploy --interactive --validation comprehensive
# Check specific domain configuration
node bin/deployment/enterprise-deploy.js discover your-domain.com�📚 Development Insights & Lessons Learned
Key Architecture Decisions
1. Interactive vs Hardcoded Parameters ✅
- Problem: Original system required domain as command argument
- Solution: Added
--interactiveflag for domain selection from discovered services - Impact: Much better UX, reduces deployment errors
2. Cross-Platform Command Compatibility ✅
- Problem: Hardcoded commands failed on different platforms (Windows vs Linux)
- Solution: Configurable command system via
validation-config.json - Impact: Seamless cross-platform operation
3. API Token Management ✅
- Problem: OAuth authentication insufficient for API operations
- Solution: Secure API token storage with AES-256-CBC encryption
- Impact: Reliable authentication with automated prompting
4. Service Discovery Intelligence ✅
- Problem: Expected exact directory names matching domains
- Solution: Smart discovery by checking
domains.jsconfiguration files - Impact: Flexible service organization and deployment
5. Real vs Mock Deployments ✅
- Problem: Mock deployments provided false success with undefined URLs
- Solution: Actual wrangler execution with URL extraction
- Impact: Real deployment validation and working services
Production-Ready Improvements Implemented
Graceful Error Handling
// D1 database discovery with permission graceful degradation
if (error.message.includes('401') || error.message.includes('Unauthorized')) {
console.log(`ℹ️ D1 database discovery requires additional API token permissions`);
console.log(`💡 To enable D1 discovery, ensure your API token has 'Account:Read' or 'Cloudflare D1:Edit' permissions`);
} else {
console.log(`⚠️ D1 database discovery failed: ${error.message}`);
}Smart Service Directory Discovery
// Find service directory by domain configuration rather than exact name match
for (const serviceDir of serviceDirs) {
const domainsPath = join(servicesDir, serviceDir, 'src', 'config', 'domains.js');
if (existsSync(domainsPath)) {
const domainsContent = await fs.readFile(domainsPath, 'utf8');
if (domainsContent.includes(domain)) {
servicePath = join(servicesDir, serviceDir);
break;
}
}
}Production Test Resilience
// Wait for deployment propagation before running tests
if (options.tests !== false && deploymentResult.url) {
this.logOutput('⏳ Waiting for deployment to propagate...', 'info');
await new Promise(resolve => setTimeout(resolve, 10000)); // 10 second delay
const testResult = await this.modules.productionTester.runProductionTests(deploymentUrl, options);
}🔮 Future Improvements
Phase 1: Service Autonomy
Goal: Each service becomes completely autonomous
Service-Level Integration
// Each service gets its own deployment module
service-repo/
├── deployment/
│ ├── deploy.js # Service-specific deployment
│ ├── config.js # Service deployment config
│ └── validators.js # Service validation logic
├── src/config/domains.js # Multi-domain configuration
└── package.json # Includes clodo-framework as dependencyReusable Component Library
import {
DomainDiscovery,
CloudflareManager,
DeploymentValidator,
ProductionTester
} from '@tamyla/clodo-framework';
// Each service imports only what it needs
const discovery = new DomainDiscovery({ domain: 'my-service.domain.com' });
await discovery.validateCloudflareSetup();Phase 2: Advanced Orchestration
- Dependency Resolution: Services declare dependencies on other services
- Blue-Green Deployments: Zero-downtime deployment patterns
- Canary Releases: Gradual rollout with automatic monitoring
- Multi-Region Deployment: Global service distribution
Phase 3: Enterprise Features
- Service Mesh Integration: Inter-service communication patterns
- Centralized Monitoring: Unified observability across all services
- Policy Management: Governance and compliance automation
- Cost Optimization: Resource usage monitoring and optimization
Current Framework Purpose
This framework currently serves as:
- Development Environment: Understanding deployment workflows and requirements
- Component Testing: Validating integration patterns and error handling
- Template Generation: Creating reusable patterns for service codebases
- Integration Standards: Defining how autonomous services should operate
Next Evolution: Extract successful patterns into lightweight libraries that individual services can import and use independently.
🎉 Recent Major Enhancement: Customer Configuration Management
The Clodo Framework has successfully incorporated enterprise-grade customer configuration management capabilities, transforming it from a single-service framework into a multi-customer, multi-environment enterprise platform.
✅ Successfully Incorporated Features
👥 Customer Isolation & Management
- Multi-customer support with isolated configuration namespaces
- Template-based customer onboarding from reusable configuration templates
- Customer registry with automatic domain registration
- Framework-safe design using mock values for development/testing
🏗️ Template-Driven Architecture
- Environment-specific templates (development.env.template, staging.env.template, production.env.template)
- Variable substitution with customer-specific placeholders (
{{CUSTOMER_NAME}},{{DOMAIN}}, etc.) - Automated configuration generation from templates to production-ready configs
- Template inheritance supporting cross-customer and cross-environment patterns
🔗 Framework Integration
- Domain system integration - customers automatically registered as domains
- Feature flag integration - customer-specific features managed through existing system
- Validation framework integration - customer configs validated using existing patterns
- CLI tool integration - customer management accessible via
npm run customer-config
🛠️ Developer Experience
- CLI tools:
create-customer,show,validate,list,deploy-command - Programmatic API: Full TypeScript/JavaScript API for customer management
- Framework mode: Mock-friendly for development without real infrastructure
- Service migration path: Generated configs can be copied to service repositories
🚀 Impact & Benefits
For Framework Users
- Zero breaking changes - all existing functionality preserved
- Enhanced capabilities - framework now supports enterprise customer scenarios
- Better testing - customer scenarios can be tested in framework environment
- Migration ready - smooth path from framework testing to service implementation
For Service Developers
- Customer-ready services - framework provides patterns for multi-customer support
- Automated onboarding - customer setup becomes template-driven process
- Consistent patterns - same customer management approach across all services
- Reduced duplication - shared customer configuration logic
For Enterprise Teams
- Multi-customer support - single framework handles multiple customer deployments
- Environment isolation - separate configs for dev/staging/production per customer
- Scalable architecture - customer management scales with business growth
- Governance & compliance - centralized customer configuration management
📊 Technical Implementation Highlights
Clean Architecture
- Separation of concerns: Framework provides tools, services manage customer data
- Mock-friendly: Framework mode uses placeholders, service mode uses real values
- Composable: Customer management integrates with existing domain/feature systems
- Testable: Full test coverage without requiring real Cloudflare infrastructure
Developer Workflow
# Framework development/testing
npm run customer-config create-customer testcorp testcorp.com
npm run customer-config show testcorp production
# Service implementation 