npm install
npm run dev # Development build with watch mode
npm run build # Production buildobsidian-summairize/
├── src/
│ ├── services/ # AI providers and core logic
│ ├── utils/ # Utility functions
│ ├── ui/ # User interface components
│ ├── settings/ # Plugin settings
│ └── types/ # TypeScript definitions
├── main.ts # Plugin entry point
├── manifest.json # Plugin metadata
└── styles.css # Plugin styles
The plugin is designed for easy extensibility. To add a new AI provider:
-
Create a new provider class implementing
AIProvider:export class NewProvider extends AIProvider { async generateSummary(content: string, options: SummaryOptions): Promise<string> { // Implementation } // ... other methods }
-
Register it in
AIService:this.providers.set('newprovider', new NewProvider());
-
Update settings interface and UI
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request