Packages & installation
Use this page as the single entry point for every client library, script, and mirror repo that ships from the Lookout monorepo. Each row links to the canonical README (full API and configuration) and to the relevant HTTP docs where applicable.
Choose your integration (quick path)
- Laravel or PHP (errors, traces, logs, metrics, RUM, profiling) — Install
lookout/tracingvia Composer (see Installing lookout/tracing below). Deep reference: Ingest API, Protocol overview, Monitoring modes. - Rails — Copy
packages/lookout-rails/lib/lookout_framework.rbinto your app. Followpackages/lookout-rails/README.mdin the monorepo (or your split mirror). Not a gem; same ingest contract as step 1. Summary: Framework integrations. - WordPress — Copy
packages/lookout-wordpress/intowp-content/plugins/lookout/(seepackages/lookout-wordpress/README.md). Enable under Plugins, configure Settings → Lookout with base URL + project API key. Split mirror:SPLIT_LOOKOUT_WORDPRESS_REPO. - Terminal automation (projects, grouped errors, triage) — Install
lookout/cli(composer require --dev lookout/clior global). Uses Sanctum API tokens (Profile → API tokens) against/api/v1/*. Seepackages/lookout-cli/README.mdandlookout list. - Browser: uncaught JS errors — Host
public/js/lookout.jsfrom your Lookout app (or the split mirror forpublic/js) and add the script tag withdata-ingest-urlanddata-api-key. Details: rootREADME.mdsection JavaScript (frontend errors). - Browser: Web Vitals / SPA (RUM) — Use
packages/lookout-tracing/resources/rum/lookout-rum.js(same project API key; performance ingest must be enabled). Seepackages/lookout-tracing/README.md§ Real User Monitoring. - REST without SDK — API token (Profile → API tokens) or project API key per REST API (v1); OpenAPI: v1.yaml.
- Raw HTTPS only — Any client that can POST JSON: Ingest API.
Installing lookout/tracing
Laravel
From your Laravel app root (directory containing artisan):
composer require lookout/tracing
php artisan lookout:install
composer require updates composer.json / composer.lock and installs the package under vendor/. lookout:install prompts for a DSN (https://PROJECT_API_KEY@your-lookout-host.example.com) and appends LOOKOUT_DSN plus LOOKOUT_LARAVEL=true to .env (unless you use --no-quick). Alternatively set LOOKOUT_API_KEY and LOOKOUT_URL if everyone uses the same Lookout host.
Then: clear or rebuild config cache if you use config:cache; optionally php artisan vendor:publish --tag=lookout-tracing-config; register lookoutTracing.continueTrace (and performance middleware when needed) on your routes. Laravel auto-discovers the package service provider.
Step-by-step narrative: Framework integrations — Laravel.
Other PHP projects (not Laravel)
From your project root (where your composer.json lives):
composer require lookout/tracing
There is no Laravel provider: configure Tracer::instance()->configure([...]) with api_key and base_uri during bootstrap, and wire PSR-15 middleware, Guzzle, Monolog, or manual Tracing:: calls as needed. See packages/lookout-tracing/README.md sections Install → Other PHP projects, Propagation, and Guzzle 7.
Monorepo layout & mirror splits
These paths exist in the main Lookout repository. Maintainers can git subtree split each prefix to an empty GitHub mirror (workflow .github/workflows/package-split.yml; repository variables SPLIT_*).
| Deliverable | Monorepo path | Consumer install | Split variable (optional) |
|---|---|---|---|
lookout/tracing (Composer) |
packages/lookout-tracing |
composer require lookout/tracing |
SPLIT_LOOKOUT_TRACING_REPO |
lookout/cli (Composer) |
packages/lookout-cli |
composer require --dev lookout/cli |
SPLIT_LOOKOUT_CLI_REPO |
| Rails module (copy-paste) | packages/lookout-rails |
Copy lib/lookout_framework.rb |
SPLIT_LOOKOUT_RAILS_REPO |
| WordPress plugin | packages/lookout-wordpress |
Copy folder to wp-content/plugins/lookout/ |
SPLIT_LOOKOUT_WORDPRESS_REPO |
| RUM bundle | packages/lookout-tracing/resources/rum |
Script tag or mirror checkout | SPLIT_LOOKOUT_RUM_REPO |
Embed JS (lookout.js, pulse.js) |
public/js |
Static host or script src |
SPLIT_LOOKOUT_EMBED_JS_REPO |
The main app’s composer.json uses path repositories for packages/lookout-tracing and packages/lookout-cli during development ("lookout/tracing": "@dev", "lookout/cli": "@dev" in require-dev for the CLI).
Where to read next
| Topic | Document |
|---|---|
| Laravel env, glows, breadcrumbs, service provider | packages/lookout-tracing/README.md |
CLI commands, ship-logs, agent skill |
packages/lookout-cli/README.md |
Rails env, install!, report_exception |
packages/lookout-rails/README.md |
| WordPress: Settings → Lookout, test event | packages/lookout-wordpress/README.md |
| Product UI and workflows | Using the app |
| Framework comparison (short) | Framework integrations |