Vultisignal — Daily Ecosystem Monitoring

Streamlined daily monitoring for the Vultisig ecosystem (43+ repositories)

Overview

Vultisignal is a professional monitoring system that collects daily snapshots of GitHub activity across the Vultisig organization and generates comprehensive dashboards for development teams. Built with historical accuracy, data integrity, and developer experience as core principles.

Key Features

Configuration

Vultisignal uses a unified YAML configuration file (config.yaml) for all settings.

Quick Start

  1. Create config.yaml in the project root:
github:
  org: vultisig
  repos:    # Optional: restrict to specific repos, or leave blank for all
    - vultisig-ios
    - vultisig-android
    - vultisig-windows
    - vultisig-web
  token: ${GITHUB_TOKEN}   # Read from environment variable
  1. Set your GitHub token:
export GITHUB_TOKEN='your_github_token_here'
  1. Run collection:
python3 vultisignal.py collect --github

Configuration Options

Security: All tokens and secrets are read from environment variables, never stored in the config file.

Architecture

Clean Deployment Model

Vultisignal uses a professional CI/CD architecture:

Data Pipeline

config.yaml + env vars → GitHub API → Daily Snapshot → Enhanced Dashboard → gh-pages
         ↓                   ↓              ↓                      ↓
    GITHUB_TOKEN    43+ repositories  exports/github/YYYY-MM-DD.json   docs/index.html
                                                                            ↓
                                                              https://username.github.io/vultisignal

Data Flow Diagram

For a comprehensive visual representation of how data flows through the entire Vultisignal system - from GitHub API collection through processing, template rendering, and final deployment - see DATA_FLOW_DIAGRAM.html. This diagram provides an at-a-glance understanding of the complete architecture and is invaluable for onboarding new contributors and making informed architectural decisions.

File Structure

vultisignal/
├── vultisignal.py                       # Main CLI interface
├── collectors/github.py                 # GitHub data collector
├── processors/summarizer.py            # Summary processor
├── scripts/
│   ├── html_generator.py               # Unified HTML dashboard generator
│   └── generate_docs.py                # Documentation generator
├── templates/                           # Jinja2 templates
│   ├── base.html                       # Base template with styling
│   ├── dashboard.html                  # Enhanced dashboard template
│   └── simple_dashboard.html           # Simple dashboard template
├── assets/
│   └── custom.css                      # Custom styling
├── exports/
│   ├── github/YYYY-MM-DD.json          # Daily GitHub snapshots
│   └── metrics_history.json            # Historical metrics
└── docs/
    ├── index.html                       # Generated HTML dashboard
    └── assets/custom.css                # Deployed CSS assets

Enhanced Dashboard

Vultisignal generates a comprehensive HTML dashboard with advanced analytics:

Dashboard Sections

Technical Features

CLI Usage

Vultisignal provides a clean command-line interface for all operations:

Data Collection

# Collect GitHub data for today
python3 vultisignal.py collect --github

# Show collection status
python3 vultisignal.py status

Dashboard Generation

# Generate HTML dashboard (production)
python3 vultisignal.py process --html-dashboard

# Generate dashboard for local development (copies CSS assets)
python3 vultisignal.py process --html-dashboard --local

# Generate dashboard for current day
python3 vultisignal.py process --html-dashboard --current

Historical Analysis

# Show 30 days of historical trends
python3 vultisignal.py history

# Show last 7 days only
python3 vultisignal.py history --days 7

Automation

Vultisignal runs completely automatically via GitHub Actions:

Development Notes

Historical Data: We explored generating historical backfill data but encountered GitHub API limitations that made comprehensive historical analysis impractical. Vultisignal focuses on daily-forward monitoring from your start date.

Documentation

Comprehensive project documentation is available as HTML files:

Typical Metrics

Monitoring 43+ repositories with typical daily activity:


This project follows FLOSS-first philosophy and prioritizes maintainability, clarity, and reproducibility.