UNPKG

business-as-code

Version:

Primitives for expressing business logic and processes as code

227 lines (178 loc) 6.73 kB
# Business-as-Code Implementation ## Overview The `business-as-code` package provides primitives for expressing business logic and processes as code. It includes comprehensive TypeScript types and functions for defining: - Business entities and organizational structures - Vision statements and strategic goals - Products and services with pricing models - Business processes and workflows - Key Performance Indicators (KPIs) - Objectives and Key Results (OKRs) - Financial metrics and calculations - Business operations helper ($) ## Package Structure ``` src/ ├── index.ts # Main exports ├── types.ts # Core TypeScript types (11KB) ├── business.ts # Business entity functions ├── vision.ts # Vision statement functions ├── goals.ts # Goal management functions ├── product.ts # Product definition functions ├── service.ts # Service definition functions ├── process.ts # Business process functions ├── workflow.ts # Workflow automation functions ├── kpis.ts # KPI tracking functions ├── okrs.ts # OKR management functions ├── financials.ts # Financial calculations ├── dollar.ts # $ business operations helper └── index.test.ts # Comprehensive tests (27 tests) examples/ └── basic-usage.ts # Complete usage example dist/ # Compiled output (52 files) ``` ## Implementation Details ### Core Types (types.ts) Defines comprehensive TypeScript interfaces for: - `BusinessDefinition` - Complete business entity structure - `GoalDefinition` - Strategic and operational goals - `ProductDefinition` - Product specifications with roadmap - `ServiceDefinition` - Service offerings with SLA - `ProcessDefinition` - Business process steps and metrics - `WorkflowDefinition` - Automated workflow sequences - `KPIDefinition` - Key performance indicators - `OKRDefinition` - Objectives and key results - `FinancialMetrics` - Financial statements and calculations - `BusinessOperations` - $ helper interface ### Main Functions 1. **Business()** - Define business entity - Organizational structure with departments and teams - Mission, values, and metadata - Budget and team size tracking 2. **Vision()** - Define vision statement - Strategic direction - Success indicators - Timeframe tracking 3. **Goals()** - Define and track goals - Goal categories (strategic, operational, financial, etc.) - Progress tracking (0-100%) - Dependency management - Status tracking (not-started, in-progress, at-risk, completed) 4. **Product()** - Define products - Pricing models (one-time, subscription, usage-based, freemium, tiered) - Cost of goods sold (COGS) - Product roadmap - Gross margin calculations 5. **Service()** - Define services - Pricing models (hourly, fixed, retainer, value-based) - Service level agreements (SLA) - Delivery time estimation 6. **Process()** - Define business processes - Process steps with automation levels - Duration calculations - Automation percentage tracking - Process metrics 7. **Workflow()** - Define automated workflows - Event, schedule, webhook, and manual triggers - Action sequences (send, create, update, delete, notify, call, wait) - Conditional execution - Template variable substitution 8. **kpis()** - Track key performance indicators - Categories (financial, customer, operations, people, growth) - Target vs. current value tracking - Achievement calculations - Health score aggregation 9. **okrs()** - Define OKRs - Objective statements - Key results with progress tracking - Confidence scoring - Status management 10. **financials()** - Calculate financial metrics - Gross profit and margin - Operating income and margin - Net income and margin - EBITDA and margin - Burn rate and runway - Customer acquisition cost (CAC) - Customer lifetime value (LTV) - Return on investment (ROI) 11. **$** - Business operations helper - Currency formatting - Percentage calculations - Growth rate calculations - Margin calculations - ROI calculations - LTV/CAC calculations - Burn rate and runway - Business context management ## Key Features ### Type Safety - Comprehensive TypeScript types - Full IntelliSense support - Compile-time validation ### Validation - Input validation for all functions - Error messages for invalid data - Circular dependency detection (goals) - Constraint checking (budgets, progress, etc.) ### Calculations - Financial metrics (margins, ROI, etc.) - Progress tracking (goals, OKRs) - Time-based calculations (duration, runway) - Achievement percentages ### Flexibility - Optional fields with sensible defaults - Metadata support on all entities - Extensible interfaces - Multiple pricing models ## Test Coverage 27 comprehensive tests covering: - Business entity creation and validation - Vision statement validation - Goal progress tracking and dependencies - Product gross margin calculations - Service pricing models - Process automation tracking - Workflow trigger validation - KPI target achievement - OKR progress calculations - Financial metric calculations - $ helper utility functions All tests passing ✓ ## Build Output Successfully compiled to: - JavaScript (ES modules) - TypeScript declarations (.d.ts) - Source maps (.js.map, .d.ts.map) Total: 52 files in dist/ directory ## Dependencies - `ai-functions` (workspace:*) - For AI integrations ## Next Steps The package is fully implemented and ready for use. Potential enhancements: 1. Add more financial calculations (DCF, NPV, IRR) 2. Add forecasting functions 3. Add data visualization helpers 4. Add export functions (CSV, Excel, PDF) 5. Add time-series analysis for KPIs and financials 6. Add goal/OKR templates for common scenarios 7. Integration with actual data sources 8. Reporting and dashboard generation ## Usage Example See `examples/basic-usage.ts` for a complete working example demonstrating all features. ```typescript import { Business, Goals, Product, kpis, okrs, financials, $ } from 'business-as-code' // Define business const company = Business({ name: 'Acme Corp', ... }) // Track goals const goals = Goals([...]) // Define products const product = Product({ name: 'Widget Pro', price: 99, ... }) // Track KPIs const kpiList = kpis([...]) // Define OKRs const okrList = okrs([...]) // Calculate financials const metrics = financials({ revenue: 1000000, ... }) // Use $ helper console.log($.format(1234.56)) // "$1,234.56" console.log($.growth(120, 100)) // 20 ```