immich/docs/docs/developer/pr-checklist.md
Zack Pollard 37a3784d80
feat: docs.immich.app (#21819)
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-09-25 15:54:34 +01:00

2.2 KiB

PR Checklist

A minimal devcontainer is supplied with this repository. All commands can be executed directly inside this container to avoid tedious installation of the environment. :::warning The provided devcontainer isn't complete at the moment. At least all dockerized steps in the Makefile won't work (make dev, ....). Feel free to contribute! ::: When contributing code through a pull request, please check the following:

Web Checks

  • pnpm run lint (linting via ESLint)
  • pnpm run format (formatting via Prettier)
  • pnpm run check:svelte (Type checking via SvelteKit)
  • pnpm run check:typescript (check typescript)
  • pnpm test (unit tests)

Documentation

  • pnpm run format (formatting via Prettier)
  • Update the _redirects file if you have renamed a page or removed it from the documentation.

:::tip AIO Run all web checks with pnpm run check:all :::

Server Checks

  • pnpm run lint (linting via ESLint)
  • pnpm run format (formatting via Prettier)
  • pnpm run check (Type checking via tsc)
  • pnpm test (unit tests)

:::tip AIO Run all server checks with pnpm run check:all :::

:::info Auto Fix You can use pnpm run __:fix to potentially correct some issues automatically for pnpm run format and lint. :::

Mobile Checks

The following commands must be executed from within the mobile app directory of the codebase.

  • make build (auto-generate files using build_runner)
  • make analyze (static analysis via Dart Analyzer and DCM)
  • make format (formatting via Dart Formatter)
  • make test (unit tests)

:::info Auto Fix You can use dart fix --apply and dcm fix lib to potentially correct some issues automatically for make analyze. :::

OpenAPI

The OpenAPI client libraries need to be regenerated whenever there are changes to the immich-openapi-specs.json file. Note that you should not modify this file directly as it is auto-generated. See OpenAPI for more details.

Database Migrations

A database migration needs to be generated whenever there are changes to server/src/infra/src/entities. See Database Migration for more details.