immich/cli
Jorge Montejo 7ee1b977c1
feat(cli): add debug development config (#22712)
* add debug and change ts-node with tsx

* update pr changes

* update pnpm-lock

* remove ts-node from readme

* typo

* resolve conflicts

* remove tsx

* launch from dist

* add preLaunchTask

* update readme

* undo main in package.json

* remove typo

* Apply suggestion from @bwees

Co-authored-by: Brandon Wees <brandonwees@gmail.com>

* revert pnpm-lock changes

* @jrasm91 suggestions

* chore: run node with source maps

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: Brandon Wees <brandonwees@gmail.com>
2025-10-08 17:08:33 +00:00
..
bin feat: bin for cli (#19648) 2025-07-01 08:00:41 -04:00
src fix: cli upload deletes files that failed uploading (#19140) 2025-06-12 17:32:35 -04:00
.editorconfig feat(cli) Add new CLI (#3066) 2023-07-06 09:37:47 -05:00
.gitignore test(cli): e2e testing (#5101) 2023-12-18 20:29:26 -06:00
.npmignore chore(cli): clean up files (#7955) 2024-03-14 13:09:27 -04:00
.nvmrc chore(deps): update node.js to v22.20.0 (#22496) 2025-10-02 09:17:40 +00:00
.prettierignore refactor: open api (#6334) 2024-01-12 07:36:27 -05:00
.prettierrc chore(cli): auto-sort imports (#7116) 2024-02-14 09:55:40 -05:00
Dockerfile chore: use pnpm for builds (#19752) 2025-08-19 08:55:24 -04:00
eslint.config.mjs chore: finish migrating eslint config files; bump unicorn (#17200) 2025-03-31 12:18:25 +01:00
LICENSE Change license to AGPLv3 (#7046) 2024-02-12 15:31:59 +00:00
package.json feat(cli): add debug development config (#22712) 2025-10-08 17:08:33 +00:00
README.md feat(cli): add debug development config (#22712) 2025-10-08 17:08:33 +00:00
tsconfig.json chore(cli): clean up files (#7955) 2024-03-14 13:09:27 -04:00
vite.config.ts fix(cli): handle patterns correctly on Windows (#10430) 2024-06-21 17:09:02 -07:00
vitest.config.ts chore: migrate CLI to ESM and vitest (#6777) 2024-01-30 18:23:33 -05:00

A command-line interface for interfacing with the self-hosted photo manager Immich.

Please see the Immich CLI documentation.

For developers

Before building the CLI, you must build the immich server and the open-api client. To build the server run the following in the server folder:

$ pnpm install
$ pnpm run build

Then, to build the open-api client run the following in the open-api folder:

$ ./bin/generate-open-api.sh

Run from build

Go to the cli folder and build it:

$ pnpm install
$ pnpm run build
$ node dist/index.js

Run and Debug from source (VSCode)

With VScode you can run and debug the Immich CLI. Go to the launch.json file, find the Immich CLI config and change this with the command you need to debug

"args": ["upload", "--help"],

replace that for the command of your choice.

Install from build

You can also build and install the CLI using

$ pnpm run build
$ pnpm install -g .