Skip to main content

AI-powered developer diagnostics CLI for auditing development environments, projects, and infrastructure.

Project description

HealCode โ€ข A Diagnostics Engine That Catches What git status Can't.


Version License Build Status

Stars Downloads

Platform


๐Ÿ“š Table of Contents



Overview

HealCode is an AI-powered developer diagnostics CLI platform designed to scan local development environments, containers, cloud contexts, project setups, and source code files to identify configuration drift, performance anti-patterns, and security smells.

Instead of juggling separate tools for Docker linting, Kubernetes context checks, dependency auditing, and static analysis, HealCode runs a single scan across all of them and rolls the results into one weighted health score โ€” so you always know exactly where your project stands.


Scans Local env, Docker/Compose, Kubernetes, cloud CLIs, source code
Languages covered Node.js, Python, Java, Go, Rust, Flutter
Scoring Weighted health score across 40+ categories
AI layer Optional, offline-first โ€” zero cloud dependency required
Install pip install healcode
Requires Python โ‰ฅ 3.11

โš ๏ธ The Problem

Most projects don't break because of one big, obvious bug. They break because of small things nobody noticed in time.

A password or secret key accidentally gets saved into a file that shouldn't have it. A cloud setting quietly points to the wrong place. A container is missing a setting that would've restarted it if it crashed. A piece of code slowly gets more complicated over time until nobody wants to touch it anymore. None of these show up when you check git status โ€” they show up later, as a bug, a security scare, or a late-night emergency fix.

โŒ Without HealCode
๐Ÿ”‘ Secret keys or passwords accidentally get saved into your code
๐Ÿณ Container settings are wrong, but nobody notices until something crashes
โ˜ธ๏ธ Cloud/Kubernetes settings quietly point to the wrong environment
๐Ÿงฎ Code slowly becomes messy and hard to understand, without anyone realizing
๐Ÿงฐ Your tools (Python, Node.js, etc.) get out of sync with what the project actually needs
๐Ÿ“‰ There's no record of what changed in your setup over time, or when

There are separate tools that can catch each of these problems on their own โ€” but most developers don't have the time to set up and run five different tools, on every project, every time.


๐Ÿ’ก The Solution

HealCode checks all of this for you โ€” your computer, your containers, your cloud settings, your code โ€” with one simple command: healcode scan. Instead of five different tools giving you five different reports, you get one clear health score for your whole project.

โœ… What HealCode Does Differently
๐Ÿ” One command checks everything โ€” your system, containers, cloud setup, tools, and code, all at once
๐Ÿ“ˆ One easy score โ€” instead of piecing together results from five different tools
๐Ÿ—ƒ๏ธ Remembers what changed โ€” compare today's check against last week's to see exactly what's different
๐Ÿง  Smart help, without needing the internet โ€” an optional AI feature that groups problems together and tells you what to fix first, fully offline
โฑ๏ธ Keeps checking as you work โ€” turn on watch mode and it rechecks automatically while you code

HealCode isn't trying to replace your linter or your secret scanner โ€” it brings together what all of those tools would tell you, in one place, and also tracks what's changed since your last check โ€” something none of them do on their own.


๐ŸŽฏ Who Is HealCode For?

Who Why it helps them
๐Ÿ‘จโ€๐Ÿ’ป Solo developers Catch mistakes and exposed passwords before you share your code โ€” without setting up five separate tools yourself.
๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Small teams Everyone uses the same settings file, so the whole team's projects get checked the same way.
๐Ÿข DevOps / Infrastructure folks Use the DevOps profile to focus on containers, cloud setup, and configuration drift specifically.
๐Ÿ” Security-minded teams Use the Security profile to prioritize exposed secrets and risky settings first.
๐ŸŽ“ Students & beginners See, in one simple report, what a "healthy" project setup actually looks like โ€” a great way to learn good habits early.

โš–๏ธ HealCode vs. Doing It Manually

You could piece together the same coverage using several separate tools โ€” but here's what that actually looks like side by side.

What you need to check Doing it manually With HealCode
๐Ÿ”‘ Exposed secrets in code Set up a separate secret-scanning tool Included in healcode scan
๐Ÿณ Docker/Compose misconfigurations Read through Dockerfiles and compose files by hand Included in healcode scan
โ˜ธ๏ธ Kubernetes context drift Manually check kubectl config before every deploy Included in healcode scan
๐Ÿงฐ Toolchain version mismatches Cross-check manifests against installed versions yourself Included in healcode scan
๐Ÿงฎ Code complexity issues Run a separate static analysis tool per language Included in healcode scan
๐Ÿ“Š One overall health picture Manually combine results from every tool above One weighted score, automatically
๐Ÿ—ƒ๏ธ Tracking what changed over time No built-in way โ€” you'd have to remember or log it yourself healcode baseline tracks it for you
โฑ๏ธ Continuous checking while coding Re-run each tool manually, every time healcode watch does it automatically

The individual checks above already exist as separate tools. What HealCode adds is running them together, scoring them together, and remembering what changed โ€” so you're not stitching five reports into one picture yourself.


๐Ÿ—๏ธ How a Scan Works

When you run healcode scan, here's what happens behind the scenes โ€” all in one go:

                healcode scan
                      โ”‚
                      โ–ผ
        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
        โ”‚   Runs all the checks   โ”‚
        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                      โ”‚
   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
   โ–ผ            โ–ผ             โ–ผ             โ–ผ
Your          Containers   Cloud &      Your Tools
Computer      (Docker)     Cloud Setup  (Python, Node.js, etc.)
                                              โ”‚
                                              โ–ผ
                                        Your Code
                                     (looks for messy
                                      or risky code)
   โ”‚            โ”‚             โ”‚             โ”‚
   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                        โ–ผ
              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
              โ”‚   Adds it all up  โ”‚
              โ”‚  into one score   โ”‚
              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                        โ”‚
             โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
             โ–ผ                     โ–ผ
      Health Report          Saves a record
     (what passed,           (so you can compare
      what needs             it to next time)
      attention)
                        โ”‚
                        โ–ผ
              Optional: AI groups the
              problems and tells you
                what to fix first

๐Ÿ’ก Want the deeper technical breakdown? See Architecture in the docs hub.


โšก See It In Action

Run healcode scan and get a full environment health report in seconds โ€” no config required.

[1;36mHEALCODE DIAGNOSTICS ENGINE v1.0.0[0m
[1;35mโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•[0m

[1;34mโ–ธ SYSTEM[0m
[1;32m  [โœ“] OS & shell environment healthy[0m
[1;32m  [โœ“] Disk space sufficient (62% free)[0m

[1;34mโ–ธ CONTAINERS[0m
[1;32m  [โœ“] Docker daemon running (v24.0.7)[0m
[1;33m  [!] docker-compose.yml missing restart policy on 'api' service[0m

[1;34mโ–ธ CLOUD & KUBERNETES[0m
[1;33m  [!] Kubernetes context using default namespace instead of dev-active[0m
[1;32m  [โœ“] AWS CLI credentials valid[0m

[1;34mโ–ธ RUNTIME & TOOLCHAINS[0m
[1;32m  [โœ“] Node.js v20.11.0 matches package.json engine constraint[0m
[1;31m  [โœ—] Python 3.9 installed โ€” pyproject.toml requires >=3.11[0m

[1;34mโ–ธ STATIC CODE ANALYSIS[0m
[1;33m  [!] High cyclomatic complexity in utils/parser.py (score: 24)[0m
[1;31m  [โœ—] Found 1 exposed API key in config/settings.py:L14[0m

[1;35mโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•[0m
[1;36mOVERALL ENVIRONMENT HEALTH:[0m [[1;32m######################----[0m] [1;32m88.5%[0m
[1;32m3 passed[0m  ยท  [1;33m2 warnings[0m  ยท  [1;31m2 critical[0m
Symbol Meaning
โœ… Passed โ€” no action needed
โš ๏ธ Warning โ€” worth reviewing
โŒ Critical โ€” should be fixed before shipping

๐Ÿš€ Key Features

  • ๐Ÿง  AI-Powered Diagnostics: Optional AI orchestration layer delivering root-cause grouping, prioritization scoring, and repair recommendations with zero cloud dependencies.

  • ๐Ÿ“ฆ Docker & Compose Auditing: Checks engine version info, Context configurations, Dockerfile security practices, and docker-compose restart structures.

  • โ˜๏ธ Cloud & Kubernetes Contexts: Scans local AWS, GCP, and Azure CLI setups, evaluates kubeconfig context validity, and identifies local Terraform variables.

  • โš™๏ธ Runtime & Compiler Intelligence: Detects Node.js, Python, Java, Go, Rust, and Flutter toolchains, matching compiler versions against manifest constraints.

  • ๐Ÿ” Universal Static Code Analysis: Computes cyclomatic complexity, nesting depths, and nested loop performance bottlenecks across languages.

  • ๐Ÿ“ˆ Weighted Health Scoring: Rates codebase health across 40+ granular categories.

  • ๐Ÿ—ƒ๏ธ Baseline & Drift Detection: Captures environmental snapshots to track regressions, improvements, and environment modifications over time.

  • โฑ๏ธ Watch Mode: Real-time directory polling for fast incremental rescans.


๐Ÿ“ฆ Installation

pip install healcode

Requirements

Dependency Version Purpose
Python โ‰ฅ 3.11 Runtime

Verify the install

healcode --version

โšก Quick Start

Four commands take you from a fresh install to a full environment health report with a tracked baseline.

1๏ธโƒฃ Initialize configuration

Creates a healcode.json config file in your project root, so scans are tuned to your setup from the start.

healcode config init

2๏ธโƒฃ Run a diagnostics scan

Scans your local environment, containers, cloud/K8s contexts, toolchains, and source code โ€” then prints a weighted health score.

healcode scan

3๏ธโƒฃ Generate a baseline report

Snapshots the current project state so future scans can be compared against it to catch drift.

healcode baseline create initial_state

4๏ธโƒฃ Run an AI intelligence summary (offline-first)

Groups findings by root cause and prioritizes what to fix first โ€” no cloud dependency required.

healcode ai --offline

๐Ÿ’ก Tip: Run healcode scan regularly (or use watch mode) and re-run healcode baseline compare initial_state to catch regressions before they reach code review.


๐Ÿ“ Sample Configuration

Running healcode config init creates a healcode.json file in your project. Here's what a typical one looks like:

{
  "profile": "DevOps",
  "targets": ["."],
  "checks": {
    "system": true,
    "docker": true,
    "kubernetes": true,
    "cloud": true,
    "toolchains": true,
    "static_analysis": true
  },
  "exclude": [
    "node_modules",
    "dist",
    ".venv"
  ],
  "ai": {
    "enabled": true,
    "offline": true
  }
}
Field What it controls
profile Which scanning profile is active (DevOps, Security, or Minimal)
targets Which directories to scan โ€” defaults to the current project
checks Turn individual check categories on or off
exclude Folders to skip during scanning
ai.enabled / ai.offline Whether the AI layer runs, and whether it stays fully offline

๐Ÿ’ก See the full Configuration Reference for every available option.


๐Ÿ› ๏ธ Commands Reference

Core Diagnostics

Command Usage Description
scan healcode scan [target] Runs active diagnostics checks and displays system health.
baseline healcode baseline create [name] / healcode baseline compare [name] Captures a project snapshot or analyzes current state against one.
watch healcode watch Starts the directory file watcher for real-time, incremental rescanning.

Configuration

Command Usage Description
config healcode config init Initializes the project configuration file healcode.json.
profile healcode profile set [name] Adjusts the active scanning profile (DevOps, Security, Minimal).

Intelligence & Extensions

Command Usage Description
ai healcode ai --offline Orchestrates root-cause diagnostics and repair recommendations.
marketplace healcode marketplace search [q] Searches the community plugin marketplace (mock interface โ€” not yet live).

๐Ÿ’ก Run healcode <command> --help for full flag details on any command.


๐Ÿ“Š Understanding Your Health Score

Every healcode scan ends with one number โ€” your overall environment health percentage. Here's how to read it.

How the score is built

Each check HealCode runs (system, containers, cloud/K8s, toolchains, code) contributes to one of 40+ categories. Categories aren't weighted equally โ€” a critical finding (like an exposed secret) pulls the score down more than a minor warning (like a missing restart policy).

Score = 100% โˆ’ (weighted penalty for every warning and critical finding)

Reading the result

Score Range What it means
๐ŸŸข 90โ€“100% Healthy โ€” no urgent action needed
๐ŸŸก 70โ€“89% Some warnings โ€” worth reviewing before your next release
๐ŸŸ  50โ€“69% Multiple issues โ€” recommend addressing before shipping
๐Ÿ”ด Below 50% Critical issues present โ€” fix before continuing

What pulls your score down

Severity Example Impact
โœ… Passed Docker daemon running correctly No penalty
โš ๏ธ Warning Kubernetes context using default namespace Small penalty
โŒ Critical Exposed API key in source code Large penalty

๐Ÿ’ก Run healcode baseline compare [name] to see whether your score has improved, stayed flat, or regressed since your last check.


๐Ÿ“ Documentation Hub

Full guides live in the docs/ folder. Here's what each one covers and when to reach for it:

๐Ÿ“– Getting Started

Your first ten minutes with HealCode โ€” installing, initializing config, running your first scan, and reading the health score output. Start here if you've never used HealCode before.

๐Ÿ’พ Installation

Platform-specific setup notes for Windows, Linux, and macOS, including Python version requirements and common install issues (permissions, PATH conflicts, virtualenv setup).

โš™๏ธ Configuration Reference

Every option available in healcode.json โ€” scanning profiles (DevOps, Security, Minimal), which checks to include/exclude, and how to scope scans to specific directories or targets.

๐Ÿ“ Architecture

How a scan actually works under the hood: the check pipeline, how findings are scored and weighted into the overall percentage, and how the optional AI layer processes results offline.

โŒจ๏ธ CLI Reference

The complete command list with every flag and subcommand โ€” the canonical reference for scan, config, profile, baseline, watch, and ai.

๐Ÿ”Œ Plugin SDK

How to write custom checks and package them as plugins, plus how the (currently mock) marketplace is intended to distribute them.

๐Ÿ› ๏ธ Troubleshooting

Fixes for common errors โ€” failed scans, misdetected toolchains, kubeconfig issues, and Docker daemon connectivity problems.


๐Ÿ—บ๏ธ What's Done & What's Coming

โš ๏ธ This is a placeholder โ€” swap these in for your actual milestones from ROADMAP.md.

Status What
โœ… Done Core checks โ€” scan your computer, containers, and cloud setup
โœ… Done Save a "before" snapshot and compare it to later scans
โœ… Done Optional AI helper that works without internet
๐Ÿ”œ Coming A real plugin marketplace (right now it's just a demo)
๐Ÿ”œ Coming Support for more programming languages and tools
๐Ÿ”œ Coming A guide for using HealCode in GitHub Actions / GitLab CI

โ“ FAQ


Quick answers to what people usually ask before (and after) installing HealCode.


๐Ÿง  About HealCode

Does HealCode replace my existing linter or secret scanner?

No. HealCode doesn't try to out-lint your linter or out-scan your secret scanner. It brings together what those tools would already tell you into one report, adds cross-cutting checks (containers, cloud/K8s, toolchains), and tracks what's changed since your last scan โ€” something standalone tools don't do on their own.


Which languages does HealCode support for static analysis?

Node.js ยท Python ยท Java ยท Go ยท Rust ยท Flutter

More languages are on the roadmap.


What's the difference between the DevOps, Security, and Minimal profiles?
Profile Prioritizes
๐Ÿ—๏ธ DevOps Containers, cloud setup, configuration drift
๐Ÿ” Security Exposed secrets, risky settings
โšก Minimal A lighter, faster subset of checks

Set one with:

healcode profile set [name]

๐Ÿ”’ Privacy & Requirements

Do I need an internet connection to use HealCode?

No. Core scanning (healcode scan) runs entirely locally. The AI layer is offline-first too โ€” healcode ai --offline works with zero cloud dependency.


Will HealCode send my code or secrets anywhere?

No. Scans run locally against your filesystem, Docker context, cloud CLI config, and kubeconfig. Nothing is uploaded unless you explicitly configure an integration to do so.


What Python version do I need?

Python โ‰ฅ 3.11 to run HealCode itself. Your project's toolchain can be anything โ€” HealCode flags a mismatch (e.g. a project requiring 3.11 while 3.9 is installed) rather than requiring it.


โš™๏ธ Using HealCode

How is the health score calculated?

Score starts at 100% and subtracts a weighted penalty per finding:

Severity Penalty
โœ… Passed None
โš ๏ธ Warning Small
โŒ Critical Large

See Understanding Your Health Score for the full breakdown.


Can I run HealCode in CI/CD?

Yes โ€” see CI/CD Integration for pipeline examples and exit code behavior.


Is the plugin marketplace live yet?

๐Ÿ”œ Not yet โ€” healcode marketplace search is currently a mock interface. Real plugin distribution is on the roadmap.


๐Ÿ†˜ Something Went Wrong

I found a security vulnerability โ€” where do I report it?

โš ๏ธ Please don't open a public issue. See SECURITY.md for responsible disclosure instructions.


๐Ÿ’ก Don't see your question here? Check the Documentation Hub or open a discussion/issue.


๐Ÿค Contributing

HealCode is early-stage and community contributions are very welcome โ€” whether that's a bug fix, a new check, better docs, or just filing an issue about something confusing.

๐Ÿš€ Quick Start for Contributors

1. Clone the repository

git clone https://github.com/Ashish6298/HealCode.git

2. Enter the project directory

cd HealCode

3. Install in editable mode with dev dependencies

pip install -e .[dev]

โœ… Before Opening a Pull Request

Found a security issue instead? Please don't open a public issue โ€” see SECURITY.md for responsible disclosure.


๐Ÿ†˜ Support / Get Help


Stuck on something? Here's the fastest way to get unstuck, depending on what you need.


๐Ÿ› Found a Bug?

Search existing issues first โ€” someone may have already hit it.

If it's new, open an issue with:

  • Your OS & Python version
  • The command you ran
  • Expected vs. actual behavior
  • Relevant log output, if any

๐Ÿ’ก Have a Feature Idea?

Open a feature request โ€” describe the problem you're trying to solve, not just the solution. It helps us design it right.

Check the Roadmap first to see if it's already planned.

โ“ Have a Question?

Start with the FAQ and Documentation Hub โ€” most "how do Iโ€ฆ" questions are already answered there.

Still stuck? Open a GitHub Discussion (or an issue, if discussions aren't enabled yet).

๐Ÿ” Found a Security Issue?

Please don't open a public issue. Follow the responsible disclosure process in SECURITY.md instead โ€” we'll get back to you privately.


๐Ÿ“‹ Before You Ask

A quick checklist that resolves most support requests before they're even filed:

โœ… Check Why
Run healcode --version Confirms you're on the latest release
Run healcode config init Rules out a missing/stale config file
Check docs/troubleshooting.md Covers common scan, kubeconfig, and Docker connectivity errors
Search closed issues Your issue may already be fixed on main

๐Ÿ’ฌ Response times: HealCode is community-maintained, so replies aren't instant โ€” but every issue and discussion gets read. Clear, reproducible reports get resolved fastest.


๐Ÿ“„ License

HealCode is released under the MIT License โ€” free to use, modify, and distribute, including in commercial projects, as long as the original copyright and license notice are preserved.

See the full LICENSE file for details.


๐Ÿ™ Acknowledgments



Typing SVG

Built With The Python packaging & CLI tooling ecosystem

Inspired By The linters & scanners HealCode brings together

Tested Against Real-world Docker, K8s & multi-language setups

:heart:

Thanks To Every contributor & early adopter


๐Ÿ’ก If HealCode leans on a specific library, framework, or dataset worth crediting by name, list it here โ€” e.g. "Static analysis heuristics adapted from [tool/paper name]" or "Container scanning inspired by [project]."


๐Ÿ’™ Built for Developers Who'd Rather Catch It Now Than Explain It Later

HealCode exists so a leaked password, a wrong cloud setting, or messy code gets caught on your own computer โ€” not after it's already caused a problem.

โญ If HealCode helped you, consider giving it a star

It's a small thing, but it helps other developers find the project โ€” and it's the easiest way to support the work that goes into it.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

healcode-1.0.0.tar.gz (76.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

healcode-1.0.0-py3-none-any.whl (82.5 kB view details)

Uploaded Python 3

File details

Details for the file healcode-1.0.0.tar.gz.

File metadata

  • Download URL: healcode-1.0.0.tar.gz
  • Upload date:
  • Size: 76.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.4

File hashes

Hashes for healcode-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f669dfc73feece93e57a62315f92144484f624dbdf8b0a71694dcd5c6e2b2d7b
MD5 0785439e66a034cdd6e7c5ed2cb7e06b
BLAKE2b-256 3f5d16de08ada943c5e126b01c4f193d8a360abb1d6cbbf9b05f183093865abf

See more details on using hashes here.

File details

Details for the file healcode-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: healcode-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 82.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.4

File hashes

Hashes for healcode-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 869cc31cdf6ed326ddd2aeeaadd1121693f497176c98c66791bb04e831e93d9a
MD5 79c404daeeaaaf808069c32b174278ef
BLAKE2b-256 dcc43ff751910226e4b0398643ab782670cd21c75420160c441df7b6eec9ad3c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page