Projects
A project holds the screenshots from one app or site: its builds, baselines, tokens and settings. Most teams use one project per repository.
Create a project
Organization owners and admins create projects. Members see No projects available until someone grants them access (see Team and roles).
- On Projects, select New project, or Create your first project in an empty organization.
- Fill in:
- Name: shown in the app. There’s no field to change it later.
- Slug: the project’s ID in URLs and in CI (
PIXMOAT_PROJECT). Use 2 to 64 lowercase letters, digits and hyphens, not starting or ending with a hyphen. Slugs are unique across pixmoat. The slug can’t be changed later. - Default branch: usually
main. Builds on this branch set the baselines that other branches are compared with (see Baselines and branches). - CI Mode: Blocking fails the CI check until someone reviews a visual change. Report only keeps it green. You can change this later in Settings → General.
- Select Create project.
If you see “slug already exists”, choose another slug. If you see Plan limit reached, the organization has as many projects as its plan allows. Delete a project you don’t need, or upgrade (see Billing).
The setup checklist
A project with no builds shows No builds yet and a four-step checklist. It goes away once the first build arrives. You can’t dismiss it.
The checklist’s first two steps, Create a project access token and Install the Playwright client, are what every setup needs. The third step, Register the reporter, sets up the Playwright reporter. The reporter is in beta, and it can mark screenshots as removed when a run skips tests or an upload fails.
Follow Your first build or Connect Playwright instead. They use the fixture, which doesn’t have that problem.
Build history
Old builds are deleted automatically. The project’s Settings → Build history tab controls when.
Your plan sets the longest time a build can be kept, shown at the top of the tab. A project can clean up sooner, but can’t keep builds longer than the plan allows.
- Keep latest builds: keep only this many recent builds per branch. Leave it empty to keep all of them, within the age limit.
- Maximum build age (days): delete builds older than this. Leave it empty to use the plan’s limit.
- Per-branch overrides: select Add branch rule to set different limits for branches that match a Branch pattern.
*matches any characters, such asrelease/*. The first matching rule wins.
Select Save changes. A cleanup runs every few hours, so a change can take a few hours to show.
What the cleanup removes and keeps:
- A build that falls outside either limit is deleted with its screenshots. Deleted builds can’t be recovered.
- Builds that are still Running, Uploaded or In Review are never deleted.
- The current baseline of every snapshot is never deleted. Older baseline versions keep their history entry but lose their image after the plan’s retention period. See Pruned historical images.
Visual baseline images saved for a build’s comparisons remain available until that build is deleted or retried. Pruning an old baseline-history entry does not remove an image still needed by a saved build.
Reset to defaults sets 50 builds per branch and 90 days, or your plan’s limit if that’s shorter.
Delete a project
Organization owners and admins can delete a project. Project admins who aren’t organization admins see the button, but pixmoat refuses with “only org owner or admin can delete projects”.
- Open the project’s Settings → General tab and scroll to Danger zone.
- Select Delete project.
- Type the project’s slug (not its name) and select Delete permanently.
Deletion is immediate and can’t be undone. It removes every build, screenshot, baseline, access token and member grant in the project. Any CI job that still uploads to the project fails with 401 or 404. Remove the job or point it at another project.
The slug becomes free again, so you can create a new project with the same slug. It starts without baselines.