Skip to content

Strategic Guide — Metrics

> Canonical framework statistics for KernDX. All other documents should link here rather than hardcoding numbers. Update this file when the codebase changes.

Part of the KernDX Strategic Guide.

Last verified: 2026-06-13 (drift reconciliation against the post-Kern 1.1.0-11 dev tree) Source: Counts derive from the force-app/ source tree and from git log at the snapshot date. Update this file when the codebase changes.


Table of Contents

Expand
  1. Package Codebase
  2. Org Apex Usage (Unmanaged)
  3. Global API Surface
  4. Subscriber Extension Points
  5. LWC Components
  6. Salesforce Metadata
  7. Documentation
  8. Code Quality & Scanning
  9. Subscriber Release Testing
  10. E2E Tests (Playwright)
  11. Combined Test Coverage
  12. Activity Snapshot
  13. Comparator Set

Package Codebase

MetricCountNotes
Apex classes (total)363sum of production + test
Apex production classes189force-app/main/default/classes/*.cls excluding _TEST.cls
Apex test classes174force-app/main/default/classes/*_TEST.cls
Apex test methods3,742counted from force-app/main/default/classes/*_TEST.cls (method-level @IsTest annotations; class-level @IsTest(...) annotations are excluded)
Apex test coverage100% per-fileenforced at every release build by scripts/evaluate-coverage.js
Lines of code (production Apex)~81Kcounted from force-app/main/default/classes/*.cls excluding _TEST.cls
Lines of code (test Apex)~79Kcounted from force-app/main/default/classes/*_TEST.cls
Lines of code (production LWC)~13Kcounted from force-app/main/default/lwc/**/*.js excluding .test.js
Lines of code (LWC Jest tests)~31Kcounted from force-app/main/default/lwc/**/*.test.js
Lines of code (total)~205Ksum of the rows above
Source API version67.0visible in Setup → Installed Packages → Kern → API Version; also in sfdx-project.json
Latest packaged version1.1.0-11 (released)sfdx-project.json packageAliases

Org Apex Usage (Unmanaged)

MetricValue
Apex characters in use~990K
Apex character limit10,000,000
Percent of limit used~10%

> Visible in Setup → Apex Classes → view limit bar; the ~990K figure is approximate and was last measured against an earlier 1.0.0-x build (the current build has 363 Apex classes > total). Includes all Apex classes and triggers defined in the org, excluding comments and @IsTest annotated classes. Managed package code does not count toward this limit.

Global API Surface

MetricCount
Global classes (top-level)95
Global interfaces (top-level)4
Global inner classes~94
Global inner interfaces~26
Global inner enums~16
Global methods~546

Subscriber Extension Points

> Where subscribers plug into the framework. The Global API Surface section covers raw symbol counts; this section organises the integration seams by how > subscribers consume them.

Metadata-Configured (no code required)

MetricRecordsNotes
TriggerSetting__mdt6
TriggerAction__mdt6
FeatureFlag__mdt11
FeatureFlagStrategy__mdt2
ApiSetting__mdt4
ApiCredential__mdt3
MaskingRule__mdt183 active by default (MaskSecretKeys, MaskPaymentCard, and the legacy MaskCreditCard it replaces), 15 shipped as inactive templates
MaskingTarget__mdt12Wildcards wiring the card and secret rules to ApiCall__c, ApiIssue__c, AsyncChainExecution__c, and LogEntryEvent__e (4 of the 12 belong to the replaced credit-card rule)
ApiMock__mdt0Extensibility-only — no pre-built records
ValidationRuleGroup__mdt0Extensibility-only — no pre-built records
ValidationRule__mdt0Extensibility-only — no pre-built records
ClassTypeResolver__mdt0Extensibility-only — no pre-built records
AsynchronousJobSetting__mdt0Extensibility-only — no pre-built records
FieldSetGroup__mdt0Extensibility-only — no pre-built records
Total pre-built CMDT records62

Code-Level (extend or implement)

MetricCountComposition
Base classes to extend8SEL_Base, TRG_Base, API_Outbound, API_Inbound, SCHED_Base, DTO_JsonBase, UTIL_TypeResolver.BaseClassResolver, TST_Builder.DefaultValueProvider
Top-level interfaces4IF_Queryable, IF_Schedulable, IF_Search, IF_TableDataSource
IF_Trigger inner interfaces7BeforeInsert, AfterInsert, BeforeUpdate, AfterUpdate, BeforeDelete, AfterDelete, AfterUndelete
IF_Async inner interfaces2Processable, Finishable
Other inner interfaces4IF_Chain.Step, QRY_Condition.Evaluable, UTIL_TypeResolver.INT_ClassTypeResolver, SVC_Omnistudio.OmniCallable
ComponentBuilder LWC modules6notification, controller, navigation, lightning-message, flow-navigation, all

Declarative (Flow Builder / Lightning App Builder)

MetricCount
Flow invocable actions (FLOW_*)16
Exposed LWC components30
LWC with Lightning page targets13
— App Page9
— Home Page7
— Record Page6
— Flow Screen5
— Record Action1
Pre-built flows5
Platform events1 (LogEntryEvent__e)

LWC Components

MetricCountNotes
LWC components (total)63force-app/main/default/lwc/**/
Jest test files65counted from force-app/main/default/lwc/**/*.test.js
Jest test cases~2,660counted across all Jest test files
Jest test coverage100% statement / 95%+ branchenforced at every release build by scripts/evaluate-coverage.js

Salesforce Metadata

MetricCount
Custom objects (__c)10
Custom metadata types (__mdt)14
Platform events (__e)1 (LogEntryEvent__e)
Pre-built CMDT records62

Documentation

MetricCountNotes
Developer guides20Excluding the Strategic Guide series; counted from docs/*%20-%20Guide.md
Fast Start guides16
Strategic Guide documents9Overview + Architecture & Philosophy + Adoption + Operations + Risks + Glossary + Personas + Metrics + Choosing a Framework
API reference pages (Apex)239
API reference pages (metadata)16
API reference pages (objects)11
API reference pages (events)2
API reference pages (total)268sum of all reference categories
Total documentation files (developer-focused)4520 developer guides + 16 Fast Start guides + 9 Strategic Guide documents (excluding reference/)

> Headline figure used in companion docs: 36 developer documents (20 guides + 16 Fast Starts) + 263 API reference pages. The 263 figure includes the Security Guide (separately > tracked at 2,027 lines) alongside the 262 categorised reference pages.

Code Quality & Scanning

MetricCount
PMD rules (KernDX custom)25
ESLint rules (KernDX custom)6

Subscriber Release Testing

MetricCount
Subscriber Apex classes (production)56
Subscriber test classes39
Subscriber test methods175
Anonymous Apex test sections71
Anonymous Apex assertions (PASS:)350
Anonymous Apex assertions (Assert.)471

E2E Tests (Playwright)

MetricCount
Spec files9
Test cases57
Page objects12
Helper modules6
CMDT fixture states15

Combined Test Coverage

LayerTestsAssertions
Package Apex tests3,390 methods~6,076
Package Jest tests~2,282 cases~3,591
Subscriber Apex tests166 methods~203
Subscriber anonymous Apex71 sections350
Subscriber E2E (Playwright)57 cases~163
Total~5,966~10,383

Activity Snapshot

Distribution-maturity figures at the snapshot date (2026-05-09), reported separately from capability coverage so that activity duration does not skew capability comparisons. Figures derive from sfdx-project.json packageAliases.

MetricValueSource
Published managed-package versions107sfdx-project.json packageAliases: 04tfj000000EtB7AAK through 04tfj000000KesXAAS
Latest packaged version1.1.0-11 (released)sfdx-project.json packageAliases
Primary contributors1single-maintainer project

> KernDX is a young, single-maintainer project whose distribution maturity is carried by 107 published managed-package version IDs rather than by a long public commit history.

Comparator Set

KernDX is compared against a set of alternative Salesforce frameworks across the same capability areas. The Adoption and Architecture guides cover area-by-area coverage notes; the Risks guide covers maintenance and bus-factor considerations.


Strategic Guide (Overview)