Skip to the content.

This document provides an overview of the features included in plugins built with this template.

Table of Contents

Core Features

Modern Build System

Fast, efficient compilation with esbuild

Benefits:

Learn more: Build System Documentation

Modular CSS System

Organized stylesheets that compile to a single file

Source files:

src/styles/
β”œβ”€β”€ base.css        # Base styles and variables
β”œβ”€β”€ modals.css      # Modal dialog styles
β”œβ”€β”€ settings.css    # Settings tab styles
└── components.css  # UI component styles

Benefits:

Learn more: CSS Guidelines

Advanced Logging System

Component-based logging with production safety

Example:

import { createLogger } from '../utils/Logger';

class MyComponent {
    private logger = createLogger('ui');
    
    someMethod() {
        this.logger.debug('Method called', { data });
        this.logger.info('Operation completed');
        this.logger.warn('Warning condition');
        this.logger.error('Error occurred', error);
    }
}

Benefits:

Learn more:

Development Features

TypeScript Configuration

Full type safety and modern JavaScript

File Size Limits

Enforced modularity for maintainability

Limits:

Learn more: Coding Standards

Documentation Structure

Organized, comprehensive documentation

Structure:

docs/                  # Public (on GitHub Pages)
β”œβ”€β”€ user/             # End-user documentation
β”œβ”€β”€ developer/        # Contributing and development
β”œβ”€β”€ features/         # Feature documentation
└── examples/         # Code examples

docs-internal/         # Private (local only)
β”œβ”€β”€ sessions/         # Development session notes
β”œβ”€β”€ guides/           # Internal development guides
β”œβ”€β”€ references/       # Quick references
└── maintenance/      # TODOs and plans

User Features

Settings Tab

Configurable plugin behavior

Command Palette Integration

Quick access to plugin features

Interactive user interfaces

Technical Features

Release Management

Automated versioning and packaging

Commands:

npm run release      # Create versioned release
npm run build        # Production build
npm run dev          # Development build

Hot Reload Support

Fast development workflow

Error Handling

Robust error management

Planned Features

Coming Soon

These features are planned for future releases:

See the Roadmap for details.

Feature Requests

Have an idea for a new feature?

  1. Check the Roadmap to see if it’s planned
  2. Search GitHub Issues for existing requests
  3. Create a new feature request with:
    • Clear description of the feature
    • Use cases and benefits
    • Examples of similar features (if any)

Feature Comparison

vs. Basic Template

Compared to Obsidian’s sample plugin:

Feature Basic Template This Template
Build System webpack ⚑ esbuild (10x faster)
CSS Organization Single file πŸ“ Modular files
Logging console.log 🏷️ Component-based logger
Debug Code Manual removal πŸ—œοΈ Auto-elimination
Documentation README only πŸ“š Full docs structure
Release Tools Manual πŸ“¦ Automated
File Limits None πŸ“ Enforced modularity
Type Safety Basic βœ… Strict TypeScript

vs. Manual Setup

Starting from scratch vs. using this template:

Task Manual Setup This Template
Initial Setup 4-8 hours ⚑ 5 minutes
Build System 2-4 hours βœ… Pre-configured
CSS Pipeline 1-2 hours βœ… Ready to use
Logging System 3-6 hours βœ… Included
Documentation Varies βœ… Structure ready
Best Practices Learn/implement βœ… Built-in

Performance

Build Times

Development mode:

Production mode:

Bundle Sizes

Typical bundle sizes for plugins built with this template:

With debug elimination:

Browser Compatibility

Compatible with:

Operating System Support

Works on all Obsidian-supported platforms:

Learn More


Questions? Check the FAQ or create an issue.