PHPackages                             akira/laravel-github - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. akira/laravel-github

ActiveLibrary[API Development](/categories/api)

akira/laravel-github
====================

Advanced GitHub API integration for Laravel 12 with typed DTOs and Collections.

1.x-dev(7mo ago)30MITPHPPHP ^8.4.0CI failing

Since Sep 29Pushed 7mo ago1 watchersCompare

[ Source](https://github.com/akira-io/laravel-github)[ Packagist](https://packagist.org/packages/akira/laravel-github)[ GitHub Sponsors](https://github.com/kidiatoliny)[ RSS](/packages/akira-laravel-github/feed)WikiDiscussions 1.x Synced 1mo ago

READMEChangelogDependencies (10)Versions (1)Used By (0)

Laravel GitHub
==============

[](#laravel-github)

A Laravel 12+ package to interact with the GitHub REST and GraphQL APIs using a strongly-typed, collection-friendly interface.

This package provides:

- Fully typed DTOs for common GitHub resources (users, repos, issues, PRs, actions, packages, dependabot, etc.).
- High-level service `GitHubManager` with caching and rate limiting.
- Artisan commands to quickly query GitHub resources.
- 100% test coverage with Pest and static analysis with Larastan.

---

Installation
------------

[](#installation)

```
composer require akira/laravel-github
php artisan vendor:publish --tag=config --provider="Akira\\GitHub\\GitHubServiceProvider"
```

---

Configuration
-------------

[](#configuration)

```
return [
    'token' => env('GITHUB_TOKEN', null),
    'cache' => [
        'ttl' => 300,
        'prefix' => 'github:',
        'ttls' => [
            'issues' => 60,
            'pulls' => 60,
            'releases' => 300,
        ],
    ],
    'pagination' => ['per_page' => 30],
    'rate_limiter' => ['max' => 60, 'decay_seconds' => 60],
    'events' => true,
];
```

---

Usage Examples
--------------

[](#usage-examples)

### Users

[](#users)

```
$user = GitHub::user('octocat');
$repos = GitHub::userRepos('octocat');
```

### Repositories

[](#repositories)

```
$repo = GitHub::repo('akira', 'hunter');
```

### Issues

[](#issues)

```
$issues = GitHub::issues('akira', 'hunter');
$new = GitHub::createIssue('akira', 'hunter', 'Bug', 'Description');
GitHub::commentOnIssue('akira', 'hunter', $new->number, 'Working on it!');
```

### Pull Requests

[](#pull-requests)

```
$prs = GitHub::pulls('akira', 'hunter');
```

### Releases

[](#releases)

```
$releases = GitHub::releases('akira', 'hunter');
```

### Organizations and Teams

[](#organizations-and-teams)

```
$org = GitHub::organization('akira-io');
$repos = GitHub::orgRepos('akira-io');
$teams = GitHub::teams('akira-io');
```

### Gists

[](#gists)

```
$gists = GitHub::gists('octocat');
$gist = GitHub::gist('123');
```

### GitHub Actions

[](#github-actions)

```
$runs = GitHub::actionsWorkflowRuns('akira', 'hunter');
GitHub::actionsRerun('akira', 'hunter', $runs[0]->id);
GitHub::actionsCancel('akira', 'hunter', $runs[0]->id);
GitHub::actionsDownloadArtifact('akira', 'hunter', $runs[0]->id, storage_path('artifact.zip'));
```

### Checks

[](#checks)

```
$checks = GitHub::checksForRef('akira', 'hunter', 'main');
```

### Packages

[](#packages)

```
$packages = GitHub::orgPackages('akira-io', 'container');
```

### Dependabot Alerts

[](#dependabot-alerts)

```
$alerts = GitHub::dependabotAlerts('akira', 'hunter');
```

### Projects V2 (GraphQL)

[](#projects-v2-graphql)

```
$projects = GitHub::projectsV2('akira');
```

### Webhook Verification

[](#webhook-verification)

```
$isValid = GitHub::verifyWebhookSignature($secret, $payload, $signature);
```

---

Artisan Commands
----------------

[](#artisan-commands)

```
php artisan github:user octocat
php artisan github:repo akira hunter
php artisan github:issue:list akira hunter
php artisan github:pr:list akira hunter
php artisan github:actions:runs akira hunter --per_page=5
```

---

📚 Documentation
---------------

[](#-documentation)

This package also includes a dedicated `docs/` folder with extended details:

- Installation — [docs/installation.md](docs/installation.md)
- Configuration — [docs/configuration.md](docs/configuration.md)
- Usage — [docs/usage.md](docs/usage.md)
- Commands — [docs/commands.md](docs/commands.md)
- Advanced Topics — [docs/advanced.md](docs/advanced.md)
- Contributing — [docs/contributing.md](docs/contributing.md)
- Roadmap — [docs/roadmap.md](docs/roadmap.md)

---

Project Structure
-----------------

[](#project-structure)

```
laravel-github/
├── src/                # Package source code
├── tests/              # Pest test suite
├── docs/               # Extended documentation
├── README.md           # Quick start & inline docs
├── composer.json
└── pest.php / phpunit.xml

```

---

Contributing
------------

[](#contributing)

1. Fork the repo
2. Create your feature branch (`git checkout -b feature/my-feature`)
3. Run tests (`composer test`)
4. Ensure code style and static analysis pass (`composer analyse`)
5. Submit a PR

---

License
-------

[](#license)

MIT

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance62

Regular maintenance activity

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

231d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c42e59ca0b3864a382dc0c3e290f8cf7d75bbe3eab10a3af0f71d5785f89d0bc?d=identicon)[kidiatoliny](/maintainers/kidiatoliny)

---

Top Contributors

[![kidiatoliny](https://avatars.githubusercontent.com/u/48266788?v=4)](https://github.com/kidiatoliny "kidiatoliny (14 commits)")

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/akira-laravel-github/health.svg)

```
[![Health](https://phpackages.com/badges/akira-laravel-github/health.svg)](https://phpackages.com/packages/akira-laravel-github)
```

###  Alternatives

[google/apiclient

Client library for Google APIs

9.8k191.4M997](/packages/google-apiclient)[docusign/esign-client

The Docusign PHP library makes integrating Docusign into your apps and websites a super fast and painless process. The library is open sourced on GitHub, look for the docusign-esign-php-client repository. Join the eSign revolution!

2087.4M13](/packages/docusign-esign-client)[messagebird/php-rest-api

MessageBird REST API client for PHP

1589.4M22](/packages/messagebird-php-rest-api)[get-stream/stream

A PHP client for Stream (https://getstream.io)

1451.3M8](/packages/get-stream-stream)[plivo/plivo-php

A PHP SDK to make voice calls &amp; send SMS using Plivo and to generate Plivo XML

1102.8M18](/packages/plivo-plivo-php)[plivo/php-sdk

A PHP SDK to make voice calls &amp; send SMS using Plivo and to generate Plivo XML

1101.9M5](/packages/plivo-php-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
