Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Github Zero Laravel Package

jordanpartridge/github-zero

jordanpartridge/github-zero is a lightweight Laravel/PHP package from Jordan Partridge that offers a simple, low-configuration starting point for GitHub integration, helping you add GitHub-related workflows to your app without unnecessary setup or boilerplate.

View on GitHub
Deep Wiki
Context7

Getting Started

jordanpartridge/github-zero is a Laravel Zero–based CLI toolkit for working with GitHub from the terminal. The v1.1.0.1 patch is a compatibility fix for Laravel Prompts inside the Laravel Zero runtime, so the interactive prompts (text, select, confirm, spin) now behave correctly when the tool runs as a standalone PHAR/binary rather than inside a full Laravel app.

Minimal steps:

  1. Install the package:
    composer require jordanpartridge/github-zero
    
  2. Provide credentials — set a GitHub token in your environment (typically GITHUB_TOKEN) with the scopes your workflow needs (repo, read:org, workflow as applicable).
  3. Run the tool's command list to see what's available:
    ./github-zero list
    
  4. Run your first interactive command (anything that resolves a repo/issue/PR). With v1.1.0.1 you should see prompts render and accept input correctly instead of hanging or throwing a Prompts-related exception.

Where to look first: the package's README, its command classes (usually under app/Commands or src/Commands), and config/commands.php in the Laravel Zero app to see how commands are registered. Check the v1.1.0...v1.1.0.1 diff if you were previously working around the Prompts issue.

Implementation Patterns

  • Interactive-first workflows. The package leans on Laravel Prompts for selecting repos, issues, and PRs. Structure your own commands the same way: gather context with select()/search(), confirm destructive actions with confirm(), and wrap network calls in spin() so long GitHub API calls show progress.
  • Non-interactive/CI mode. Every Prompts-based command should have a flag or option path that bypasses prompts (e.g. --repo=, --pr=, --no-interaction). This is the pattern to replicate when you add commands, and it's what makes the tool scriptable in GitHub Actions.
  • Service container usage. Resolve the GitHub client from the container rather than instantiating it ad hoc, so token/config resolution stays in one place and is easy to fake in tests.
  • Composition over forking. Add your own Laravel Zero commands that call into the package's services instead of editing vendor code — keeps upgrades (like this patch) painless.
  • Scheduling. In a Laravel Zero app you can schedule commands in Kernel::schedule(); combine with the non-interactive flags above for recurring repo hygiene tasks (stale issues, PR triage summaries).

Integration tips:

  • Pin laravel/prompts and laravel-zero/framework to compatible ranges in composer.json — the 1.1.0.1 fix is precisely the kind of drift that bites when either side moves.
  • If you embed this in a larger Laravel app (not Laravel Zero), the Prompts fix is a no-op for you, but keep the version current anyway for consistency.

Gotchas and Tips

  • TTY dependence. Laravel Prompts require an interactive terminal. Piping output, running under CI, or invoking from another process will fail or block unless you pass --no-interaction or explicit options. Test both paths.
  • The 1.1.0.1 fix is narrow. It targets Laravel Zero + Prompts compatibility specifically. If you're on plain Laravel or an older Laravel Zero, verify your framework version still satisfies the package's constraints before upgrading — this is a patch bump, not a feature release.
  • Token scopes are the usual failure mode. A 404 from GitHub often means "no access" rather than "doesn't exist" — check scopes before debugging code.
  • Rate limits. Unauthenticated or low-scope tokens hit the 60 req/hr ceiling fast. Surface X-RateLimit-Remaining in verbose output when building on top of the client.
  • Testing prompts. Use Prompts::fake() and assert against Prompts::assertPrompted(); do not rely on real STDIN in tests. This is also a good way to catch regressions if you bump Laravel Zero/Prompts again.
  • Extension points. Prefer adding commands and binding your own implementations of the GitHub client interface over patching the package. If you must work around upstream behavior, keep the workaround isolated behind a config flag so you can drop it on the next release.
  • Upgrade check. After bumping to 1.1.0.1, re-run any interactive commands you depend on and confirm prompts render in your target runtime (plain terminal, PHAR, Docker without TTY). Docker without -it is the most common place this regresses.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource