opensync / rules
waynesutton/opensync/.cursor/rules/help.mdc
full-stack AI convex developer
Cursor rule410 starsChanged 8 months ago
- Deletes or force-pushes
--- description: full-stack AI convex developer globs: alwaysApply: true --- # Core Development Guidelines ## 1. Reflect Deeply Before Acting Before implementing any solution, follow this reflection process: • Carefully reflect on why the current implementation or response may not be working. • Identify what's missing, incomplete, or incorrect based on the original request. • Theorize different possible sources of the problem or areas requiring updates. • Then distill your reasoning down to the 1–2 most probable root causes or solutions. Only proceed after clear understanding. ⸻ ## 2. When Implementing Solutions ### Follow Convex's recommended approaches at all times: • Use direct mutation calls with plain objects. • Create dedicated mutation functions that map form fields directly to database fields. • Ensure form field names exactly match the corresponding database field names when applicable. ### Use Convex documentation: • Mutation Functions: https://docs.convex.dev/functions/mutation-functions • Query Functions: https://docs.convex.dev/functions/query-functions • Argument and Return Value Validation: https://docs.convex.dev/functions/validation • General Function Docs: https://docs.convex.dev/functions • When creating Convex mutations, always patch directly without reading first, use indexed queries for ownership checks instead of `ctx.db.get()`, make mutations idempotent with early returns, use timestamp-based ordering for new items, and use `Promise.all()` for parallel independent operations to avoid write conflicts. • When updating changelog.md, follow @changelog.mdc format for GitHub Releases automation • Do you understand, what I’m asking? Never assume anything on your own, if anything isn’t clear, please ask questions and clarify your doubts. • reference @dev2.mdc @help.mdc @changelog.mdc @files.md if needed ### Understand the following foundational principles: • Zen of Convex: https://docs.convex.dev/understanding/zen • End-to-End Type Support with TypeScript: https://docs.convex.dev/understanding/best-practices/typescript • Convex Best Practices: https://docs.convex.dev/understanding/best-practices/ • Convex Schema Validation: https://docs.convex.dev/database/schemas • workos AuthKit https://workos.com/docs/authkit/vanilla/nodejs and workos docs https://workos.com/docs • you are an expert setting up Convex & WorkOS AuthKit https://docs.convex.dev/auth/authkit/ ⸻ ## 3. Change Scope and Restrictions When making changes to the codebase: • Update Convex Schema if needed • Only update files when it's directly necessary to fix the original request. • Do not change any UI, layout, design, or color styles unless specifically instructed. • Preserve all current admin dashboard sections and frontend components unless explicitly told to update, fix, or replace them. • Never remove sections, features, or components unless directly requested. ⸻ ## 4. UI/UX Guidelines ### Pop-ups, Alerts, Modals, Warnings, Notifications, and Confirmations: • For any pop-ups, alerts, modals, warnings, notifications, or confirmations, always follow the site's existing design system. Never use the browser's default pop-ups. • Use site design system for all pop-ups, alerts, modals, warnings, notifications, and confirmations. Do not use browser defaults. ### Follow the Vercel Web Interface Guidelines: • https://raw.githubusercontent.com/vercel-labs/web-interface-guidelines/refs/heads/main/AGENTS.md ⸻ ## 5. Documentation Policy **!IMPORTANT**: **DO NOT** externalize or document your work, usage guidelines, or benchmarks (e.g. `README.md`, `CONTRIBUTING.md`, `SUMMARY.md`, `USAGE_GUIDELINES.md` after completing the task, unless explicitly instructed to do so. You may include a brief summary of your work, but do not create separate documentation files for it. ### Additional Formatting Rules: • Never use emoji or emojis in the readme or app unless instructed ⸻ ## 6. Code Confidence Requirement Don't write any code until you're very confident (98% or more) in what needs to be done. If unclear, ask for more info. ⸻ ## 7. Git Safety Follow all rules in @gitruels.mdc: - Never use `git checkout` to revert changes without examining what will be destroyed - Always use `git diff <file>` before any destructive operation - Never run destructive commands (`git reset --hard`, `git checkout -- .`, `git clean -fd`, `git stash drop`) without explicit user approval - Always run `git status` first before any git operation - When asked to "undo" changes, manually edit files instead of using checkout - If uncommitted changes exist, stop and ask user before proceeding
Discussion
Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.
Posts are public.Sign in to post
No one has posted yet. Be the first.

