{"adoption": {"forks": 151, "observed_at": "2026-08-28T04:08:30.100585+00:00", "stars": 3937}, "canonical_url": "https://ross.abutalabs.com/products/ali", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Generate HTTP load and plot the results in real-time", "domain": ["developer-tools", "testing", "performance"], "enriched": true, "function": ["load-testing", "benchmarking", "data-visualization", "terminal-ui", "http-client", "monitoring"], "health_score": 75, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["nakabonne/ali"], "name": "nakabonne/ali", "platform": ["windows", "cli", "go", "cross-platform"], "pushed_at": "2026-01-19T06:28:58+00:00", "repo": "nakabonne/ali", "stars": 3937, "tags": ["http-load-testing", "real-time-analysis", "tui", "vegeta-inspired", "stress-testing", "command-line", "linux", "macos", "docker"], "topics": ["load-testing", "benchmarking", "testing-tools", "tui", "go", "visualization", "monitoring"], "urls": [], "use_cases": ["load test an HTTP endpoint and watch latency metrics live in the terminal", "benchmark my API before a production release", "stress test a web service with a configurable request rate", "plot real-time HTTP performance charts without leaving the terminal", "export load test results to a directory for later analysis", "compare response times under sustained traffic"], "what_it_is": "ali is a Go-based HTTP load testing CLI tool that generates HTTP traffic against a target URL and plots performance metrics in real time within an embedded terminal UI. It is inspired by vegeta and jplot, offering configurable rate, duration, connections, headers, and TLS options.", "when_to_avoid": ["you need distributed load generation across multiple machines", "you require scripted test scenarios with assertions or CI-integrated test suites", "you need protocol support beyond HTTP such as gRPC or WebSocket load testing", "you want headless execution without the terminal UI"], "when_to_choose": ["you want real-time visualization of load test metrics in a terminal UI", "you prefer a single lightweight Go binary over JVM-based tools like JMeter", "you need quick ad-hoc HTTP benchmarking with simple CLI flags", "you want a vegeta-style tool with an interactive TUI"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ali", "repo": "nakabonne/ali", "role": "main", "score": 60}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.100585+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:24:38.762008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb1cac70519e811a2643049aae5bfbc6ffb75088a30b4b8134183db763ecaaa", "fetched_at": "2026-08-28T04:08:30.100585+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nakabonne/ali"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.100585+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:24:38.762008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb1cac70519e811a2643049aae5bfbc6ffb75088a30b4b8134183db763ecaaa", "fetched_at": "2026-08-28T04:08:30.100585+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nakabonne/ali"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:24:38.762008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb1cac70519e811a2643049aae5bfbc6ffb75088a30b4b8134183db763ecaaa", "fetched_at": "2026-08-28T04:08:30.100585+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nakabonne/ali"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.100585+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.100585+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.100585+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:24:38.762008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb1cac70519e811a2643049aae5bfbc6ffb75088a30b4b8134183db763ecaaa", "fetched_at": "2026-08-28T04:08:30.100585+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nakabonne/ali"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.100585+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.100585+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:24:38.762008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb1cac70519e811a2643049aae5bfbc6ffb75088a30b4b8134183db763ecaaa", "fetched_at": "2026-08-28T04:08:30.100585+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nakabonne/ali"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.100585+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.100585+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.100585+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:24:38.762008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb1cac70519e811a2643049aae5bfbc6ffb75088a30b4b8134183db763ecaaa", "fetched_at": "2026-08-28T04:08:30.100585+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nakabonne/ali"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.100585+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.100585+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:24:38.762008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb1cac70519e811a2643049aae5bfbc6ffb75088a30b4b8134183db763ecaaa", "fetched_at": "2026-08-28T04:08:30.100585+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nakabonne/ali"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:24:38.762008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb1cac70519e811a2643049aae5bfbc6ffb75088a30b4b8134183db763ecaaa", "fetched_at": "2026-08-28T04:08:30.100585+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nakabonne/ali"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:24:38.762008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb1cac70519e811a2643049aae5bfbc6ffb75088a30b4b8134183db763ecaaa", "fetched_at": "2026-08-28T04:08:30.100585+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nakabonne/ali"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:24:38.762008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb1cac70519e811a2643049aae5bfbc6ffb75088a30b4b8134183db763ecaaa", "fetched_at": "2026-08-28T04:08:30.100585+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nakabonne/ali"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 63, "longevity": 100, "rhythm": 34}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2182, "days_push": 226, "days_rel": 226, "gap_med": null, "n_releases_24m": 1}, "score": 60, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}