62 lines
2.4 KiB
Markdown
62 lines
2.4 KiB
Markdown
# PR Draft: Add workflow agent commands for issue triage, repository health, and PR summaries
|
|
|
|
## Summary
|
|
|
|
This PR adds `workflow +triage`, `workflow +health`, and `workflow +pr-summary` with safe read-only analysis modes:
|
|
|
|
- local flags
|
|
- local JSON input
|
|
- read-only GitLink fetch mode
|
|
|
|
It also adds stable `json`, `table`, and `markdown` rendering for Agent consumption.
|
|
|
|
## Motivation
|
|
|
|
- Help maintainers triage issues faster
|
|
- Provide a structured repository health overview
|
|
- Summarize pull requests with review focus, test suggestions, and merge checklist output
|
|
- Give AI Agents stable machine-readable output
|
|
- Keep the workflow local-first and safe by default
|
|
- Avoid any dependency on external LLM APIs
|
|
|
|
## Changes
|
|
|
|
- New `shortcuts/workflow` rule engine and DTOs
|
|
- Local command layer for `workflow +triage` and `workflow +health`
|
|
- Local and remote command layer for `workflow +pr-summary`
|
|
- Workflow-local renderer for `json`, `table`, and `markdown`
|
|
- Read-only GitLink fetch and normalization helpers
|
|
- Unit tests for rules, fetch normalization, rendering, and command wiring
|
|
- Competition and test documentation updates
|
|
|
|
## Safety
|
|
|
|
- Remote mode is read-only
|
|
- No comment, label, close, approve, reject, merge, or release write actions
|
|
- Health scoring tolerates unknown or unavailable metrics
|
|
- Test fixtures do not contain secrets or tokens
|
|
|
|
## Tests
|
|
|
|
- `gofmt -w shortcuts/workflow/*.go shortcuts/register.go`
|
|
- `go test ./shortcuts/workflow`
|
|
- `go test ./...`
|
|
- `httptest` coverage for API normalization and fetch tolerance
|
|
- Manual command examples in local and remote read-only modes
|
|
- PR summary tests for change type, risk level, partial fetch failures, renderers, and command wiring
|
|
|
|
## Known Limitations
|
|
|
|
- Real API response shapes may still require minor normalization tweaks
|
|
- Write operations are intentionally deferred to a later PR
|
|
- `release-notes` and `stale` are planned next
|
|
|
|
## Screenshots or Examples
|
|
|
|
```bash
|
|
gitlink-cli workflow +triage --title "Token leaked in logs" --body "The access token appears in command output" --format json
|
|
gitlink-cli workflow +health --repository Gitlink/gitlink-cli --open-issues 3 --open-prs 1 --has-readme --has-license --has-contributing --agent-readiness-known --agent-readiness-score 9 --format table
|
|
gitlink-cli workflow +triage --owner Gitlink --repo gitlink-cli --state open --limit 5 --format table
|
|
gitlink-cli workflow +pr-summary --owner Gitlink --repo gitlink-cli --number 1 --format markdown
|
|
```
|