kistn/laravel-client

Laravel plugin for the Kistn PHP client

Maintainers

Package info

github.com/cdoebler/kistn-laravel

pkg:composer/kistn/laravel-client

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.0.1 2026-06-29 15:22 UTC

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:

  • InventoryClient backed by Guzzle
  • ComposerCollector pointing at work_dir, with installed.json preferred over composer.lock when present
  • NpmCollector pointing at work_dir
  • LocalHashCache at cache_path

See kistn/php-client for the full push flow.

Testing

composer run pest
composer run ci:check   # phpstan + rector:check + pest