kistn / laravel-client
Laravel plugin for the Kistn PHP client
Requires
- php: ^8.3
- guzzlehttp/guzzle: ^7.0
- guzzlehttp/psr7: ^2.0
- kistn/php-client: ^0.0.1
- laravel/framework: ^13.0
Requires (Dev)
- larastan/larastan: ^3.0
- mockery/mockery: ^1.6
- orchestra/testbench: ^11.0
- pestphp/pest: ^4.0
- rector/rector: ^2.0
This package is not auto-updated.
Last update: 2026-06-30 14:34:38 UTC
README
Laravel package wrapping kistn/php-client. Provides auto-discovery service provider and an Artisan command.
Installation
composer require kistn/laravel
Auto-discovered via extra.laravel.providers — no manual registration needed.
Configuration
Publish the config file:
php artisan vendor:publish --tag=kistn-config
Set credentials in .env:
KISTN_BASE_URL=https://your-server.example KISTN_PROJECT_ID=your-project-uuid-here KISTN_TOKEN=your-api-token-here
work_dir defaults to base_path() (project root). cache_path defaults to storage_path('app/private/kistn/.inventory.hash').
File transmission
By default the package uploads your lock and manifest files to the Kistn server
along with the inventory (composer.lock, composer.json, vendor/composer/installed.json,
package-lock.json, package.json). Control this per ecosystem:
KISTN_TRANSMIT_COMPOSER_FILES=true # true | false | on-demand KISTN_TRANSMIT_NPM_FILES=true # true | false | on-demand
true— always upload.false— never upload (inventory metadata only).on-demand— upload only when the package manager CLI is unavailable server-side.
Any unrecognized value falls back to false (never upload). Set these to false
if you do not want manifest contents leaving your environment.
Usage
php artisan inventory:push
Runs all configured collectors (Composer + npm) and pushes changed inventory to the server. Safe to run on every deploy — skips push when nothing changed.
How It Works
The ServiceProvider binds InventoryPusher as a singleton, wiring up:
InventoryClientbacked by GuzzleComposerCollectorpointing atwork_dir, withinstalled.jsonpreferred overcomposer.lockwhen presentNpmCollectorpointing atwork_dirLocalHashCacheatcache_path
See kistn/php-client for the full push flow.
Testing
composer run pest
composer run ci:check # phpstan + rector:check + pest