UNPKG

business-as-code

Version:

Primitives for expressing business logic and processes as code

144 lines 8 kB
/** * business-as-code - Primitives for expressing business logic and processes as code * * This package provides primitives for defining business entities, goals, products, * services, processes, workflows, KPIs, OKRs, and financial metrics. * * @example * ```ts * import { Business, Product, Goals, kpis, okrs, financials, $ } from 'business-as-code' * * // Define your business * const company = Business({ * name: 'Acme Corp', * mission: 'To make widgets accessible to everyone', * values: ['Innovation', 'Customer Focus', 'Integrity'], * }) * * // Define products * const product = Product({ * name: 'Widget Pro', * pricingModel: 'subscription', * price: 99, * cogs: 20, * }) * * // Define goals * const goals = Goals([ * { * name: 'Launch MVP', * category: 'strategic', * status: 'in-progress', * progress: 65, * }, * ]) * * // Track KPIs * const kpiList = kpis([ * { * name: 'Monthly Recurring Revenue', * category: 'financial', * target: 100000, * current: 85000, * }, * ]) * * // Define OKRs * const okrList = okrs([ * { * objective: 'Achieve Product-Market Fit', * keyResults: [ * { * description: 'Increase NPS', * metric: 'NPS', * targetValue: 60, * currentValue: 52, * }, * ], * }, * ]) * * // Calculate financials * const metrics = financials({ * revenue: 1000000, * cogs: 300000, * operatingExpenses: 500000, * }) * * // Use $ helper for calculations * console.log($.format(1234.56)) // "$1,234.56" * console.log($.growth(120, 100)) // 20 * console.log($.margin(100, 60)) // 40 * ``` * * @packageDocumentation */ // Export business entity functions export { Business, getTotalBudget, getTotalTeamSize, getDepartment, getTeam, validateBusiness, } from './business.js'; // Export vision functions export { Vision, checkIndicator, calculateProgress, validateVision } from './vision.js'; // Export goal functions export { Goals, Goal, updateProgress, markAtRisk, complete, isOverdue, getGoalsByCategory, getGoalsByStatus, getGoalsByOwner, calculateOverallProgress, hasCircularDependencies, sortByDependencies, validateGoals, // org.ai conversions toOrgGoal, fromOrgGoal, } from './goals.js'; // Export product functions export { Product, calculateGrossMargin, calculateGrossProfit, getRoadmapByStatus, getRoadmapByPriority, getOverdueRoadmapItems, updateRoadmapItem, addFeature, removeFeature, validateProduct, } from './product.js'; // Export service functions export { Service, calculateHourlyPrice, calculateMonthlyRetainer, checkSLAUptime, parseDeliveryTimeToDays, estimateCompletionDate, calculateValueBasedPrice, validateService, } from './service.js'; // Export process functions export { Process, getStepsInOrder, getStepsByAutomationLevel, calculateTotalDuration, formatDuration, calculateAutomationPercentage, getMetric, meetsTarget, calculateMetricAchievement, updateMetric, addStep, removeStep, validateProcess, } from './process.js'; // Export workflow functions export { Workflow, getActionsInOrder, getActionsByType, getConditionalActions, addAction, removeAction, updateAction, isEventTrigger, isScheduleTrigger, isWebhookTrigger, parseWaitDuration, evaluateCondition, fillTemplate, validateWorkflow, } from './workflow.js'; // Export KPI functions export { kpis, kpi, calculateAchievement, meetsTarget as kpiMeetsTarget, updateCurrent, updateTarget, getKPIsByCategory, getKPIsByFrequency, getKPIsOnTarget, getKPIsOffTarget, calculateHealthScore, groupByCategory, calculateVariance, calculateVariancePercentage, formatValue, comparePerformance, validateKPIs, // org.ai conversions toOrgKPI, fromOrgKPI, } from './kpis.js'; // Export OKR functions export { okrs, okr, calculateKeyResultProgress, calculateOKRProgress, calculateConfidence, updateKeyResult, isKeyResultOnTrack, isOKROnTrack, getKeyResultsOnTrack, getKeyResultsAtRisk, getOKRsByOwner, getOKRsByPeriod, getOKRsByStatus, calculateSuccessRate, formatKeyResult, compareOKRPerformance, validateOKRs, // org.ai conversions toOrgOKR, fromOrgOKR, toOrgKeyResult, fromOrgKeyResult, } from './okrs.js'; // Export financial functions export { financials, calculateGrossMargin as calculateFinancialGrossMargin, calculateOperatingMargin, calculateNetMargin, calculateEBITDAMargin, calculateBurnRate, calculateRunway, calculateCAC, calculateLTV, calculateLTVtoCAC, calculatePaybackPeriod, calculateARR, calculateMRR, calculateGrowthRate, calculateCAGR, calculateROI, calculateROE, calculateROA, calculateQuickRatio, calculateCurrentRatio, calculateDebtToEquity, formatCurrency, createStatement, getLineItem, compareMetrics, validateFinancials, } from './financials.js'; // Export $ helper and context management export { $, createBusinessOperations, updateContext, getContext, resetContext } from './dollar.js'; export { // SaaS Metric Calculation functions (produce structured SaaS metric objects) calculateMRR as calculateMRRMetric, calculateARRFromMRR as calculateARRMetric, calculateNRR as calculateNRRMetric, calculateGRR as calculateGRRMetric, calculateCACMetric, calculateLTVMetric, calculateLTVtoCACRatio, calculateQuickRatioMetric, calculateMagicNumberMetric, calculateBurnMultipleMetric, calculateRuleOf40Metric, calculateGrowthRates, calculateChurnMetrics, // Time-series aggregation aggregateTimeSeries, createMetricPeriod, } from './metrics.js'; export { // Standard definitions StandardDimensions, StandardMeasures, CalculatedMetrics, // Builders query, QueryBuilder, view, ViewBuilder, dashboard, DashboardBuilder, // Pre-built queries MrrOverview, ArrBySegment, CohortRetention, UnitEconomics, RevenueByChannel, GrowthMetrics, // Pre-built dashboards ExecutiveDashboard, } from './queries.js'; export { StandardBusinessRoles, createBusinessRole, hasPermission, canHandleTask, canApproveRequest, canDelegateTask, findRoleForTask, createTaskAssignment, transitionTaskStatus, // Conversion helpers workerRefToAssignee, assigneeToWorkerRef, } from './roles.js'; export { resolvePermissions, getApprovalChainForRequest, findManager } from './organization.js'; // ============================================================================= // Entity Definitions (Noun pattern with Properties, Actions, Events) // ============================================================================= export { // Business Business as BusinessEntity, Vision as VisionEntity, Value as ValueEntity, BusinessEntities, BusinessCategories, // Organization Organization as OrganizationEntity, Department as DepartmentEntity, Team as TeamEntity, Position as PositionEntity, Role as RoleEntity, Worker as WorkerEntity, OrganizationEntities, OrganizationCategories, // Goals Goal as GoalEntity, OKR as OKREntity, KeyResult as KeyResultEntity, KPI as KPIEntity, Metric as MetricEntity, Initiative as InitiativeEntity, GoalEntities, GoalCategories, // Offerings Product as ProductEntity, Service as ServiceEntity, Feature as FeatureEntity, PricingPlan as PricingPlanEntity, RoadmapItem as RoadmapItemEntity, OfferingEntities, OfferingCategories, // Operations Process as ProcessEntity, ProcessStep as ProcessStepEntity, Workflow as WorkflowEntity, WorkflowAction as WorkflowActionEntity, WorkflowRun as WorkflowRunEntity, Policy as PolicyEntity, OperationsEntities, OperationsCategories, // Financials Budget as BudgetEntity, Revenue as RevenueEntity, Expense as ExpenseEntity, Investment as InvestmentEntity, FinancialPeriod as FinancialPeriodEntity, Forecast as ForecastEntity, FinancialEntities, FinancialCategories, // All AllBusinessEntities, BusinessEntityCategories, Entities, } from './entities/index.js'; // ============================================================================= // Business Model Canvas (TODO: implement canvas module) // ============================================================================= // Canvas functionality is planned but not yet implemented //# sourceMappingURL=index.js.map