← Back to home
Comparison · Infra & APIs

gh vs goodpractice

A side-by-side editorial comparison of gh and goodpractice — release velocity, themes, recent moves, and the top alternatives to consider.

gh vs goodpractice: at a glance

Featureghgoodpractice
SectorInfra & APIsInfra & APIs
Velocity score2.50.0
Sparks · 30d00
Top themesgithub-api, http-client, pagination, token-handlingcode-quality, static-analysis, r-package, ropensci
Last editorial update3h ago51m ago
WebsiteVisit →Visit →

What is gh?

gh spent its last two releases making failures and interruptions recoverable.

The GitHub API client rebuilt on httr2 in 1.4.0, then took a security-driven breaking change in 1.5.0: response headers are no longer stored in returned objects, because they can carry sensitive information. The 1.6.0 release made interrupted pagination recoverable and downgraded personal access token format validation from an error to a warning.

Read the full gh trajectory →

What is goodpractice?

The R package-quality checker returns from CRAN limbo with checks you can select by category.

goodpractice runs a battery of static checks over an R package — style, complexity, test coverage, documentation, DESCRIPTION hygiene — and reports what a reviewer would flag. The package was archived on CRAN, adopted by rOpenSci in 1.0.5, and version 1.1 is the first substantive release since: every check now belongs to one of 16 named groups, discoverable via all_check_groups() and selectable via checks_by_group(), with group-level exclusion through an option or environment variable and new default_checks() and tidyverse_checks() presets.

Read the full goodpractice trajectory →

gh vs goodpractice: editorial side-by-side

G
gh
INFRA · APIS
2.5

gh spent its last two releases making failures and interruptions recoverable.

◆ Current state

The GitHub API client rebuilt on httr2 in 1.4.0, then took a security-driven breaking change in 1.5.0: response headers are no longer stored in returned objects, because they can carry sensitive information. The 1.6.0 release made interrupted pagination recoverable and downgraded personal access token format validation from an error to a warning.

◆ Where it's heading

The direction is tolerance for partial and unusual outcomes rather than new endpoint coverage. Interrupting a paginated call now raises a classed condition carrying the records already fetched; a 304 Not Modified returns an empty response with headers intact instead of erroring; an unrecognised token format warns and proceeds. A fake_github_app() built on webfakes ships for testing, and is offered to other package authors.

◆ Prediction

Token format handling is now configurable rather than fixed, so the next likely work is following GitHub's credential formats as they change, not expanding the client surface.

G
goodpractice
INFRA · APIS
0.0

The R package-quality checker returns from CRAN limbo with checks you can select by category.

◆ Current state

goodpractice runs a battery of static checks over an R package — style, complexity, test coverage, documentation, DESCRIPTION hygiene — and reports what a reviewer would flag. The package was archived on CRAN, adopted by rOpenSci in 1.0.5, and version 1.1 is the first substantive release since: every check now belongs to one of 16 named groups, discoverable via all_check_groups() and selectable via checks_by_group(), with group-level exclusion through an option or environment variable and new default_checks() and tidyverse_checks() presets.

◆ Where it's heading

The direction is from a monolithic verdict toward a configurable one. Previously the practical choices were run everything or name individual checks; grouping makes partial adoption tractable, which matters because the full battery is opinionated enough that teams either accept all of it or ignore the tool. The tidyverse_checks() preset makes that explicit — the package is acknowledging that its defaults encode one house style among several. Earlier releases pointed the same way with a configurable cyclomatic complexity limit and adjustable output length.

◆ Prediction

With grouping and presets in place, the natural next step is per-project persistent configuration so exclusions live in the repository rather than in an option or environment variable.

Alternatives to gh and goodpractice

Other Infra & APIs products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either gh or goodpractice.

See all gh alternatives → · See all goodpractice alternatives →

Recent activity from gh and goodpractice

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 25d agoghPagination progress bar reports true record counts
  2. 2mo agoghInterrupted pagination keeps its partial results
  3. 2mo agogoodpracticeChecks organized into 16 selectable groups with presets
  4. 1y agoghResponse headers dropped from results after a security advisory
  5. 2y agogoodpracticerOpenSci takes over maintenance, package restored to CRAN
  6. 2y agoghPagination helpers repaired and atomic file writes
  7. 3y agoghClient rebuilt on httr2 with rate-limit controls
  8. 3y agoghLower-case methods and richer error conditions
  9. 4y agogoodpracticeConfigurable cyclomatic complexity limit and output length
  10. 5y agogoodpracticePackage logo added

Frequently asked questions

What is the difference between gh and goodpractice?

They serve adjacent needs but don't currently overlap on shipped themes. gh is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is gh better than goodpractice?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. gh is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other Infra & APIs products to evaluate alongside.

What are the best alternatives to gh?

Top gh alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "gh alternatives" section above for the current picks, or visit /alternatives/gh for the full list with editorial commentary on each.

What are the best alternatives to goodpractice?

Top goodpractice alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "goodpractice alternatives" section above for the current picks, or visit /alternatives/goodpractice for the full list with editorial commentary on each.