kolaborateplatform kolaborate-streamdeck-plugin .cursorrules file for TypeScript

{
  "projectContext": {
    "type": "Stream Deck Plugin",
    "framework": "Elgato Stream Deck SDK",
    "language": "TypeScript",
    "description": "This is a Stream Deck plugin project using the official Elgato SDK with TypeScript and modern development practices"
  },
  
  "codeStandards": {
    "typescript": {
      "strict": true,
      "useTypes": true,
      "errorHandling": "Always use try/catch blocks and proper error logging",
      "stateManagement": "Use dedicated state management classes",
      "performance": "Implement debouncing and throttling where appropriate"
    },
    "streamDeck": {
      "actions": "Each action should be in its own file under src/actions/",
      "manifest": "Keep manifest.json in sync with action implementations",
      "settings": "Use type-safe settings management",
      "feedback": "Provide visual feedback using showOk/showAlert"
    }
  },

  "commonPatterns": {
    "actionClass": {
      "template": "Use @action decorator and extend SingletonAction",
      "methods": [
        "onKeyDown - Handle key presses with debouncing",
        "onWillAppear - Initialize state and visuals",
        "performAction - Core action logic",
        "loadSettings - Load saved settings",
        "updateVisuals - Update button appearance"
      ]
    }
  },

  "fileStructure": {
    "src": {
      "actions": "Individual Stream Deck actions",
      "ui": "Property Inspector UI components",
      "plugin.ts": "Plugin entry point"
    },
    "assets": "Plugin images and resources",
    "types": "TypeScript type definitions"
  }
}
css
html
javascript
shell
typescript

First Time Repository

TypeScript

Languages:

CSS: 0.5KB
HTML: 11.7KB
JavaScript: 7.6KB
Shell: 1.8KB
TypeScript: 15.1KB
Created: 1/13/2025
Updated: 1/22/2025

All Repositories (1)