dglazkov / dglazkov/gloop

gloop doctor: preflight repo-settings and environment check

Open
#51 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement priority:low
Dominant language
TypeScript
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Problem

Every one of the 8 landed PRs in the fishtank run printed:

gloop auto-merge is not allowed for this repository; enable it with `gh api -X PATCH repos/... -F allow_auto_merge=true`

The direct-merge fallback (#37) worked, so nothing broke — but the actionable warning scrolled by 8 times in mid-run output where an operator watching GitHub (not stdout) never sees it, and repo misconfiguration was only discoverable after starting a run.

Proposal

A gloop doctor subcommand (or a preflight block on first run) that checks the repo/environment against gloop's expectations and reports actionable findings once, up front:

  • allow_auto_merge enabled (or explicit note that direct-merge fallback will be used)
  • required labels present (gloop:*, priority:*) — today they're created lazily
  • gh authed with sufficient scopes; clean working tree; default-branch protection compatible with squash-merge
  • runtime deps the verify loop needs (node version; Java for Firebase-emulator repos is repo-specific, so keep this list config-driven via .gloop.json)

Exit non-zero on hard blockers, warn on soft ones.

Acceptance

  • gloop doctor runs read-only, prints pass/warn/fail per check with the fix command.
  • First gloop run surfaces the same summary once (not per-land).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the proposed gloop doctor entry point and the .gloop.json configuration described in the issue. Define the read-only repository and environment checks, distinguishing hard blockers from soft warnings. Done means the command reports pass/warn/fail results with fix commands, exits non-zero for blockers, and the first gloop run shows the summary only once.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, node.js, typescript
Domain
cli, devops
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.