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. Auto-registers Laravel service provider; use Tracer, Tracing, lookout_logger(), lookout_metrics(), and the ingest helpers described in the package README. 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 personal access 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 — Personal access token or project API key per REST API (v1); OpenAPI: v1.yaml.
  8. Raw HTTPS only — Any client that can POST JSON: Ingest API.

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