Configuration
How to configure Mneme per-installation and per-repository via the dashboard.
Mneme is configured via the dashboard settings UI. Configuration is stored in the database at two levels: installation-level (applies to all repos) and per-repo overrides (customize individual repositories).
Dashboard Settings
Navigate to Dashboard → Settings to configure your installation. Settings are organized into sections:
- Analyzers — enable/disable Lens, set timeouts, viewports, routes
- Scope — control which files are analyzed
- Ignore rules — skip specific paths or bot authors
- Connectors — enable/disable signal sources (GitHub, Slack, Linear, Jira, Stripe)
- Enrichment — toggle PR enrichment with signal context
Per-Repo Overrides
Each repository can override installation-level settings. Overrides use deep-merge semantics:
- Objects are recursively merged (e.g., overriding
lens.timeoutpreserveslens.enabled) - Arrays are replaced, not concatenated (e.g., overriding
ignorePathsreplaces the full list)
To set per-repo overrides, go to Dashboard → Settings → Repository Overrides and select the repository.
Schema Reference
lens
Configuration for the Lens visual regression analyzer.
| Field | Type | Default | Description |
|---|---|---|---|
enabled | boolean | false | Enable Lens analyzer |
timeout | number | 300 | Max execution time in seconds |
viewport.width | number | 1280 | Browser viewport width |
viewport.height | number | 720 | Browser viewport height |
routes | string[] | ["/"] | URL paths to capture (must start with /) |
skipExistingTests | boolean | false | Skip routes that already have tests |
e2bTemplate | string | — | Custom E2B sandbox template ID |
pauseResume.enabled | boolean | false | Enable pause/resume for long-running captures |
scope
Controls which files Mneme considers when analyzing pull requests.
| Field | Type | Default | Description |
|---|---|---|---|
include | string[] | ["**/*"] | Glob patterns for files to include |
exclude | string[] | [] | Glob patterns for files to exclude |
ignorePaths
Type: string[]
Default: []
File paths to completely ignore. Unlike scope.exclude, these files are never processed by any part of the system.
ignoreAuthors
Type: string[]
Default: []
Git authors to ignore. Useful for bots like Dependabot or Renovate.
signals
Configuration for signal ingestion sources. Managed via Dashboard → Connectors.
signals.github
| Field | Type | Default | Description |
|---|---|---|---|
enabled | boolean | true | Enable GitHub signal ingestion |
events | string[] | ["push", "issues", "issue_comment", "pull_request_review", "pull_request_review_comment"] | GitHub event types to process |
signals.slack
| Field | Type | Default | Description |
|---|---|---|---|
enabled | boolean | false | Enable Slack signal ingestion |
signals.linear
| Field | Type | Default | Description |
|---|---|---|---|
enabled | boolean | false | Enable Linear signal ingestion |
teamIds | string[] | [] | Linear team IDs to monitor |
signals.jira
| Field | Type | Default | Description |
|---|---|---|---|
enabled | boolean | false | Enable Jira signal ingestion |
signals.stripe
| Field | Type | Default | Description |
|---|---|---|---|
enabled | boolean | false | Enable Stripe signal ingestion |
signals.enrichPR
Type: boolean
Default: true
When enabled, relevant signals are used to enrich open PR analyses with additional context.
Defaults
When no configuration exists (new installations), Mneme uses these defaults:
- Lens analyzer: disabled
- Scope: all files included, none excluded
- GitHub signals: enabled with default events
- Slack, Linear, Jira, and Stripe signals: disabled
- PR enrichment: enabled