Obsidian Plugin Template
unlistedby firstsun-dev
A template for creating Obsidian plugins.
Updated 1d ago
Obsidian Plugin Template
A standardized template for creating Obsidian plugins within the firstsun-dev organization.
Features
- Shared CI/CD: Uses
firstsun-dev/.githubshared workflows for linting, testing, and automatic releases via semantic-release. - TypeScript Support: Pre-configured TypeScript environment.
- Build System: Includes
esbuildfor fast builds (its install script is allowed viaallowBuildsinpnpm-workspace.yaml). - Linting & Testing: Pre-configured ESLint and Vitest.
Getting Started
- Click "Use this template" to create a new repository.
- Update
manifest.jsonwith your plugin's ID, name, and description. - Update
package.jsonname and description. - In
.github/workflows/ci.yml, update theplugin-idinput. - Use Node.js 24 and pnpm 12.14.0 (pinned via
packageManager; runcorepack enableor usepnpm/action-setup). - Install dependencies:
pnpm install(commit the generatedpnpm-lock.yaml; CI uses--frozen-lockfile) - Start development:
pnpm run dev
Scripts
pnpm run dev: Build and watch for changes.pnpm run build: Production build.pnpm run test: Run tests.pnpm run lint: Lint code.pnpm run version: Bump version (used by CI; the script readsnpm_package_version, which pnpm also sets).
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.