Overview
This repo includes a.cursor/ directory that configures Cursor + AI agents to work effectively across Omi’s codebase. It contains:
- Rules that apply based on file patterns (backend/flutter/web/etc.)
- Reusable “skills” and slash commands
- Specialized agents (e.g. backend API, Flutter, firmware)
- Internal reference docs for agents (not the same as the public
docs/site)
.cursor/ makes it much easier to add consistent automation and avoid common mistakes.
.cursor/ vs docs/ (important)
docs/is the single source of truth for user-facing documentation and is what gets deployed todocs.omi.me..cursor/is editor/agent configuration intended to help contributors and AI tooling inside this repo.
.cursor/ publicly here (so contributors can use it), but .cursor/docs/ is not the public documentation site.
What’s inside .cursor/
Rules (.cursor/rules/)
Rules are small, focused guidance files (typically *.mdc) that apply automatically based on globs (e.g. backend/**/*.py, app/**/*.dart, web/**/*.ts(x)).
Typical rule topics:
- Architecture: module boundaries + import hierarchy
- Testing & verification: what to run before merging
- Style and conventions: formatting, localization requirements, common mistakes
Skills (.cursor/skills/)
Skills are reusable “playbooks” for recurring workflows. A skill folder typically contains:
SKILL.md: the skill’s instructions and checklistscommands/: slash commands (e.g./backend-test,/pr)agents/: specialized agents that focus on specific domains
Commands (.cursor/commands/)
Legacy / general commands that show up in Cursor when you type /. (Many commands also live under skills/*/commands/.)
Agents (.cursor/agents/)
Legacy / compatibility agent definitions. Most agents live under skills/*/agents/.
Internal agent docs (.cursor/docs/)
Internal reference docs used by agents (architecture maps, component indexes, internal guidance).
Note: These are for agent operation and contributor context, not for end users.
Hooks (.cursor/hooks/ and .cursor/hooks.json)
Optional hook scripts/config to observe and extend the agent loop. Useful for enforcing workflows, validation, and automation.
MCP config (.cursor/mcp.json)
Configuration for MCP servers that provide external tools (e.g. browser testing, GitHub automation, Notion/Figma integration if enabled).
Common contributor workflows
Add a new rule
- Add a focused rule file under
.cursor/rules/(e.g.backend-foo.mdc) - Ensure it targets the correct file glob(s)
- Keep it actionable: conventions + “how to verify”
Add a new skill
- Create
.cursor/skills/<skill-name>/SKILL.md - Put any related slash commands under
.cursor/skills/<skill-name>/commands/ - Put any related agents under
.cursor/skills/<skill-name>/agents/
Update public documentation
If your change affects user-facing behavior or developer APIs:- Update
docs/(public) - Add/adjust nav entries in
docs/docs.jsonif you add a new page
Safety & maintenance notes
- Don’t put secrets (tokens, keys, credentials) in
.cursor/files. - Keep rules layer-aware (e.g. don’t encourage importing from
routers/insideutils/). - Prefer linking to public docs in
docs/when something is user-facing, and keep.cursor/docs/for internal agent context.