Skip to content

Technology Stack ​

Complete technical overview of ChirpIQX's documentation portal and MCP server infrastructure.


Documentation Portal Stack ​

Frontend Framework ​

VitePress - Static Site Generator

  • Version: 1.6.4
  • Lightning-fast Vue 3-based SSG
  • Built-in search with local indexing
  • Hot Module Replacement (HMR) for instant development feedback
  • Markdown-centric with Vue component support

Typography ​

Premium Font Pairing:

  • Body/Headings: Outfit - Geometric sans-serif
  • Code Blocks: JetBrains Mono - Monospace with ligatures
  • Source: Google Fonts CDN
  • Why: Professional, modern aesthetic with excellent readability

Syntax Highlighting ​

Shiki - Code Syntax Highlighter

  • Light theme: github-light (high contrast)
  • Dark theme: one-dark-pro (developer favorite)
  • Language support: TypeScript, JavaScript, Bash, JSON, YAML, Markdown
  • Line numbers enabled for code references

Styling ​

Custom CSS Theme - Hockey Arena Inspired

css
:root {
  /* Ice Blue Brand Colors */
  --vp-c-brand-1: #0891b2; /* Cyan-600 */
  --vp-c-brand-2: #06b6d4; /* Cyan-500 */

  /* Competitive Edge Accent */
  --vp-c-accent-1: #dc2626; /* Red-600 */

  /* Typography */
  --vp-font-family-base: 'Outfit', sans-serif;
  --vp-font-family-mono: 'JetBrains Mono', monospace;
}

Deployment ​

Cloudflare Workers - Edge Computing Platform

  • Static Assets: Served from 300+ global edge locations
  • Custom Domain: chirpiqx.com
  • SSL/TLS: Automatic HTTPS with Cloudflare certificate
  • CDN: Global distribution with sub-50ms response times
  • Build Tool: Wrangler CLI

Deployment Command:

bash
npm run docs:build  # VitePress builds to .vitepress/dist
wrangler deploy     # Uploads to Cloudflare Workers

Version Control ​

GitHub - Source Control & Collaboration


MCP Server Stack ​

Core Framework ​

Model Context Protocol (MCP) - AI-to-Tool Bridge

  • SDK: @modelcontextprotocol/sdk (TypeScript)
  • Transport: stdio (standard input/output)
  • Integration: Claude Desktop native support

Runtime & Language ​

Node.js + TypeScript

  • Node.js: v20+ (LTS)
  • TypeScript: ^5.x with strict mode
  • Build Tool: tsc (TypeScript Compiler)
  • Package Manager: npm or yarn

API Integration ​

NHL Public API

  • Authentication: none — the NHL's public API requires no key, token or account
  • Rate limits: none published; ChirpIQX caches per season to keep request volume low
  • Storage: pasted league state in local .chirp-data/ (git-ignored)
  • Rate Limits: ~10,000 requests/day per app
  • Data: Real-time player stats, league standings, transactions

Key Dependencies ​

json
{
  "@modelcontextprotocol/sdk": "^1.0.0",
  "typescript": "^5.0.0",
  "dotenv": "^16.0.0",
  "node-fetch": "^3.0.0"
}

External Services Setup ​

1. Claude Desktop ​

Download & Install:

macOS:

  • Download: claude.ai/download
  • Install: Drag to Applications folder
  • Config: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows:

  • Download: claude.ai/download
  • Install: Run .exe installer
  • Config: %APPDATA%\Claude\claude_desktop_config.json

MCP Configuration:

json
{
  "mcpServers": {
    "chirpiqx": {
      "command": "node",
      "args": [
        "/absolute/path/to/semantic-chirp-intelligence-mcp/build/index.js"
      ],
      "env": {
        "LEAGUE_ID": "your_league_id",
        "TEAM_ID": "your_team_id"
      }
    }
  }
}

2. NHL Public API ​

No setup. No key. No account.

ChirpIQX reads four endpoints, all unauthenticated:

EndpointProvides
club-schedule-season/{TEAM}/{SEASON}Full published season schedule per club
roster/{TEAM}/{SEASON}Current roster — 1,268 players league-wide
club-stats/{TEAM}/{SEASON}/2Season statistics for skaters and goalies
standings/nowStandings, used to rate opponent difficulty

All 32 clubs load in roughly 500ms cold, then serve from a season-scoped disk cache in .nhl-schedule-cache/.

Your own league state — roster, opponent, standings — comes from what you paste, and is stored locally in .chirp-data/. It never leaves your machine.

3. Cloudflare Setup ​

Account Setup:

  1. Create Account

  2. Install Wrangler CLI

    bash
    npm install -g wrangler
    wrangler login  # Opens browser for authentication
  3. Create Worker

    bash
    wrangler init semantic-chirp-docs
    # Select "static assets" template
  4. Configure wrangler.jsonc

    jsonc
    {
      "name": "semantic-chirp-docs",
      "compatibility_date": "2024-01-01",
      "assets": {
        "directory": ".vitepress/dist"
      }
    }
  5. Deploy

    bash
    npm run docs:build
    wrangler deploy
    # Returns: https://semantic-chirp-docs.YOUR_SUBDOMAIN.workers.dev

Custom Domain Setup:

  1. Add Domain to Cloudflare

    • Go to: dash.cloudflare.com
    • Add site → Enter chirpiqx.com
    • Update nameservers at domain registrar
  2. Configure Worker Route

    • Workers & Pages → Your Worker → Custom Domains
    • Add chirpiqx.com
    • DNS records created automatically
  3. SSL/TLS Settings

    • Automatic HTTPS enabled
    • Free SSL certificate provisioned
    • Force HTTPS redirect

Development Tools ​

Code Editor ​

Visual Studio Code (Recommended)

  • Extensions:
    • Volar (Vue Language Features)
    • TypeScript Vue Plugin
    • ESLint
    • Prettier

Git Workflow ​

Feature Branch Model:

bash
# Create feature branch
git checkout -b feature/new-tool-docs

# Make changes and commit
git add .
git commit -m "Add documentation for new tool"

# Push to remote
git push origin feature/new-tool-docs

# Create pull request on GitHub

Local Development ​

Start Dev Server:

bash
cd semantic-chirp-intelligence-mcp-docs
npm install
npm run docs:dev
# Opens: http://localhost:5173

Features:

  • ⚡ Hot Module Replacement (instant updates)
  • 🔍 Local search indexing
  • 📱 Mobile responsive preview
  • 🎨 Theme switcher (light/dark)

Build & Deploy ​

Production Build:

bash
npm run docs:build
# Output: .vitepress/dist (static files)
# Optimized, minified, ready for CDN

Deploy to Cloudflare:

bash
wrangler deploy
# Uploads to 300+ edge locations globally
# Returns: Live URL

Performance Optimizations ​

Build Optimizations ​

  • Code Splitting: Automatic route-based chunking
  • Tree Shaking: Removes unused code
  • Minification: CSS and JS compressed
  • Image Optimization: WebP format with fallbacks
  • Prefetching: Next-page assets preloaded

Runtime Optimizations ​

  • Edge Caching: Static assets cached at CDN edge
  • Gzip Compression: Automatic for all text assets
  • HTTP/2: Multiplexing for parallel requests
  • Resource Hints: preconnect for Google Fonts

Lighthouse Scores ​

Target metrics for chirpiqx.com:

  • Performance: 95+
  • Accessibility: 100
  • Best Practices: 100
  • SEO: 100

Monitoring & Analytics ​

Error Tracking ​

Cloudflare Workers Analytics:

  • Request volume
  • Error rates
  • Response times
  • Geographic distribution

Access:

bash
wrangler tail  # Live log streaming

Build Monitoring ​

GitHub Actions (Optional):

yaml
# .github/workflows/deploy.yml
name: Deploy Docs
on:
  push:
    branches: [main]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - run: npm install
      - run: npm run docs:build
      - run: wrangler deploy

Security ​

Best Practices ​

  1. No credentials: ChirpIQX holds no API keys, tokens or account bindings — there is nothing to leak
  2. Local-only state: your pasted roster stays in .chirp-data/, which is git-ignored and never transmitted
  3. Read-only: the only network calls are GETs to the NHL's public API
  4. HTTPS: Enforced via Cloudflare SSL
  5. CORS: Configured for API security

Secrets Management ​

Local Development:

bash
# .env (never commit)
YAHOO_CLIENT_ID=abc123
YAHOO_CLIENT_SECRET=xyz789

Cloudflare Workers:

bash
wrangler secret put YAHOO_CLIENT_ID
wrangler secret put YAHOO_CLIENT_SECRET

Open Source ​

Licensing ​

Documentation: CC BY 4.0 Code: MIT License

Contributing ​

See Contributing Guide for:

  • Code style guidelines
  • Pull request process
  • Documentation standards
  • Community guidelines

Resources ​

Official Documentation ​

Learning Resources ​

Community ​


Version History ​

VersionDateChanges
1.0.0Sep 2025Initial launch with Outfit typography
0.9.0Aug 2025Beta release with VitePress
0.1.0Jul 2025Project inception

Questions about the tech stack? Check the Architecture page or open a discussion.

Built with competitive intelligence for fantasy hockey champions. 🏒