PHPackages                             artisan-build/hone-client - 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. [Logging &amp; Monitoring](/categories/logging)
4. /
5. artisan-build/hone-client

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

artisan-build/hone-client
=========================

Routes a Laravel app's own laravel/nightwatch telemetry to a self-hosted Hone server. Installed in monitored apps.

v1.2.0(2w ago)0143↓50%MITPHPPHP ^8.2

Since Jun 11Pushed 2w agoCompare

[ Source](https://github.com/artisan-build/hone-client)[ Packagist](https://packagist.org/packages/artisan-build/hone-client)[ RSS](/packages/artisan-build-hone-client/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (14)Versions (4)Used By (0)

hone-client
===========

[](#hone-client)

The **send side** of [Hone](https://github.com/artisan-build/hone). Install it in a Laravel app you want to monitor. It redirects that app's own [`laravel/nightwatch`](https://github.com/laravel/nightwatch) telemetry to your self-hosted Hone server.

> **Read-only mirror.** This repository is a read-only split of the [`artisan-build/hone`](https://github.com/artisan-build/hone) monorepo. Issues and pull requests are disabled here — please open them on the monorepo.

What it does
------------

[](#what-it-does)

`hone-client` is thin by design — its only job is to redirect Nightwatch's output to your Hone app.

- **Rebinds the Nightwatch ingest transport** through a service provider. Nightwatch exposes its ingest as a swappable object on the container-bound `Core`; `hone-client` replaces it with one that batches records and POSTs them over HTTPS to your Hone server. No fork of `laravel/nightwatch`, no daemon, no on-disk buffer.
- **Batches and POSTs** a versioned envelope to `HONE_URL`, authenticating with `HONE_TOKEN`.
- **Fails open.** If the endpoint is unreachable, records are dropped after a bounded in-memory buffer. Your app must never block, slow, or error because telemetry shipping failed. The POST happens during request termination — after the response is sent.
- **Octane-safe** — no per-request static state leakage.

It does **not** do sampling (that lives in your Nightwatch config) and it adds **no redaction layer** (see [Privacy](#privacy)).

Activation — by presence of config, no boolean
----------------------------------------------

[](#activation--by-presence-of-config-no-boolean)

The rebind fires **only when both `HONE_URL` and `HONE_TOKEN` are present and non-empty.**

`HONE_URL``HONE_TOKEN`Behaviorsetset**Active** — telemetry ships to Hone.unsetunsetInert (the normal state for an app that isn't monitored).only one setInert, but **logs a warning** (half-configured).The kill switch is removing or commenting the `HONE_*` values.

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

[](#installation)

```
composer require artisan-build/hone-client
php artisan hone:install
```

`hone:install` wires the app for tracking: it sets `HONE_URL` / `HONE_TOKEN`, pins `hone-client` at a caret constraint (`^X`), and confirms your Nightwatch setup will activate. It is idempotent and asks for consent before touching any file.

### Setting up with a coding agent (skill)

[](#setting-up-with-a-coding-agent-skill)

This package ships a **`configuring-hone-client`** skill so a skill-aware coding agent (Claude Code, etc.) can do the whole setup for you. After `composer require`, it lives at:

```
vendor/artisan-build/hone-client/skills/configuring-hone-client/SKILL.md

```

Point your agent at that file (or copy the `configuring-hone-client/` directory into your project's `.claude/skills/`) and ask it to *"configure the Hone client."* The skill walks through the prerequisites, `hone:install`, **verifying the Nightwatch transport rebind is active** (the step that actually proves it's working), setting the `NIGHTWATCH_DEPLOY` deploy dimension, confirming receipt on the Hone server over MCP, and the common "telemetry isn't arriving" failure modes.

### Source-app environment

[](#source-app-environment)

```
NIGHTWATCH_ENABLED=true                       # Nightwatch collects when enabled (the default)
HONE_URL=https://hone..example/ingest
HONE_TOKEN=
