Skip to content

alohays/monitor-forge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

46 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

monitor-forge

Build real-time intelligence dashboards with AI agents.

The first agent-native dashboard framework β€” designed for Claude Code, Gemini CLI, and other AI coding agents to build customized dashboards through conversation.

CI License: MIT Node.js TypeScript GitHub release

Quick Start Β· Why monitor-forge? Β· Presets Β· CLI Reference Β· Contributing


"I want a dashboard tracking Korean robotics news with AI analysis."

That's it. Tell an AI agent, and monitor-forge builds it.

Why monitor-forge?

WorldMonitor proved the demand β€” 25K+ stars and 4,100+ forks. But every fork requires manual customization: editing source code, rebuilding, and redeploying.

monitor-forge inverts this: describe what you want, and an AI agent builds it using a structured CLI.

WorldMonitor Manual Fork monitor-forge
Setup time N/A (single purpose) Hours to days Minutes
Customization Edit source code Edit source code CLI commands
AI agent support None None Native (AGENTS.md, Skills)
Domain presets 1 1 per fork 7 included
AI analysis None DIY Built-in (Groq/OpenRouter)
Adding sources Edit code Edit code forge source add
Deploy Manual Manual One-click (Vercel)

Architecture

flowchart LR
    subgraph CLI["πŸ› οΈ forge CLI"]
        CMD(["forge commands"])
        CFG[("config.json")]
        CMD ==> CFG
    end

    subgraph BUILD["βš™οΈ Build Pipeline"]
        GEN{{"Manifest Generator"}}
        SM["source-manifest"]
        LM["layer-manifest"]
        PM["panel-manifest"]
        CR["config-resolved"]
        GEN ==> SM
        GEN ==> LM
        GEN ==> PM
        GEN ==> CR
    end

    subgraph APP["πŸ–₯️ Frontend"]
        MAP(["MapEngine<br/>MapLibre + deck.gl"])
        PNL(["PanelManager<br/>6 panel types"])
        SRC(["SourceManager<br/>RSS / API / WS"])
        AIM(["AIManager<br/>Groq / OpenRouter"])
        SRC ==> PNL
        SRC ==> AIM
        AIM ==> PNL
    end

    subgraph EDGE["☁️ Vercel Edge Functions"]
        NEWS["news/v1"]
        PROXY["proxy/v1"]
        AIEP["ai/v1"]
    end

    CFG ==> GEN
    SM & LM & PM & CR ==> APP
    SRC <--> EDGE

    classDef cli fill:#1565C0,stroke:#0D47A1,stroke-width:2px,color:#fff
    classDef build fill:#2E7D32,stroke:#1B5E20,stroke-width:2px,color:#fff
    classDef frontend fill:#D84315,stroke:#BF360C,stroke-width:2px,color:#fff
    classDef edge fill:#7B1FA2,stroke:#4A148C,stroke-width:2px,color:#fff

    class CMD,CFG cli
    class GEN,SM,LM,PM,CR build
    class MAP,PNL,SRC,AIM frontend
    class NEWS,PROXY,AIEP edge
Loading

Quick Start

git clone https://github.com/YOUR_USERNAME/monitor-forge.git my-monitor
cd my-monitor
npm install    # auto-generates manifests
npm run dev    # dashboard at http://localhost:5173

Ships with a tech-minimal preset (Hacker News, TechCrunch, Ars Technica) out of the box. No API keys required.

Workflow

flowchart LR
    A(["πŸ“₯ Clone &<br/>Install"])
    B(["πŸ“‹ Choose<br/>Preset"])
    C(["πŸ”— Add Sources<br/>& Panels"])
    D(["πŸ€– Configure AI<br/>(optional)"])
    E{{"βœ… Validate"}}
    F{{"πŸ“¦ Build"}}
    G(["πŸš€ Deploy"])

    A ==> B ==> C ==> D
    D -.-> E
    C ==> E
    E ==> F ==> G

    classDef setup fill:#1565C0,stroke:#0D47A1,stroke-width:2px,color:#fff
    classDef config fill:#00838F,stroke:#006064,stroke-width:2px,color:#fff
    classDef ai fill:#EF6C00,stroke:#E65100,stroke-width:2px,color:#fff
    classDef check fill:#2E7D32,stroke:#1B5E20,stroke-width:2px,color:#fff
    classDef deploy fill:#AD1457,stroke:#880E4F,stroke-width:2px,color:#fff

    class A,B setup
    class C config
    class D ai
    class E,F check
    class G deploy
Loading

Using with AI Agents

Open the project in Claude Code (or any AGENTS.md-compatible agent) and say:

"I want to create a geopolitics monitor focused on Southeast Asia"

The agent reads CLAUDE.md/AGENTS.md, uses the forge CLI, and builds your dashboard. See CLAUDE.md for Claude Code integration or AGENTS.md for other agents.

Note

Every forge command supports --format json --non-interactive for AI agent consumption.

Manual Customization

# Browse and apply a preset
npm run forge -- preset list
npm run forge -- preset apply finance-full

# Add custom sources
npm run forge -- source add rss \
  --name "reuters" \
  --url "https://feeds.reuters.com/reuters/topNews" \
  --category world-news

# Enable AI analysis (optional β€” free tier available)
npm run forge -- ai configure \
  --provider groq \
  --model "llama-3.3-70b-versatile" \
  --api-key-env GROQ_API_KEY

# Validate and deploy
npm run forge -- validate
npm run deploy

Data Flow

flowchart TD
    subgraph Sources["πŸ“‘ Data Sources"]
        RSS(["RSS Feeds"])
        API(["REST APIs"])
        WS(["WebSockets"])
    end

    subgraph Edge["☁️ Vercel Edge"]
        NE["news/v1<br/>RSS Aggregation"]
        PE["proxy/v1<br/>CORS Proxy"]
        AE["ai/v1<br/>LLM Endpoint"]
    end

    subgraph AI["πŸ€– AI Fallback Chain"]
        GQ{{"Groq<br/>Llama 3.3"}}
        OR{{"OpenRouter<br/>Claude / GPT-4o"}}
        GQ -.->|fallback| OR
    end

    subgraph Panels["πŸ“Š Dashboard Panels"]
        NF["News Feed"]
        AB["AI Brief"]
        MT["Market Ticker"]
        ET["Entity Tracker"]
    end

    MAP(["πŸ—ΊοΈ MapEngine<br/>5 Layer Types"])

    RSS ==> NE ==> NF
    API ==> PE ==> MT
    WS ==> ET
    NE ==> AE ==> AI
    AI ==> AB
    Sources -.-> MAP

    classDef source fill:#00838F,stroke:#006064,stroke-width:2px,color:#fff
    classDef edge fill:#7B1FA2,stroke:#4A148C,stroke-width:2px,color:#fff
    classDef ai fill:#EF6C00,stroke:#E65100,stroke-width:2px,color:#fff
    classDef panel fill:#D84315,stroke:#BF360C,stroke-width:2px,color:#fff
    classDef map fill:#1565C0,stroke:#0D47A1,stroke-width:2px,color:#fff

    class RSS,API,WS source
    class NE,PE,AE edge
    class GQ,OR ai
    class NF,AB,MT,ET panel
    class MAP map
Loading

Available Presets

Tip

Start with a *-minimal preset to get running fast, then graduate to *-full when you need more sources and panels. Use blank for a completely custom build.

Preset Domain Sources Panels Description
blank general 0 0 Empty canvas β€” start from scratch
tech-minimal technology 3 2 HN, TechCrunch, Ars Technica
tech-full technology 8 4 + Verge, Wired, MIT Tech Review, arXiv, GitHub
finance-minimal finance 3 2 Reuters, CNBC, CoinDesk
finance-full finance 6 4 + FT, Bloomberg, Fed RSS
geopolitics-minimal geopolitics 3 2 BBC, Reuters, Al Jazeera
geopolitics-full geopolitics 8 5 + Guardian, AP, Foreign Affairs, GDELT

Key Features

  • CLI-first: All customization via forge commands with --format json for agent consumption
  • Single config: One monitor-forge.config.json defines your entire dashboard
  • 7 presets: Pre-built configurations for tech, finance, and geopolitics
  • Real-time map: MapLibre GL + deck.gl with 5 layer types (points, lines, polygons, heatmap, hexagon)
  • 6 panel types: News feed, AI brief, market ticker, entity tracker, instability index, service status
  • 3 source types: RSS, REST API, WebSocket
  • AI analysis: Summarization, entity extraction, sentiment via Groq/OpenRouter
  • One-click deploy: Vercel Edge Functions with security headers
  • 5 Claude Code Skills: Pre-built agent workflows for common operations

CLI Commands

Command Description
forge init Initialize a new dashboard
forge preset list/apply Browse and apply presets
forge source add/remove/list Manage RSS, API, WebSocket sources
forge layer add/remove/list Manage map layers (points, lines, polygons, heatmap, hexagon)
forge panel add/remove/list Manage UI panels
forge ai configure/status Set up AI analysis pipeline
forge validate Validate configuration
forge env check/generate Manage environment variables
forge build Build for production
forge dev Start development server
forge deploy Deploy to Vercel

Tech Stack

  • Frontend: Vite 6, TypeScript 5, MapLibre GL, deck.gl, D3
  • Backend: Vercel Edge Functions
  • AI: Groq (Llama 3.3), OpenRouter (Claude, GPT-4o, etc.)
  • CLI: Commander, Zod, tsx
  • Security: DOMPurify, CSP headers, proxy domain allowlist

Project Structure

monitor-forge/
β”œβ”€β”€ forge/              # CLI tool (Commander + Zod)
β”œβ”€β”€ src/                # Frontend application
β”‚   β”œβ”€β”€ core/           # Map, panels, sources, AI engines
β”‚   └── styles/         # CSS
β”œβ”€β”€ api/                # Vercel Edge Functions
β”œβ”€β”€ presets/            # 7 preset templates
β”œβ”€β”€ data/geo/           # GeoJSON data files
β”œβ”€β”€ .claude/skills/     # 5 Claude Code Skills
β”œβ”€β”€ CLAUDE.md           # Claude Code agent guide
β”œβ”€β”€ AGENTS.md           # Cross-agent compatibility guide
└── monitor-forge.config.json

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

License

MIT β€” Copyright (c) 2026 Yunsung Lee

About

CLI-driven template for building real-time intelligence dashboards. Agent-native: designed for Claude Code & AI coding agents.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors