{"id":47881345,"url":"https://github.com/kuberocketci/cli","last_synced_at":"2026-04-23T16:01:32.769Z","repository":{"id":344803745,"uuid":"1182632414","full_name":"KubeRocketCI/cli","owner":"KubeRocketCI","description":"Command-line interface for KubeRocketCI platform - enables developers and AI agents to manage projects, deployments, pipelines, and environments from the terminal","archived":false,"fork":false,"pushed_at":"2026-04-20T11:30:24.000Z","size":171,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-20T13:50:46.633Z","etag":null,"topics":["ai-agents","ci-cd","cli","developer-tools","devops","devsecops","golang","internal-developer-platform","keycloak","kubernetes","kuberocketci","oidc","platform-engineering"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KubeRocketCI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-15T19:19:50.000Z","updated_at":"2026-04-20T11:25:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/KubeRocketCI/cli","commit_stats":null,"previous_names":["kuberocketci/cli"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/KubeRocketCI/cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KubeRocketCI%2Fcli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KubeRocketCI%2Fcli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KubeRocketCI%2Fcli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KubeRocketCI%2Fcli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KubeRocketCI","download_url":"https://codeload.github.com/KubeRocketCI/cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KubeRocketCI%2Fcli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32187404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-23T15:28:30.493Z","status":"ssl_error","status_checked_at":"2026-04-23T15:28:29.972Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","ci-cd","cli","developer-tools","devops","devsecops","golang","internal-developer-platform","keycloak","kubernetes","kuberocketci","oidc","platform-engineering"],"created_at":"2026-04-04T01:47:31.281Z","updated_at":"2026-04-23T16:01:32.761Z","avatar_url":"https://github.com/KubeRocketCI.png","language":"Go","readme":"# KubeRocketCI CLI\n\n| :heavy_exclamation_mark: Please refer to the [KubeRocketCI documentation](https://docs.kuberocketci.io/) to get the notion of the main concepts and guidelines. |\n| --- |\n\n`krci` is the command-line companion for the [KubeRocketCI](https://kuberocketci.io)\nplatform — inspect projects, deployments, pipeline runs, and SonarQube state\nstraight from the terminal, with JSON output ready for agent workflows.\n\n## From chat to fix — CLI + AI agent\n\n`krci` is built to pair with an AI coding assistant (Claude Code, Cursor,\nCopilot CLI, etc.). Every data command emits predictable JSON under\n`-o json`, so an agent can **discover** resources by filter (no hard-coded\nnames) and then **drill in** — a list → get chain the agent plans on its\nown from your natural-language question.\n\n### *\"Check all my PRs that have failed and analyze the logs\"*\n\n```bash\n# 1. Discover failed runs for the author — no run names needed up front\nkrci run list --author \"jane\" --status failed -o json\n\n# 2. For each name in .pipelineRuns[].name, fan out a diagnosis:\n#    task tree + failed step + relevant log lines\nkrci run get \u003cname\u003e --reason -o json\n```\n\n### *\"What's the reason the pipeline is failing on PR 44?\"*\n\n```bash\n# --reason on list targets the most recent matching run automatically,\n# so the agent never has to know the run name\nkrci run list --project my-app --pr 44 --reason -o json\n```\n\n### *\"Check quality gates for each of my projects\"*\n\n```bash\n# sonar list already carries the per-project quality-gate verdict\nkrci sonar list -o json | jq '.data.projects[] | {key, qualityGateStatus}'\n\n# Drill into any red ones\nkrci sonar gate \u003ckey\u003e -o json\nkrci sonar issues \u003ckey\u003e --severity BLOCKER,CRITICAL -o json\n```\n\n### *\"Is `keycloak-operator` healthy right now?\"*\n\n```bash\n# One-shot snapshot: measures + gate + top offenders\nkrci sonar get keycloak-operator -o json\nkrci sonar issues keycloak-operator --severity BLOCKER,CRITICAL -o json\n```\n\n### Target state\n\nQuestions we want the agent to answer next, keeping the same\nlist-then-drill pattern:\n\n```bash\n# \"On which environments is version 1.4.2 of payments-api deployed?\"\n# \"Which deployments include the payments-api application?\"\n# \"Show me the promotion history for my-pipeline.\"\n```\n\nWhy this works: the CLI only talks to the KubeRocketCI Portal (no direct\ncluster access), tokens stay encrypted on disk, and the JSON shapes are\nstable enough to treat `krci` as a first-class agent tool.\n\n## What it does\n\n| Area          | What you get                                                                     | Docs                                      |\n|---------------|----------------------------------------------------------------------------------|-------------------------------------------|\n| Authentication | OIDC + PKCE browser flow, AES-256-GCM token storage, OS keyring integration      | [`docs/auth.md`](docs/auth.md)            |\n| Projects       | List and inspect `Codebase` resources                                            | [`docs/project.md`](docs/project.md)      |\n| Deployments    | Inspect `CDPipeline` resources, their apps, environments, and promotion gates    | [`docs/deployment.md`](docs/deployment.md)|\n| Pipeline runs  | List, filter, stream logs, and diagnose failures across Tekton runs              | [`docs/pipelinerun.md`](docs/pipelinerun.md) |\n| SonarQube      | Projects, quality gates, measures, and issues via the Portal's Sonar binding     | [`docs/sonar.md`](docs/sonar.md)          |\n\nEvery data command accepts `-o table` (default) or `-o json`. Tables render\nnicely on a TTY, plain text into pipes, JSON for automation.\n\n## Install\n\n```bash\nbrew tap KubeRocketCI/homebrew-tap\nbrew install krci\n```\n\nOr grab a binary from [GitHub Releases](https://github.com/KubeRocketCI/cli/releases).\n\n## 30-second tour\n\n```bash\n# Sign in\nkrci auth login --portal-url https://portal.example.com\n\n# See what's there\nkrci project list\nkrci deployment list\nkrci pipelinerun list --project keycloak-operator\n\n# Diagnose a failing run\nkrci run list --project keycloak-operator --pr 336 --reason\n\n# Check a SonarQube gate\nkrci sonar gate keycloak-operator\n```\n\nEach command has a `--help` page. Deeper walk-throughs live in `docs/` —\nstart with the area you care about.\n\n## Commands\n\n```\nkrci [--portal-url \u003curl\u003e]\n  auth        login | status | logout\n  project     list | get \u003cname\u003e\n  deployment  list | get \u003cname\u003e\n  pipelinerun list | get \u003cname\u003e       (also filters, --logs, --reason)\n  sonar       list | get | gate | issues \u003cproject\u003e\n  version\n```\n\n**Aliases:** `project` → `proj`, `deployment` → `dp`, `pipelinerun` → `run`\n\n## Configuration\n\n| Flag           | Env               | Description             |\n|----------------|-------------------|-------------------------|\n| `--portal-url` | `KRCI_PORTAL_URL` | KubeRocketCI Portal URL |\n\nIssuer URL, cluster name, and namespace are auto-discovered from the\nPortal on `auth login`.\n\n| Path                         | Purpose                                     |\n|------------------------------|---------------------------------------------|\n| `~/.config/krci/config.yaml` | Portal URL and discovered metadata          |\n| `~/.config/krci/tokens.enc`  | AES-encrypted tokens; key lives in keyring  |\n\n## Build from source\n\n```bash\nmake build        # → dist/krci\nmake ci           # lint → test → build\n```\n\nRequires Go 1.26+. For running against a local portal, see\n[`docs/development.md`](docs/development.md).\n\n## License\n\n[Apache License 2.0](LICENSE)\n\n## Related reading\n\n- [KubeRocketCI Documentation](https://docs.kuberocketci.io/)\n- [Developer Guide](https://docs.kuberocketci.io/docs/next/developer-guide)\n- [Install KubeRocketCI](https://docs.kuberocketci.io/docs/next/operator-guide/installation-overview)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkuberocketci%2Fcli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkuberocketci%2Fcli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkuberocketci%2Fcli/lists"}