depends.cc

Lightweight dependency state tracking. Push state in, get webhooks out.

What is it?

depends.cc tracks the state of things (nodes) and what they depend on.

Each node is a traffic light:

Red — errored, blocked, or unreachable Yellow — pending, deploying, or unknown Green — healthy, operating normally

When a node's state changes, depends.cc computes the effective state of everything that depends on it. If your database goes red, every service upstream is effectively red too — automatically, without updating each one:

database — disk full on /var/data
    api-server (depends on database → effective: red)
       worker (depends on api-server → effective: red)
auth-service

How it works

Push state

Services report their own health via a single PUT. No polling, no agents.

curl -X PUT https://depends.cc/v1/state/myproject/database/red \
  -H "Authorization: Bearer $DEPENDS_TOKEN" \
  -H "X-Depends-Reason: disk full on /var/data" \
  -H "X-Depends-Solution: Clear /var/log, expand volume"

Dependency graph

Define what depends on what. Effective state propagates automatically. Commit it to source control as YAML.

namespace: myproject

nodes:
  database:
    label: PostgreSQL Primary

  api-server:
    label: API Server
    depends_on:
      - database

  worker:
    label: Background Worker
    depends_on:
      - api-server

Webhooks

Get notified when things change. HMAC-signed, with retries.

Reason & solution

Attach context: why is this red, and what should I do?

AI friendly by design

depends.cc is built for humans and AI agents alike. The simple REST API, plain-text reasons and solutions, and structured YAML format make it easy for AI to read system state, diagnose issues, and act on them. An AI agent can query the graph, see exactly what's red and why, read the suggested solution, and take action — no dashboards or screenshots required.

Get started

With curl

Sign up to get a token, then create a namespace:

# Sign up (returns a token — save it, shown only once)
curl -s -X POST https://depends.cc/v1/signup

# Create a namespace (authenticated)
curl -s -X POST https://depends.cc/v1/namespaces \
  -H "Authorization: Bearer $DEPENDS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id": "myproject"}'

With the CLI

# Install
curl -fsSL https://depends.cc/install.sh | sh

# Sign up and configure
depends signup
export DEPENDS_TOKEN="dep_..."

# Define and push your graph
depends init                                # scaffold depends.yml
depends push                                # sync to depends.cc (auto-creates namespace)
depends status                              # see what's green, yellow, red
depends set myproject/db red --reason "disk full"
depends graph                               # print dependency tree
depends diff                                # preview changes before pushing
depends delete                              # remove a namespace and all its data
API-first, no SDK required.

Any language, any platform. If it can make an HTTP request, it can use depends.cc.

Free tier available — see pricing or sign up.