# wait4x/wait4x

Wait4X allows you to wait for a port or a service to enter the requested state.

Repository: https://github.com/wait4x/wait4x
Canonical: https://ross.abutalabs.com/products/wait4x
Homepage: https://wait4x.dev
Language: Go
License: Apache-2.0
License Family: permissive
Topics: wait4x, cli, golang, postgresql, mysql, mariadb, redis, http, tcp, dns, go, linux, influxdb, mongodb, rabbitmq, wait-for-it, kafka
Last push: 2026-08-24T10:49:53+00:00

## Health v2 (maintenance only)
Score: 99/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 98, longevity 100
- inputs: {"age_days": 2497, "days_push": 9, "days_rel": 14, "gap_med": 24.0, "n_releases_24m": 13}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1378, forks 54 (observed 2026-08-28T04:04:33.480576+00:00)

## What it is
Wait4X is a lightweight, zero-dependency CLI tool (also importable as a Go package) that waits for ports or services like TCP, HTTP, DNS, Redis, MySQL, PostgreSQL, MongoDB, Kafka, and RabbitMQ to become ready. It supports customizable timeouts, exponential backoff, reverse and parallel checking, and command execution after a successful wait.

## Use cases
- wait for postgres to be ready before running migrations
- block CI pipeline until redis is up
- wait for a tcp port to open in docker-compose
- check http endpoint health before deployment rollout
- wait for kafka or rabbitmq before starting consumers
- find a free port with reverse checking
- wait for dns record to propagate

## When to choose
- you need a single static binary with no runtime dependencies for readiness checks
- you orchestrate multi-service startup in CI/CD, containers, or local dev
- you want to wait on many protocols and services with one consistent tool
- you need reverse checks (wait for a port to be free) or parallel checks

## When to avoid
- you need full monitoring or alerting rather than simple readiness gating
- your orchestrator already has built-in readiness probes and init containers
- you need a long-running daemon or dashboard rather than a one-shot wait

## Facets
- artifact type: cli-tool
- maturity: active
- function: cli, developer-tools, http-client, networking, workflow-automation
- domain: developer-tools
- platform: windows, cross-platform, go, cli
- tags: service-readiness, health-check, wait-for-it, ci-cd, zero-dependency, retry-backoff, database-readiness, devops, command-line, automation, containers, linux, macos, docker

## Member repositories
- wait4x/wait4x (main) score 99

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:33.480576+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:40:24.156858+00:00, confidence not recorded.
  - readme: https://github.com/wait4x/wait4x (fetched 2026-08-28T04:04:33.480576+00:00, sha 17a452d35889)
  - homepage: https://wait4x.dev (fetched 2026-08-29T11:56:29.703455+00:00, sha 4f6b25c7ea91)
- Data as of 2026-08-30T08:39:29.467469+00:00.
