No description
Find a file
mpstaton 7e2aeb7bb5 update(packages): updated packages and dependencies to latest
On branch master
 Your branch is up to date with 'origin/master'.
 Changes to be committed:
	modified:   package.json
	modified:   pnpm-lock.yaml
2025-07-09 23:34:17 +03:00
src feat(move-citations): rearrange format by moving citations behind commas and periods. 2025-07-08 20:12:25 +03:00
.editorconfig start(project): initial setup from example Obsidian plugin with our developer preferences 2025-06-07 15:37:58 +03:00
.eslintignore start(project): initial setup from example Obsidian plugin with our developer preferences 2025-06-07 15:37:58 +03:00
.eslintrc upgrade(packages): all packages are now up to date 2025-06-07 19:20:42 +03:00
.gitattributes start(project): initial setup from example Obsidian plugin with our developer preferences 2025-06-07 15:37:58 +03:00
.gitignore clean(starter): clean starter code 2025-07-06 17:23:37 +03:00
.npmrc switch(pnpm): add pnpm get rid of npm 2025-06-07 18:25:25 +03:00
esbuild.config.mjs feat(modal): milestone of modal feature displaying citations working 2025-07-06 18:41:26 +03:00
main.ts feat(move-citations): rearrange format by moving citations behind commas and periods. 2025-07-08 20:12:25 +03:00
manifest.json save(state): save state of starter code for any obsidian plugin 2025-07-09 23:18:48 +03:00
package.json update(packages): updated packages and dependencies to latest 2025-07-09 23:34:17 +03:00
pnpm-lock.yaml update(packages): updated packages and dependencies to latest 2025-07-09 23:34:17 +03:00
README.md update(packages): updated packages and dependencies to latest 2025-07-09 23:34:17 +03:00
styles.css iterate(modal): rebuild of modal code 2025-07-08 01:55:44 +03:00
tsconfig.json upgrade(packages): all packages are now up to date 2025-06-07 19:20:42 +03:00
version-bump.mjs start(project): initial setup from example Obsidian plugin with our developer preferences 2025-06-07 15:37:58 +03:00
versions.json save(state): save state of starter code for any obsidian plugin 2025-07-09 23:18:48 +03:00

Obsidian Plugin Starter

This is barebones starter code to build an Obsidian plugin using the pnpm package manager. It is a clone of the official Obsidian plugin starter code, but with updated libraries, packages, dependencies.

Getting Started

pnpm install
pnpm add -D esbuild @types/node builtin-modules
pnpm build
pnpm dev

Packages, Dependencies, Libraries:

"devDependencies": {
   "@types/node": "^24.0.12",
   "@typescript-eslint/eslint-plugin": "8.36.0",
   "@typescript-eslint/parser": "8.36.0",
   "builtin-modules": "5.0.0",
   "esbuild": "0.25.6",
   "eslint": "^9.30.1",
   "obsidian": "latest",
   "tslib": "2.8.1",
   "typescript": "5.8.3"
},
"dependencies": {
   "@modelcontextprotocol/sdk": "^1.15.0",
   "fastify": "^5.4.0",
   "zod": "^4.0.0"
}

If you're like us, you have a directory housing all your code projects. To use your plugin as you develop it, just create a symbolic link. Here is my example, but you will need to use your own path structure:

ln -s /Users/mpstaton/code/lossless-monorepo/obsidian-plugin-starter /Users/mpstaton/content-md/lossless/.obsidian/plugins/