quartz/docs/cli/plugin.md
2026-02-25 21:00:33 +01:00

121 lines
2.4 KiB
Markdown

---
title: quartz plugin
---
The `plugin` command is the heart of the Quartz v5 plugin management system. it allows you to install, configure, and update plugins directly from the command line.
All plugins are stored in the `.quartz/plugins/` directory, and their versions are tracked in `quartz.lock.json`.
## Subcommands
### list
List all currently installed plugins and their versions.
```shell
npx quartz plugin list
```
### add
Add a new plugin from a Git repository.
```shell
npx quartz plugin add github:username/repo
```
### remove
Remove an installed plugin.
```shell
npx quartz plugin remove plugin-name
```
### install
Install all plugins listed in your `quartz.lock.json` file. This is useful when setting up the project on a new machine.
```shell
npx quartz plugin install
```
### update
Update specific plugins or all plugins to their latest versions.
```shell
npx quartz plugin update plugin-name
npx quartz plugin update # updates all
```
### restore
Restore plugins to the exact versions specified in the lockfile. Unlike `install`, this will downgrade plugins if the lockfile specifies an older version. This is recommended for CI/CD environments.
```shell
npx quartz plugin restore
```
### enable / disable
Toggle a plugin's status in your `quartz.config.yaml` without removing its files.
```shell
npx quartz plugin enable plugin-name
npx quartz plugin disable plugin-name
```
### config
View or modify the configuration for a specific plugin.
```shell
# View config
npx quartz plugin config plugin-name
# Set a value
npx quartz plugin config plugin-name --set key=value
```
### check
Check if any of your installed plugins have updates available.
```shell
npx quartz plugin check
```
## Common Workflows
### Adding and Enabling a Plugin
To add a new plugin and start using it:
1. Add the plugin: `npx quartz plugin add github:quartz-community/example`
2. Enable it: `npx quartz plugin enable example`
### Updating Everything
To keep your plugins fresh:
```shell
npx quartz plugin update
```
### Managing Configuration
If you want to change a plugin setting without opening the YAML file:
```shell
npx quartz plugin config explorer --set useSavedState=true
```
## Interactive Mode
Running the plugin command without any subcommand will launch the [[cli/tui|TUI]], which provides a visual interface for all these operations.
```shell
npx quartz plugin
```