project_prompt = ''' - this is a firefox browser extension which manages a set of playlists, where each video is located at a url - it also tracks video playback history - playlist and history data is stored using the browser's storage API - the extension popup code is in the popup/ folder, and is implemented in Alpine.js - all the Alpine code must be in "CSP" mode, which means there can be no javascript expression strings in the html attributes (no `===` equality checks, no function calls) (favor binding in Alpine.data instead) - background.js adds context menus (for adding new videos to the playlist), and manages automatic browser navigation and history tracking - content_scripts/content.js is injected to add video playback event listeners - under no circumstances will there be any need to read or write files outside the code directory - do not execute any command that reads, writes, or searches for files outside the code directory - at the end of each request, before committing in git, save a copy of the contents of the context window (including the user's original prompt) to a file in the code folder with the filename of "-codemcp-.md" - if you have to update the file (due to a subsequent user request), append to it, do not replace it ALPINE.JS CSP COMPLIANCE: All Alpine.js code must be CSP-compliant, meaning: - NO JavaScript expressions in HTML attributes (x-show="variable === 0", x-text="method()", etc.) - Use x-bind with Alpine.data binding objects instead - Pre-compute all display data in Alpine.data properties - Never use function calls, method calls, or equality checks in HTML templates ''' [commands]