-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Problem
monitor-forge currently offers only 7 presets across 3 domains (technology, finance, geopolitics). This causes several issues:
- Limited domain coverage: worldmonitor covers 5+ domains (geopolitics, tech, finance, commodity, positive news) while monitor-forge only has 3. High-demand domains like cybersecurity, climate/environment, Korea news, and healthcare are missing
- All map layers are empty: Every preset has
layers: []. Despite the map being a core feature, applying a preset shows nothing but an empty map - No sample GeoJSON data: The
data/geo/directory only has a single test file. Without real usable data per preset, users can't experience the value of map layers - Minimal map configuration: Most presets don't enable advanced features like
dayNightOverlay,atmosphericGlow, oridleRotation
As a result, applying a preset only produces "RSS news feed + empty map", making it hard for users to appreciate monitor-forge's full potential.
Solution
Phase 1: Add new domain presets (4 domains, 8 presets)
| Preset | Domain | Sources | Panels | Description |
|---|---|---|---|---|
cyber-minimal |
cybersecurity | 3 | 2 | Krebs on Security, Bleeping Computer, CISA Alerts |
cyber-full |
cybersecurity | 7+ | 4 | + CVE DB, VirusTotal Blog, Threat Intelligence RSS, Dark Reading |
climate-minimal |
climate | 3 | 2 | NASA Climate, Carbon Brief, NOAA |
climate-full |
climate | 6+ | 4 | + Natural disaster data, IPCC, Climate Home News |
korea-minimal |
korea | 3 | 2 | Yonhap News, Hankyoreh, Chosun Ilbo |
korea-full |
korea | 7+ | 4 | + Bank of Korea, Korean tech news, KOSPI-related |
health-minimal |
healthcare | 3 | 2 | WHO, CDC, NIH |
health-full |
healthcare | 6+ | 4 | + PubMed, The Lancet, ProMED |
Phase 2: Add map layers and GeoJSON to existing presets
Add meaningful layers and sample data to existing -full presets:
tech-full:data/geo/tech-hubs.geojson(global tech hub points layer)finance-full:data/geo/financial-centers.geojson(global financial centers)geopolitics-full:data/geo/conflict-zones.geojson(conflict zone points)cyber-full:data/geo/threat-origins.geojson(cyber threat origin points)climate-full:data/geo/natural-disasters.geojson(recent natural disaster locations)
Phase 3: Enhance preset metadata
Add a _meta field to preset JSON for richer display in the wizard and preset list:
{
"_meta": {
"category": "cybersecurity",
"difficulty": "beginner",
"requires_api_keys": ["GROQ_API_KEY"],
"optional_api_keys": ["OPENROUTER_API_KEY"],
"preview_description": "Real-time cyber threat intelligence dashboard"
}
}Implementation Details
-
Create preset files: Add 8 JSON files to
presets/directory- Each preset uses only working, publicly accessible RSS/API URLs
korea-*presets setlanguage: "ko"for Korean-language sources
-
GeoJSON data files: Add domain-specific sample data to
data/geo/- Each file contains 10-30 lightweight Features
- Follow FeatureCollection + properties pattern
-
Update existing presets: Add GeoJSON-referencing layers to
tech-full.json,finance-full.json,geopolitics-full.json- Use
data.source: 'static',data.path: 'data/geo/<file>.geojson'pattern
- Use
-
Improve preset list command: Update
forge/src/commands/preset.tsto display_metainfo (category, difficulty, required keys)
Acceptance Criteria
- 8 new preset files are added to
presets/ - All RSS URLs in each preset are working, publicly accessible feeds
- At least 5 domain-specific GeoJSON files are added to
data/geo/ - The 3 existing
*-fullpresets each have at least 1 map layer added - All presets pass
MonitorForgeConfigSchema.parse()validation -
forge preset listdisplays 15 presets (existing 7 + new 8) -
forge preset apply <name>→forge validatepasses without errors for all new presets - GeoJSON files referenced by layers pass
forge validatestatic file existence checks
Priority Rationale
Presets define the "out-of-the-box" experience. Even if Issue #28's onboarding wizard guides users perfectly, a weak preset selection means a weak first impression. Empty map layers fail to showcase the map feature's value. The korea-* presets directly serve the project's target user base, while cyber-* and climate-* cover globally high-interest domains.