npm Package Architecture
Copy
┌─────────────────────────────────────────────────────────────────────────────────┐
│ │
│ @monolex/codexmono │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ fonts/ │ │
│ │ ├── ttf/ ├── woff2/ │ │
│ │ │ ├── CodexMono.ttf │ └── (same, ~60% smaller) │ │
│ │ │ ├── CodexMono-KR.ttf │ │ │
│ │ │ ├── CodexMono-Traditional.ttf│ │ │
│ │ │ └── CodexMono-EA.ttf │ │ │
│ │ │ │
│ │ bin/cli.js CLI installer │ │
│ │ css/codexmono.css @font-face presets │ │
│ │ licenses/ SIL OFL 1.1 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
Font Variants
Copy
┌─────────────────────────────────────────────────────────────────────────────────┐
│ VARIANT │ SIZE │ CHARACTERS │ USE CASE │
├─────────────────────────────┼─────────────┼──────────────┼──────────────────────┤
│ CodexMono │ 679 KB │ 4,007 │ Latin │
│ CodexMono-KR │ 5.8 MB │ 15,132 │ Korean/Japanese │
│ CodexMono-Traditional │ 17.2 MB │ 33,726 │ Traditional Chinese │
│ CodexMono-EA │ 18.4 MB │ 36,440 │ All CJK │
└─────────────────────────────┴─────────────┴──────────────┴──────────────────────┘
CLI Installation
Copy
┌─────────────────────────────────────────────────────────────────────────────────┐
│ │
│ INSTALLATION FLOW │
│ │
│ $ npm install -g @monolex/codexmono │
│ │ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ Download Package │ From npm registry │
│ └────────┬────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ Show Philosophy │ "CodexMono is a commitment to strict monospace" │
│ └────────┬────────┘ │
│ │ │
│ ▼ │
│ │
│ $ codexmono │
│ │ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ Detect Platform │ │
│ └────────┬────────┘ │
│ │ │
│ ┌─────┴─────┬───────────┐ │
│ ▼ ▼ ▼ │
│ macOS Linux Windows │
│ ~/Library/ ~/.local/ C:\Windows\ │
│ Fonts/ share/fonts/ Fonts\ │
│ │ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ Copy TTF Files │ All 4 variants │
│ └────────┬────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ Done. 4 fonts installed successfully. │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
CLI Commands
Copy
┌─────────────────────────────┬───────────────────────────────────────────────────┐
│ COMMAND │ DESCRIPTION │
├─────────────────────────────┼───────────────────────────────────────────────────┤
│ codexmono │ Install fonts (default) │
│ codexmono install │ Install fonts to system │
│ codexmono uninstall │ Remove fonts from system │
│ codexmono list │ Show installation status │
│ codexmono --help │ Show help │
│ codexmono --version │ Show version │
└─────────────────────────────┴───────────────────────────────────────────────────┘
Which Installation Method?
Copy
┌─────────────────────────────────────────────────────────────────────────────────┐
│ │
│ DECISION TREE │
│ │
│ ┌─────────────┐ │
│ │ START │ │
│ └──────┬──────┘ │
│ │ │
│ ┌───────────▼───────────┐ │
│ │ Need system-wide │ │
│ │ font installation? │ │
│ └───────────┬───────────┘ │
│ YES │ NO │
│ ┌─────────────────┼─────────────────┐ │
│ │ │ │
│ ┌─────────▼─────────┐ ┌─────────▼─────────┐ │
│ │ One-time install? │ │ Web project? │ │
│ └─────────┬─────────┘ └─────────┬─────────┘ │
│ YES │ NO YES │ NO │
│ │ │ │
│ ┌────┴────┐ ┌────┴────┐ │
│ ▼ ▼ ▼ ▼ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ npx │ │ Global │ │ Project │ │ API Only │ │
│ │ │ │ Install │ │ Dep │ │ │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
Method Details
Copy
┌─────────────────────────────────────────────────────────────────────────────────┐
│ │
│ ONE-TIME (npx) │
│ ───────────────────────────────────────────── │
│ │
│ $ npx @monolex/codexmono │
│ │
│ Downloads, installs fonts, cleans up automatically. │
│ │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ GLOBAL (system-wide CLI) │
│ ───────────────────────────────────────────── │
│ │
│ $ npm install -g @monolex/codexmono │
│ $ codexmono │
│ │
│ CLI available system-wide for repeated use. │
│ │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ PROJECT DEP (web projects) │
│ ───────────────────────────────────────────── │
│ │
│ $ npm install @monolex/codexmono │
│ import '@monolex/codexmono/css/codexmono.css'; │
│ │
│ Fonts bundled with your project. │
│ │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ API ONLY (metadata access) │
│ ───────────────────────────────────────────── │
│ │
│ const codexmono = require('@monolex/codexmono'); │
│ console.log(codexmono.fonts.ea.characters); // 36440 │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
CSS Presets
Copy
┌─────────────────────────────────────────────────────────────────────────────────┐
│ │
│ CSS PRESETS STRUCTURE │
│ │
│ codexmono.css │
│ │ │
│ ├── @FONT-FACE DECLARATIONS │
│ │ ├── CodexMono (Latin core) │
│ │ ├── CodexMono KR (Korean + Japanese) │
│ │ ├── CodexMono Traditional (Traditional Chinese) │
│ │ └── CodexMono EA (Complete CJK) │
│ │ │
│ ├── UTILITY CLASSES │
│ │ ├── .codexmono font-family: 'CodexMono', monospace │
│ │ ├── .codexmono-kr font-family: 'CodexMono KR', monospace │
│ │ ├── .codexmono-traditional font-family: 'CodexMono Traditional' │
│ │ └── .codexmono-ea font-family: 'CodexMono EA', monospace │
│ │ │
│ └── WEIGHT HELPERS (Variable Font) │
│ ├── .codexmono-thin 100 │
│ ├── .codexmono-extralight 200 │
│ ├── .codexmono-light 300 │
│ ├── .codexmono-regular 400 │
│ ├── .codexmono-medium 500 │
│ ├── .codexmono-semibold 600 │
│ ├── .codexmono-bold 700 │
│ └── .codexmono-extrabold 800 │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
Smart Font Loading
Copy
┌─────────────────────────────────────────────────────────────────────────────────┐
│ │
│ ON-DEMAND FONT LOADING │
│ │
│ ┌─────────────────────────────┬────────────────────────────────────────────┐ │
│ │ PAGE CONTENT │ FONTS DOWNLOADED │ │
│ ├─────────────────────────────┼────────────────────────────────────────────┤ │
│ │ English only │ CodexMono.woff2 (250 KB) │ │
│ │ English + Korean │ + CodexMono-KR.woff2 (2.5 MB) │ │
│ │ English + All CJK │ + CodexMono-EA.woff2 (7.6 MB) │ │
│ └─────────────────────────────┴────────────────────────────────────────────┘ │
│ │
│ Browser loads font files ONLY when matching characters appear on page. │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ font-display: swap │ │
│ ├─────────────────────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ Show fallback font immediately, swap when CodexMono loads. │ │
│ │ Monospace fallback (Courier, Menlo) maintains alignment. │ │
│ │ Content readability > aesthetic perfection. │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
License: SIL OFL 1.1
Copy
┌─────────────────────────────────────────────────────────────────────────────────┐
│ │
│ SIL OPEN FONT LICENSE 1.1 │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ PERMITTED │ │
│ ├─────────────────────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ USE Any project (commercial, open source, personal) │ │
│ │ COPY Unlimited copies, distribute to team │ │
│ │ EMBED PDFs, apps, websites │ │
│ │ MODIFY Add glyphs, adjust metrics, create subsets │ │
│ │ REDISTRIBUTE Include in software, host on CDN │ │
│ │ SELL (with) Sell software that includes CodexMono │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ RESTRICTED │ │
│ ├─────────────────────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ NO STANDALONE SALE Cannot sell CodexMono as a font product │ │
│ │ RESERVED NAMES Cannot use "JetBrains Mono" in derivatives │ │
│ │ LICENSE PRESERVATION Derivatives must remain SIL OFL 1.1 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
The License Chain
Copy
┌─────────────────────────────────────────────────────────────────────────────────┐
│ │
│ UNBREAKABLE LICENSE CHAIN │
│ │
│ JetBrains Mono (Original) │
│ │ │
│ │ SIL OFL 1.1 + 600 units │
│ ▼ │
│ CodexMono (Derivative) │
│ │ │
│ │ SIL OFL 1.1 (preserved) + CJK extensions │
│ ▼ │
│ [YourFont] CodexMono (Your Derivative) │
│ │ │
│ │ SIL OFL 1.1 (MUST be preserved) │
│ ▼ │
│ The chain continues forever... │
│ Trust propagates through the chain. │
│ │
│ ─────────────────────────────────────────────────────────────────────────── │
│ │
│ TRUST = WIDTH x NAME x LICENSE │
│ │
│ If any factor is zero, trust is zero. │
│ SIL OFL ensures the license factor is always 1. │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
Zero Dependencies
Copy
┌─────────────────────────────────────────────────────────────────────────────────┐
│ │
│ WHY ZERO EXTERNAL DEPENDENCIES │
│ │
│ The CLI uses ONLY Node.js built-in modules: │
│ │
│ child_process Shell commands │
│ fs File operations │
│ path Path handling │
│ os Platform detection │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ BENEFITS │ │
│ ├─────────────────────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ No npm install failures from nested dependencies │ │
│ │ No security vulnerabilities from third-party code │ │
│ │ Works on Node.js 12+ (wide compatibility) │ │
│ │ Package size is fonts only │ │
│ │ No node_modules bloat │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ SMPC APPLIED: │
│ │
│ CHAOS: All possible npm features, complex build systems │
│ PART: Only essential: fonts, CLI, CSS, license │
│ MANAGED: Zero dependencies, built-in modules only │
│ SIMPLE: npm install -g @monolex/codexmono && codexmono │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
Summary
Copy
┌─────────────────────────────────────────────────────────────────────────────────┐
│ │
│ Component Purpose │
│ ───────────────────────────────────────────────────────────────────────────── │
│ fonts/ TTF + WOFF2 files │
│ bin/cli.js System font installer │
│ css/codexmono.css @font-face presets │
│ licenses/ SIL OFL 1.1 texts │
│ │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ Traditional: Find font > Download > Manual install > Configure each app │
│ │
│ CodexMono: npm install -g @monolex/codexmono && codexmono │
│ Done. │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘