A standardized template for creating Obsidian plugins within the firstsun-dev organization.
- 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.
- 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
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).