PHPackages                             wyxos/shift-php - 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. wyxos/shift-php

ActiveLibrary[API Development](/categories/api)

wyxos/shift-php
===============

Laravel SDK to integrate and sync tasks with the SHIFT Dashboard.

v1.1.60(3w ago)1185MITPHP

Since May 5Pushed 2w ago2 watchersCompare

[ Source](https://github.com/wyxos/shift-php)[ Packagist](https://packagist.org/packages/wyxos/shift-php)[ RSS](/packages/wyxos-shift-php/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependencies (3)Versions (117)Used By (0)

SHIFT php for Laravel
=====================

[](#shift-php-for-laravel)

[![Latest Version on Packagist](https://camo.githubusercontent.com/1573d61abc37f3f2d202737bb1aece28149f9fd7c16791a96e14cc7f14c05239/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7779786f732f73686966742d7068702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/wyxos/shift-php)[![MIT Licensed](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)

A Laravel package for submitting tasks to the SHIFT Dashboard from within your application. It provides a Vue-based UI component plus API endpoints to send issue reports or feature requests directly to your SHIFT project.

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

[](#installation)

```
composer require wyxos/shift-php
php artisan install:shift
```

By default, `install:shift` now uses the SHIFT browser/device verification flow:

- Validates `APP_ENV` and `APP_URL`
- Creates a SHIFT install session
- Prints the verification URL and short code for browser approval
- Polls until the session is approved or expires
- Loads the projects you can install into and lets you choose one, or create a new standalone SHIFT project if none exist yet
- Finalizes the install and writes `SHIFT_TOKEN` / `SHIFT_PROJECT`
- Registers the current app environment for external collaborator lookup
- Scaffolds `App\Services\ShiftCollaboratorResolver` when it does not exist
- Publishes frontend and config files

If `SHIFT_TOKEN` and `SHIFT_PROJECT` are already configured, the installer keeps using those values and skips browser verification.

If you need the old raw-token path, run:

```
php artisan install:shift --manual
```

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

[](#configuration)

Add your SHIFT credentials to `.env`:

```
SHIFT_TOKEN=your-api-token
SHIFT_PROJECT=your-project-token
SHIFT_URL=https://shift.wyxos.com
SHIFT_COLLABORATORS_RESOLVER=App\Services\ShiftCollaboratorResolver
```

Optional: publish config to customize routes and middleware.

```
php artisan vendor:publish --tag=shift
```

`config/shift.php` example:

```
return [
    'token' => env('SHIFT_TOKEN'),
    'project' => env('SHIFT_PROJECT'),
    'url' => env('SHIFT_URL', 'https://shift.wyxos.com'),
    'routes' => [
        'prefix' => 'shift',
        'middleware' => ['web', 'auth'],
    ],
];
```

Usage
-----

[](#usage)

### UI Dashboard

[](#ui-dashboard)

After installing, the task submission UI is available at:

```
/shift

```

This route uses the default `web` and `auth` middleware unless you customize it.

### API Endpoints

[](#api-endpoints)

All endpoints are prefixed by default with `/shift/api` and require authentication:

- `GET /shift/api/tasks` - List tasks
- `POST /shift/api/tasks` - Create a new task
- `GET /shift/api/tasks/{id}` - View a task
- `PUT /shift/api/tasks/{id}` - Update a task

You can interact with them using Laravel's `Http` facade:

```
$response = Http::post('/shift/api/tasks', [
    'title' => 'Bug in report form',
    'description' => 'Submit button does not work on mobile.',
]);
```

When tasks are submitted, the package automatically includes:

- The authenticated user's name, email, and ID
- The current environment and application URL

### External Collaborators

[](#external-collaborators)

`install:shift` registers the current consumer environment with SHIFT, and the package exposes:

- `GET /shift/api/collaborators/external`

SHIFT calls this endpoint using the project token to retrieve eligible external users for the selected project environment.

The generated resolver is intentionally permissive only for `APP_ENV=local`. For every other environment it returns no users until you replace the TODO stub with your app-specific rules.

Testing
-------

[](#testing)

Run a test submission with:

```
php artisan shift:test
```

This creates a dummy task to verify setup.

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

[](#artisan-commands)

- `install:shift` - Interactive installation
- `install:shift --manual` - Manual raw token and project entry
- `shift:test` - Submit a test task
- `shift:publish` - Manually publish package assets

License
-------

[](#license)

MIT [Wyxos](https://wyxos.com). See [LICENSE.md](LICENSE.md) for details.

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance95

Actively maintained with recent releases

Popularity16

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 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

Every ~3 days

Total

116

Last Release

27d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/23614232?v=4)[Wyxos](/maintainers/wyxos)[@wyxos](https://github.com/wyxos)

---

Top Contributors

[![wyxos](https://avatars.githubusercontent.com/u/23614232?v=4)](https://github.com/wyxos "wyxos (264 commits)")

### Embed Badge

![Health badge](/badges/wyxos-shift-php/health.svg)

```
[![Health](https://phpackages.com/badges/wyxos-shift-php/health.svg)](https://phpackages.com/packages/wyxos-shift-php)
```

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35816.3M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24015.5M18](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172437.8k11](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

93452.6k6](/packages/botman-driver-telegram)

PHPackages © 2026

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