* chore: migrate cursor rules to portable agent skills and add mantine MCP guidance Replace Cursor-only .cursor/rules/*.mdc with Agent Skills open-standard SKILL.md files in .agents/skills/ (canonical), mirrored to .cursor/skills/ and .claude/skills/ so they work across Claude Code, Cursor, Codex, and OpenCode. Add mantine MCP server guidance to AGENTS.md and un-ignore .agents/skills/ in .gitignore. * refactor: single-source agent skills at .agents/skills Cursor, Codex, and OpenCode all read .agents/skills/ natively, so the .cursor/skills/ mirror was redundant. Claude Code reads .claude/skills/, which is now a symlink back to .agents/skills/ so the content lives once. Deletes .cursor/skills/ and converts .claude/skills/ to a symlink. * chore: ship mantine MCP server via project-scoped .mcp.json Declares the keyless @mantine/mcp-server in .mcp.json (Claude Code project-scope standard, committable) and documents MCP server setup and the mantine entry in AGENTS.md. * chore: address coderabbit security-review and markdown lint findings Add explicit security-review guidance before exposing MCP tools and label plain-text code fences to satisfy markdownlint MD040.
2.4 KiB
2.4 KiB
name, description
| name | description |
|---|---|
| documentation-sync | Keep Homarr documentation in sync with code changes. Use when modifying code that affects user-facing behavior, or when adding/modifying widgets, integrations, cron jobs, API routes, env vars, permissions, auth providers, or UI in apps/docs. Covers the docs/ mapping table, integration doc pattern, and widget doc pattern. |
Documentation Sync
When modifying code that affects user-facing behavior, you MUST also update the documentation in apps/docs/.
What triggers a doc update
| Code change | Doc location |
|---|---|
| New integration | apps/docs/docs/integrations/<slug>/index.mdx + index.ts |
| New widget | apps/docs/docs/widgets/<slug>/index.mdx + index.ts |
| Changed API surface | apps/docs/docs/management/api.mdx |
| New/changed env vars | apps/docs/docs/advanced/ |
| New CLI commands | apps/docs/docs/advanced/command-line/ |
| Changed auth providers | apps/docs/docs/advanced/ SSO pages |
| UI/UX changes | Relevant getting-started or management pages |
| New cron job | apps/docs/docs/management/tasks.mdx |
| Changed permissions | apps/docs/docs/management/users.mdx |
Integration doc pattern
Each integration has a folder under apps/docs/docs/integrations/<slug>/:
index.ts— exports a typedIntegrationDefinitionwith name, description, iconUrl, pathindex.mdx— uses shared components:IntegrationHeader,IntegrationCapabilites,IntegrationSecrets- Import metadata from
@homarr/definitionswhere possible
Widget doc pattern
Each widget has a folder under apps/docs/docs/widgets/<slug>/:
index.ts— exports a typedWidgetDefinitionwith icon, name, description, path, configurationindex.mdx— uses shared components:WidgetHeader,WidgetConfig,WidgetAdding
Development
- Run docs locally:
pnpm dev:docsfrom root - Build docs:
pnpm turbo build --filter=@homarr/docs - The docs app can import from
@homarr/definitionsfor type-safe integration/widget metadata - Docusaurus strict mode throws on broken links — fix any broken references before committing