Obsidian Plugin Yeoman Generator
For template generator to be fully working it requires Node.js v18 or higher.
First, install Yeoman and generator-obsidian-plugin using npm (we assume you have pre-installed node.js).
npm install -g yo
npm install -g generator-obsidian-plugin
Then generate your new project:
mkdir new-plugin-name
cd new-plugin-name
yo obsidian-plugin
- Enables unofficial TypeScript typings to the internal Obsidian API.
- Code style is forced via
ESLint
. - Spell checking is forced via
CSpell
. - Uses CLI commands and code helpers from Obsidian Dev Utils.
The package offers several NPM commands to facilitate common development tasks:
npm run build
Compiles the production version of your plugin into the dist/build
folder.
npm run build:clean
Cleans dist
folder.
npm run build:compile
Checks if code compiles.
npm run build:compile:svelte
Checks if Svelte code compiles.
npm run build:compile:svelte:typeScript
Checks if TypeScript code compiles.
npm run dev
Compiles the development version of your plugin into the dist/dev
folder. The OBSIDIAN_CONFIG_DIR
can be set either as an environment variable or specified in a .env
file (e.g., path/to/my/vault/.obsidian
). The command automatically copies the compiled plugin to the specified Obsidian configuration directory and triggers the [Hot Reload] plugin, if it is enabled. If the [Hot Reload] plugin is not installed, it will be installed automatically, and you will need to enable it manually.
npm run format
Formats your code using dprint.
npm run format:check
Checks formatting of your code using dprint.
npm run lint
Lints your code, enforcing a code convention to minimize common errors.
npm run lint:fix
Lints your code and automatically applies fixes where possible.
npm run spellcheck
Checks your code for spelling errors.
npm run version <versionUpdateType>
Runs build checks before updating the version and releases if all checks pass. The <versionUpdateType>
can be major
, minor
, patch
, beta
, or a specific version like x.y.z[-suffix]
.