- Frontend is implemented in React with Vite and Yarn, and can be found from /Plan/react. Typescript is preferred over javascript.
- Prefer separate files for components over multiple components in one file.
- Prefer separation of concerns - hooks and components in separate files (Except for context hooks)
- Prefer to use hooks for defining options for components - see ExtensionGraph.tsx for example.
- Tests should utilize existing test classes where possible.
- Database tests are done through interfaces and extending DatabaseTestAggregate.java, run with MySQLTest.java and SQLiteTest.java
- If opening a PR, include issue details in the PR description rather than creating an issue for your PR
- Security vulnerabilities need to be submitted through https://github.com/plan-player-analytics/Plan/security/advisories/new - not issues.
- Description: Be concise
- Add "This PR was generated by AI: {Agent name and version}" to the end of the PR description.