{"adoption": {"forks": 82, "observed_at": "2026-08-28T04:05:09.157935+00:00", "stars": 1596}, "canonical_url": "https://ross.abutalabs.com/products/plz-cli", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Copilot for your terminal", "domain": ["developer-tools", "artificial-intelligence"], "enriched": true, "function": ["llm-inference", "cli", "developer-tools", "prompt-engineering"], "health_score": 25, "homepage": null, "language": "Rust", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["m1guelpf/plz-cli"], "name": "m1guelpf/plz-cli", "platform": ["cli", "rust", "cross-platform"], "pushed_at": "2024-01-19T00:42:38+00:00", "repo": "m1guelpf/plz-cli", "stars": 1596, "tags": ["shell-script-generation", "openai", "gpt-3", "codex", "terminal-assistant", "natural-language-to-command", "command-line", "automation", "macos", "linux"], "topics": [], "urls": [], "use_cases": ["generate shell commands from plain English descriptions", "find terminal commands without memorizing syntax", "turn natural language into bash scripts", "get AI assistance directly in the terminal", "quickly look up CLI options and flags", "automate one-off terminal tasks without searching documentation"], "what_it_is": "plz is a Rust-based CLI tool that acts as 'Copilot for your terminal', generating bash shell scripts from natural language descriptions using OpenAI's GPT-3/Codex API. Users describe what they want to do in plain English and the tool produces and optionally executes the corresponding shell command.", "when_to_avoid": ["you don't want to send your command descriptions to an external OpenAI API", "you need fully offline command generation", "you require a maintained tool with recent updates or broad LLM provider support", "you need an interactive AI chat session rather than one-shot command generation"], "when_to_choose": ["you frequently forget shell command syntax and want instant answers in the terminal", "you want a lightweight, fast Rust binary rather than a heavy AI assistant", "you already have an OpenAI API key and want natural-language-to-shell conversion", "you prefer reviewing generated commands before execution with a confirmation prompt"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/plz-cli", "repo": "m1guelpf/plz-cli", "role": "main", "score": 22}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.157935+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:54:03.797530+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe97cc7cc019f05f6c6d2c1cd17b6cda4e78f5163e42fe3de01d8e749a36250", "fetched_at": "2026-08-28T04:05:09.157935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m1guelpf/plz-cli"}, {"content_hash": "dfd51502dfcd8c6a96905a197c243388d9139c6132fff6a9a98067ff35c6bbe1", "fetched_at": "2026-08-29T11:24:44.328237+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/plz-cli"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.157935+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:54:03.797530+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe97cc7cc019f05f6c6d2c1cd17b6cda4e78f5163e42fe3de01d8e749a36250", "fetched_at": "2026-08-28T04:05:09.157935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m1guelpf/plz-cli"}, {"content_hash": "dfd51502dfcd8c6a96905a197c243388d9139c6132fff6a9a98067ff35c6bbe1", "fetched_at": "2026-08-29T11:24:44.328237+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/plz-cli"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:54:03.797530+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe97cc7cc019f05f6c6d2c1cd17b6cda4e78f5163e42fe3de01d8e749a36250", "fetched_at": "2026-08-28T04:05:09.157935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m1guelpf/plz-cli"}, {"content_hash": "dfd51502dfcd8c6a96905a197c243388d9139c6132fff6a9a98067ff35c6bbe1", "fetched_at": "2026-08-29T11:24:44.328237+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/plz-cli"}], "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:05:09.157935+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.157935+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.157935+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:54:03.797530+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe97cc7cc019f05f6c6d2c1cd17b6cda4e78f5163e42fe3de01d8e749a36250", "fetched_at": "2026-08-28T04:05:09.157935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m1guelpf/plz-cli"}, {"content_hash": "dfd51502dfcd8c6a96905a197c243388d9139c6132fff6a9a98067ff35c6bbe1", "fetched_at": "2026-08-29T11:24:44.328237+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/plz-cli"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.157935+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.157935+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:54:03.797530+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe97cc7cc019f05f6c6d2c1cd17b6cda4e78f5163e42fe3de01d8e749a36250", "fetched_at": "2026-08-28T04:05:09.157935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m1guelpf/plz-cli"}, {"content_hash": "dfd51502dfcd8c6a96905a197c243388d9139c6132fff6a9a98067ff35c6bbe1", "fetched_at": "2026-08-29T11:24:44.328237+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/plz-cli"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.157935+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.157935+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.157935+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:54:03.797530+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe97cc7cc019f05f6c6d2c1cd17b6cda4e78f5163e42fe3de01d8e749a36250", "fetched_at": "2026-08-28T04:05:09.157935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m1guelpf/plz-cli"}, {"content_hash": "dfd51502dfcd8c6a96905a197c243388d9139c6132fff6a9a98067ff35c6bbe1", "fetched_at": "2026-08-29T11:24:44.328237+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/plz-cli"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.157935+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.157935+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:54:03.797530+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe97cc7cc019f05f6c6d2c1cd17b6cda4e78f5163e42fe3de01d8e749a36250", "fetched_at": "2026-08-28T04:05:09.157935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m1guelpf/plz-cli"}, {"content_hash": "dfd51502dfcd8c6a96905a197c243388d9139c6132fff6a9a98067ff35c6bbe1", "fetched_at": "2026-08-29T11:24:44.328237+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/plz-cli"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:54:03.797530+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe97cc7cc019f05f6c6d2c1cd17b6cda4e78f5163e42fe3de01d8e749a36250", "fetched_at": "2026-08-28T04:05:09.157935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m1guelpf/plz-cli"}, {"content_hash": "dfd51502dfcd8c6a96905a197c243388d9139c6132fff6a9a98067ff35c6bbe1", "fetched_at": "2026-08-29T11:24:44.328237+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/plz-cli"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:54:03.797530+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe97cc7cc019f05f6c6d2c1cd17b6cda4e78f5163e42fe3de01d8e749a36250", "fetched_at": "2026-08-28T04:05:09.157935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m1guelpf/plz-cli"}, {"content_hash": "dfd51502dfcd8c6a96905a197c243388d9139c6132fff6a9a98067ff35c6bbe1", "fetched_at": "2026-08-29T11:24:44.328237+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/plz-cli"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:54:03.797530+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe97cc7cc019f05f6c6d2c1cd17b6cda4e78f5163e42fe3de01d8e749a36250", "fetched_at": "2026-08-28T04:05:09.157935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/m1guelpf/plz-cli"}, {"content_hash": "dfd51502dfcd8c6a96905a197c243388d9139c6132fff6a9a98067ff35c6bbe1", "fetched_at": "2026-08-29T11:24:44.328237+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/plz-cli"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 97, "rhythm": 8}, "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": 1359, "days_push": 958, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 22, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}