Quick visual guide to all Prumo documentation, guides, and resources organized by function.
/home/joao/docker/stacks/web/images/prumo/
├── README.md # Main project overview
├── .github/copilot-instructions.md # AI agent guidelines
├── CONTRIBUTING.md # Contribution procedures
├── SOURCES.md # Data source registry
│
├── docs/
│ ├── README.md # ⭐ Central documentation index
│ ├── design-guide.md # Visual standards & design guide
│ ├── wp7-design-strings.md # UI copy & labels
│ │
│ ├── operations/ # Deployment & operations
│ │ ├── MIGRATION_RUNBOOK.md # Deployment procedure
│ │ ├── PHASE_1_SUMMARY.md # Initial setup
│ │ ├── PHASE_2_FRONTEND_TESTING.md
│ │ ├── PHASE_3_CI_CD_AUTOMATION.md
│ │ └── PHASE_4_MONITORING.md
│ │
│ ├── planning/ # Architecture & roadmap
│ │ ├── PLAN-V7.md # Architecture & planning
│ │ └── PRUMO-ROADMAP.md # Feature roadmap
│ │
│ ├── data/ # Data standards & coverage
│ │ ├── NORMALIZATION.md # Data standards
│ │ ├── painel-indicators-audit.md # Indicator coverage
│ │ ├── worldbank-gdp-collector-notes.md
│ │ └── europa-coverage.md
│ │
│ ├── content/ # Narratives & political context
│ │ ├── narratives.md # AI narrative generation
│ │ ├── pcp-estatutos.md # Political context
│ │ └── pcp-programa.md
│ │
│ ├── research/ # Exploratory research
│ │ └── hugo-integration-research.md
│ │
│ ├── design/ # SWD-inspired design references (no copyrighted binaries)
│ │ ├── README.md # Attribution + design resource policy
│ │ ├── swd-python-matplotlib/ # Matplotlib chart examples
│ │ ├── swd-r-ggplot/ # R ggplot2 examples + theme
│ │ └── swd-highcharts-nextjs/ # React/Next.js components
│ │
│ ├── testing/ # Test fixtures & data
│ └── archive/ # Historical/deprecated docs
│
├── app/
│ ├── services/ # Business logic (helpers, compute, analysis)
│ ├── routes/api.py # API endpoint reference
│ └── main.py # FastAPI app entry
│
├── static/js/
│ ├── api.js # Frontend API client
│ ├── app.js # Hash router
│ └── sections/ # UI section components
│
├── collectors/ # Data source integrations
├── scripts/
│ ├── collectors/ # Data collection orchestration
│ │ ├── cae-collect # Main collection orchestrator
│ │ ├── cae-v4-backfill.py # Historical data backfill
│ │ └── collect_*.py # Individual collector scripts
│ │
│ ├── ai/ # AI analysis & generation
│ │ ├── batch_*.sh # Batch processing for AI
│ │ └── generate_*.py # Analysis & headline generation
│ │
│ └── maintenance/ # Data management & maintenance
│ ├── normalize_db.py # Database normalization
│ └── merge_staging.py # Data merge operations
│
├── venv/ # Python environment (Playwright, deps)
│
└── .github/
├── copilot-instructions.md # AI agent coding guidelines
└── CLAUDE.md (~docker/CLAUDE.md) # Broader workspace context
Start here:
- Prumo README — Feature overview
- PRUMO-ROADMAP.md — What's coming
- docs/README.md — Full doc index
- SOURCES.md — Data coverage
Start here:
- README.md — Architecture overview
- .github/copilot-instructions.md — Code conventions
- docs/planning/PLAN-V7.md — Design decisions
- docs/data/NORMALIZATION.md — Data standards
collectors/— Data source implementations
Start here:
- docs/design-guide.md — Visual standards
- docs/design/README.md — SWD design resources
- docs/wp7-design-strings.md — UI copy & labels
static/— CSS, JS, components
Start here:
- docs/operations/MIGRATION_RUNBOOK.md — Safe deployment
- docs/operations/PHASE_1_SUMMARY.md — Initial setup
- docs/operations/PHASE_3_CI_CD_AUTOMATION.md — Automation
- docs/operations/PHASE_4_MONITORING.md — Health checks
Start here:
- docs/operations/PHASE_2_FRONTEND_TESTING.md — Test procedures
- docs/testing/ — Test fixtures & data
- ~docker/md/browser-automation.md — Playwright notes
tests/— Your test code
Start here:
- SOURCES.md — Data sources & coverage
- docs/data/painel-indicators-audit.md — All 500+ indicators
- docs/data/NORMALIZATION.md — Data standards
- docs/data/europa-coverage.md — EU comparison data
- docs/data/worldbank-gdp-collector-notes.md — GDP specifics
Start here:
- docs/content/narratives.md — AI narrative generation
app/services/interpret.py— LLM integrationapp/services/ideology_lenses.py— Political context lenses- docs/content/pcp-*.md — Political program context
- Location:
venv/bin/python(Playwright installed) - Bash aliases:
pw*commands in~/.bash_aliases - Guide:
/docker/md/browser-automation.md - Usage:
pw https://joao.date/dados,pw-test,pw-snap <url>
- Framework: pytest
- Config:
pytest.ini - Test code:
tests/folder - Run:
pytest -vorpy-testalias
- Python style: Per .github/copilot-instructions.md
- Linting: pytest with coverage
- Type hints: Explicit in helpers/services
- Collectors:
scripts/collectors/Python modules and orchestrator - Main script:
scripts/collectors/cae-collectbash orchestrator - Backfill:
scripts/collectors/cae-v4-backfill.py - Individual collectors:
scripts/collectors/collect_*.py(by source)
| Concept | Definition | Reference |
|---|---|---|
| KPI Card | Atomic unit (metric + trend + YoY + sparkline) | design-guide.md |
| Service | Business logic module returning structured JSON | PLAN-V7.md |
| Collector | Data source client (INE, Eurostat, etc) | collectors/ |
| Period | Time unit (YYYY-MM, YYYY-Q{N}, YYYY) | NORMALIZATION.md |
| Sentiment | Good/neutral/bad indicator classification | design-guide.md |
| Lens | Political perspective filter for narratives | narratives.md |
| Sparkline | Tiny 60px chart showing recent trend | design-guide.md |
- INE (Portugal) — www.ine.pt
- Eurostat (EU) — ec.europa.eu/eurostat
- FRED (Fed Reserve) — fred.stlouisfed.org
- OECD — oecd.org
- World Bank — worldbank.org
- Storytelling with Data — storytellingwithdata.com
- FastAPI — fastapi.tiangolo.com
- DuckDB — duckdb.org
- ECharts — echarts.apache.org
- Playwright — playwright.dev
→ Read docs/operations/MIGRATION_RUNBOOK.md (6-section procedure + rollback)
→ Read docs/design-guide.md + app/services/painel.py
→ Read SOURCES.md + collectors/ine.py (template) + docs/data/NORMALIZATION.md
→ Read docs/operations/PHASE_4_MONITORING.md + docs/operations/MIGRATION_RUNBOOK.md section 6
→ Read docs/design-guide.md + docs/design/README.md
→ Read README.md "Data Sources" + SOURCES.md + docs/data/NORMALIZATION.md
→ Read docs/content/narratives.md + docs/content/pcp-*.md + app/services/ideology_lenses.py
- Central docs index:
docs/README.md - Design guide:
docs/design-guide.md - Design resources:
docs/design/(SWD-inspired notes + open implementations only) - Deployment runbook:
docs/operations/MIGRATION_RUNBOOK.md - AI agent guidelines:
.github/copilot-instructions.md - Browser automation:
docker/md/browser-automation.md - Bash aliases:
~/.bash_aliases(pw*, pwenv) - Docker workspace docs:
docker/CLAUDE.md
Last Updated: March 5, 2026
Purpose: Quick navigation and role-based guidance
Audience: All Prumo contributors