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
: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:
npm run docs:build # VitePress builds to .vitepress/dist
wrangler deploy # Uploads to Cloudflare WorkersVersion Control
GitHub - Source Control & Collaboration
- Docs Repo: semanticintent/semantic-chirp-intelligence-mcp-docs
- Main Repo: semanticintent/semantic-chirp-intelligence-mcp
- Workflow: Feature branches → main → auto-deploy
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
- 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
{
"@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
.exeinstaller - Config:
%APPDATA%\Claude\claude_desktop_config.json
MCP Configuration:
{
"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:
| Endpoint | Provides |
|---|---|
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}/2 | Season statistics for skaters and goalies |
standings/now | Standings, 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:
Create Account
- Sign up: dash.cloudflare.com/sign-up
- Free tier includes Workers deployment
Install Wrangler CLI
bashnpm install -g wrangler wrangler login # Opens browser for authenticationCreate Worker
bashwrangler init semantic-chirp-docs # Select "static assets" templateConfigure wrangler.jsonc
jsonc{ "name": "semantic-chirp-docs", "compatibility_date": "2024-01-01", "assets": { "directory": ".vitepress/dist" } }Deploy
bashnpm run docs:build wrangler deploy # Returns: https://semantic-chirp-docs.YOUR_SUBDOMAIN.workers.dev
Custom Domain Setup:
Add Domain to Cloudflare
- Go to: dash.cloudflare.com
- Add site → Enter
chirpiqx.com - Update nameservers at domain registrar
Configure Worker Route
- Workers & Pages → Your Worker → Custom Domains
- Add
chirpiqx.com - DNS records created automatically
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:
# 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 GitHubLocal Development
Start Dev Server:
cd semantic-chirp-intelligence-mcp-docs
npm install
npm run docs:dev
# Opens: http://localhost:5173Features:
- ⚡ Hot Module Replacement (instant updates)
- 🔍 Local search indexing
- 📱 Mobile responsive preview
- 🎨 Theme switcher (light/dark)
Build & Deploy
Production Build:
npm run docs:build
# Output: .vitepress/dist (static files)
# Optimized, minified, ready for CDNDeploy to Cloudflare:
wrangler deploy
# Uploads to 300+ edge locations globally
# Returns: Live URLPerformance 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:
preconnectfor 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:
wrangler tail # Live log streamingBuild Monitoring
GitHub Actions (Optional):
# .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 deploySecurity
Best Practices
- No credentials: ChirpIQX holds no API keys, tokens or account bindings — there is nothing to leak
- Local-only state: your pasted roster stays in
.chirp-data/, which is git-ignored and never transmitted - Read-only: the only network calls are GETs to the NHL's public API
- HTTPS: Enforced via Cloudflare SSL
- CORS: Configured for API security
Secrets Management
Local Development:
# .env (never commit)
YAHOO_CLIENT_ID=abc123
YAHOO_CLIENT_SECRET=xyz789Cloudflare Workers:
wrangler secret put YAHOO_CLIENT_ID
wrangler secret put YAHOO_CLIENT_SECRETOpen 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
- VitePress: vitepress.dev
- Cloudflare Workers: developers.cloudflare.com/workers
- MCP SDK: modelcontextprotocol.io
- NHL Public API: api-web.nhle.com
- Claude Desktop: claude.ai/download
Learning Resources
- TypeScript Handbook: typescriptlang.org/docs
- Semantic Intent Pattern: semanticintent.dev
Community
- GitHub Discussions: semanticintent repos
- MCP Community: modelcontextprotocol.io/community
Version History
| Version | Date | Changes |
|---|---|---|
| 1.0.0 | Sep 2025 | Initial launch with Outfit typography |
| 0.9.0 | Aug 2025 | Beta release with VitePress |
| 0.1.0 | Jul 2025 | Project inception |
Questions about the tech stack? Check the Architecture page or open a discussion.
Built with competitive intelligence for fantasy hockey champions. 🏒
