Lookout

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)

  1. Laravel or PHP (errors, traces, logs, metrics, RUM, profiling) — Install lookout/tracing via Composer (see Installing lookout/tracing below). Deep reference: Ingest API, Protocol overview, Monitoring modes.
  2. Rails — Copy packages/lookout-rails/lib/lookout_framework.rb into your app. Follow packages/lookout-rails/README.md in the monorepo (or your split mirror). Not a gem; same ingest contract as step 1. Summary: Framework integrations.
  3. WordPress — Copy packages/lookout-wordpress/ into wp-content/plugins/lookout/ (see packages/lookout-wordpress/README.md). Enable under Plugins, configure Settings → Lookout with base URL + project API key. Split mirror: SPLIT_LOOKOUT_WORDPRESS_REPO.
  4. Terminal automation (projects, grouped errors, triage) — Install lookout/cli (composer require --dev lookout/cli or global). Uses Sanctum API tokens (Profile → API tokens) against /api/v1/*. See packages/lookout-cli/README.md and lookout list.
  5. Browser: uncaught JS errors — Host public/js/lookout.js from your Lookout app (or the split mirror for public/js) and add the script tag with data-ingest-url and data-api-key. Details: root README.md section JavaScript (frontend errors).
  6. Browser: Web Vitals / SPA (RUM) — Use packages/lookout-tracing/resources/rum/lookout-rum.js (same project API key; performance ingest must be enabled). See packages/lookout-tracing/README.md § Real User Monitoring.
  7. REST without SDK — API token (Profile → API tokens) or project API key per REST API (v1); OpenAPI: v1.yaml.
  8. 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