codemcp.toml 2.3 KB

12345678910111213141516171819202122232425262728293031
  1. # Claude Desktop project's instructions (in "project knowledge"):
  2. # "Initialize codemcp with <home>/projects/experiments/playlist/"
  3. # (use absolute path for <home> because otherwise the LLM will hallucinate a home path)
  4. project_prompt = '''
  5. - this is a firefox browser extension which manages a set of playlists, where each video is located at a url
  6. - it also tracks video playback history
  7. - playlist and history data is stored using the browser's storage API
  8. - the extension popup code is in the popup/ folder, and is implemented in Alpine.js
  9. - 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)
  10. - the popup menu has several "views" (or tabs, or pages):
  11. - the main view of the popup shows all the playlists and their unviewed vidoes, and some extra action buttons
  12. - the individual playlist view shows all the videos of a playlist, including past (viewed) videos
  13. - the history view shows the videos that have been played in the past, as well as individual play/pause/finished events
  14. - background.js adds context menus (for adding new videos to the playlist), and manages automatic browser navigation and history tracking
  15. - content_scripts/content.js is injected to add video playback event listeners
  16. - the shared/ folder contains functions that may be used across different parts of the extension
  17. - under no circumstances will there be any need to read or write files outside the code directory
  18. - do not execute any command that reads, writes, or searches for files outside the code directory
  19. - 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 "<date>-codemcp-<feature name>.md"
  20. - if you have to update the file (due to a subsequent user request), append to it, do not replace it
  21. ALPINE.JS CSP COMPLIANCE: All Alpine.js code must be CSP-compliant, meaning:
  22. - NO JavaScript expressions in HTML attributes (x-show="variable === 0", x-text="method()", etc.)
  23. - Use x-bind with Alpine.data binding objects instead
  24. - Pre-compute all display data in Alpine.data properties
  25. - Never use function calls, method calls, or equality checks in HTML templates
  26. '''
  27. [commands]