# Technology Stack - SilverBullet iCalendar Plug ## Core Runtime & Language - **Language:** [TypeScript](https://www.typescriptlang.org/) - Provides type safety and modern JavaScript features for robust plug development. - **Runtime:** [Deno](https://deno.com/) - A secure-by-default runtime for JavaScript and TypeScript, used for building and running the plug's development tasks. ## Platform & API - **Platform:** [SilverBullet Plug API](https://silverbullet.md/Plugs) - The official API for extending SilverBullet functionality. - **Dependency Management:** [JSR](https://jsr.io/) and [ESM.sh](https://esm.sh/) - Used for importing the SilverBullet syscalls and external libraries like `ts-ics`. ## Libraries - **iCalendar Parsing:** [`ts-ics`](https://www.npmjs.com/package/ts-ics) (v2.4.0) - A library for parsing iCalendar data into structured JavaScript objects. ## Build & Development Tools - **Task Orchestration:** Deno Tasks (defined in `deno.json`) - Handles version synchronization and plug compilation. - **Compiler:** `plug-compile.js` - The standard SilverBullet utility for bundling the TypeScript source and manifest into a `.plug.js` file. - **Version Control:** Git - For source code management and integration with Gitea Actions. - **CI/CD:** Gitea Actions - Automates the build and deployment process upon pushes to the repository.