Launchpad uses OAuth 1.0a HMAC-SHA1 for all authenticated API calls. CRH reads your credentials from environment variables at startup, so you don’t need to pass them explicitly when using the CLI. You only need credentials when writing back to Launchpad — reading public merge proposals works without any OAuth setup.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/goulinkh/code-review-harness/llms.txt
Use this file to discover all available pages before exploring further.
When you need authentication
| Operation | Auth required? |
|---|---|
| Reading a public merge proposal (metadata, diffs, comments) | No |
Posting inline comments or a summary vote (--sink launchpad) | Yes |
Dry-run output to stdout (--sink stdout) | No |
The
stdout sink writes the review as a single JSON line to standard output and never contacts the Launchpad API. You can use it as a fully credential-free dry-run mode.Environment variables
Set these three variables before runningcrh or starting your program:
| Variable | Description |
|---|---|
LP_ACCESS_TOKEN | Your OAuth access token |
LP_ACCESS_SECRET | Your OAuth access secret |
LP_CONSUMER_KEY | OAuth consumer key — defaults to crh when omitted |
Passing credentials programmatically
When you embed CRH in a TypeScript program, pass credentials directly tocreateLaunchpadProvider or createLaunchpadSink via LaunchpadProviderOptions:
accessToken— your OAuth access tokenaccessSecret— your OAuth access secretconsumerKey— OAuth consumer key (defaults tocrh)