Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Reprogate

БесплатноНе проверен

GitHub Action and CLI that checks issues/PRs for reproduction steps, environment details, and logs

GitHubEmbed

Описание

GitHub Action and CLI that checks issues/PRs for reproduction steps, environment details, and logs

README

CI Action self-test Release License: MIT

ReproGate checks issues and PRs for reproduction steps, environment details, and logs.

It helps maintainers stop repeating the same question:

Can you provide reproduction steps, environment details, and logs?

It ships as a GitHub Action for issue and PR intake, plus a small CLI for reporters who need to generate a paste-ready reproduction report.

Add The Action

- uses: JinRudy/[email protected]

Use it on new or edited issues and pull requests:

name: reprogate
on:
  issues:
    types: [opened, edited]
  pull_request:
    types: [opened, edited, synchronize]

jobs:
  ready-check:
    runs-on: ubuntu-latest
    steps:
      - id: reprogate
        uses: JinRudy/[email protected]
      - run: echo "${{ steps.reprogate.outputs.summary }}"

To have ReproGate update one issue or pull request comment when evidence is missing:

- uses: JinRudy/[email protected]
  with:
    comment-on-missing: "true"

This requires issues: write permission in the caller workflow.

What It Checks

ReproGate looks for the evidence maintainers usually need before a bug is actionable:

  • reproduction steps
  • environment details
  • logs or command output

When evidence is missing, the Action exposes outputs such as ready, labels, missing, missing_count, and summary so your workflow can label, route, fail, or just report the result.

Need automated comments or labels? See the GitHub Actions recipes.

Fast Repository Setup

Generate the workflow and a matching bug report form:

reprogate init github-action
reprogate init issue-template

These commands write:

  • .github/workflows/reprogate.yml
  • .github/ISSUE_TEMPLATE/bug_report.yml

Reporter CLI

Reporters can generate a sanitized Markdown report from the failing command:

reprogate capture -- npm test

That writes .reprogate/repro.md, ready to paste into a GitHub issue, Stack Overflow question, or maintainer discussion.

Other Entry Points

  • reprogate ready-check: check issue or PR text from a local file or stdin.
  • reprogate redact: remove likely secrets before sharing logs.
  • reprogate mcp: let AI coding tools redact text and check issue quality over stdio.

Install

macOS and Linux:

curl -fsSL https://raw.githubusercontent.com/JinRudy/reprogate/main/scripts/install.sh | sh

Install a pinned version or custom directory:

curl -fsSL https://raw.githubusercontent.com/JinRudy/reprogate/main/scripts/install.sh | REPROGATE_VERSION=v0.1.9 BIN_DIR="$HOME/bin" sh

Go users can also install from source:

go install github.com/JinRudy/reprogate/cmd/reprogate@latest

For local development:

go run ./cmd/reprogate help

60-Second Demo

curl -fsSL https://raw.githubusercontent.com/JinRudy/reprogate/main/scripts/install.sh | sh
reprogate capture -- go test ./...
cat .reprogate/repro.md

Example report: docs/examples/repro.md

Demo issue: #1 shows how a low-signal report is flagged.

Initialize A Repository

Generate a ready-to-use workflow in the current repository:

reprogate init github-action

Generate a matching bug report issue form:

reprogate init issue-template

By default these write:

.github/workflows/reprogate.yml
.github/ISSUE_TEMPLATE/bug_report.yml

If the target file already exists, ReproGate leaves it untouched unless you pass --force.

Capture A Reproduction Report

reprogate capture -- npm test

By default this writes:

.reprogate/repro.md

The report includes:

  • command and exit code
  • OS and architecture
  • detected Go and Docker versions when available
  • dependency lockfile summary
  • sanitized logs
  • an explicit expected-behavior section for the reporter to fill in

Redact Logs

printf 'Authorization: Bearer abc123\npassword=hunter2\n' | reprogate redact

Example output:

Authorization: Bearer [REDACTED:bearer-token]
password=[REDACTED:secret-value]

Check Issue Or PR Readiness

reprogate ready-check --issue-body issue.md

or:

cat issue.md | reprogate ready-check

The output is JSON with labels and missing evidence.

MCP

Start the stdio MCP server:

reprogate mcp

Example MCP client config:

{
  "mcpServers": {
    "reprogate": {
      "command": "reprogate",
      "args": ["mcp"]
    }
  }
}

MCP tools:

  • redact_text: redact likely secrets, credentials, and private paths from text.
  • check_issue: check whether issue or PR text has reproduction steps, environment details, and logs.

AI client setup recipes: docs/recipes/ai-clients.md.

The MVP deliberately does not expose a command-execution MCP tool. Letting an AI run arbitrary local commands needs an explicit allowlist and confirmation model.

GitHub Action

Minimal workflow:

name: reprogate
on:
  issues:
    types: [opened, edited]
  pull_request:
    types: [opened, edited, synchronize]
jobs:
  ready-check:
    runs-on: ubuntu-latest
    steps:
      - id: reprogate
        uses: JinRudy/[email protected]
      - run: echo "${{ steps.reprogate.outputs.summary }}"

Strict mode fails the workflow when required evidence is missing:

- uses: JinRudy/[email protected]
  with:
    fail-on-missing: "true"

Action outputs:

Output Description
labels Comma-separated labels such as needs-repro,missing-env,missing-log.
missing Comma-separated missing evidence fields.
missing_count Number of missing evidence fields.
ready true when the issue or pull request is review-ready.
summary Human-readable readiness summary.
result_json Full readiness result as JSON.

Action inputs:

Input Default Description
event-path $GITHUB_EVENT_PATH Path to the GitHub event JSON file. Relative paths are resolved from the caller workspace.
fail-on-missing false Exit non-zero when reproduction steps, environment details, or logs are missing.
comment-on-missing false Post or update one issue or pull request comment when reproduction evidence is missing. Requires issues: write.
go-version 1.25 Go version used by the composite action to run ReproGate.

More copy-paste workflows: docs/recipes/github-actions.md.

Development

go test ./...
go run ./cmd/reprogate capture -- go env GOVERSION
go run ./cmd/reprogate ready-check < .reprogate/repro.md

License

MIT

from github.com/JinRudy/reprogate

Установка Reprogate

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/JinRudy/reprogate

FAQ

Reprogate MCP бесплатный?

Да, Reprogate MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Reprogate?

Нет, Reprogate работает без API-ключей и переменных окружения.

Reprogate — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Reprogate в Claude Desktop, Claude Code или Cursor?

Открой Reprogate на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Reprogate with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development