

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
12345# Strapi Plugin Development Guide67## Plugin Structure89Follow the pattern established in [packages/strapi-plugin-status-manager/](mdc:packages/strapi-plugin-status-manager/):1011```12packages/strapi-plugin-[name]/13├── admin/src/ # Frontend components14├── server/src/ # Backend logic15├── package.json # Plugin configuration16├── rollup.config.mjs # Build configuration17└── README.md # Documentation18```1920## Package Configuration2122Use proper exports for Strapi 5:2324```json25{26 "exports": {27 "./strapi-admin": {28 "source": "./admin/src/index.ts",29 "import": "./dist/admin/index.mjs",30 "require": "./dist/admin/index.js"31 },32 "./strapi-server": {33 "source": "./server/src/index.ts",34 "import": "./dist/server/index.mjs",35 "require": "./dist/server/index.js"36 }37 }38}39```4041## Server-Side Structure4243- **Index**: [packages/strapi-plugin-status-manager/server/src/index.ts](mdc:packages/strapi-plugin-status-manager/server/src/index.ts) - Main plugin export44- **Controllers**: Handle API requests45- **Services**: Business logic46- **Routes**: API endpoint definitions47- **Middlewares**: Request processing48- **Bootstrap**: Initialization logic4950## Admin-Side Structure5152- **Index**: Main admin export53- **Components**: React components for admin UI54- **Plugin ID**: Unique identifier for the plugin5556## Development Workflow57581. **Build**: `npm run build` (compiles TypeScript)592. **Dev Mode**: `npm run dev` (watch mode)603. **Test**: `npm run test:debug` (manual testing)614. **Restart**: Strapi server restart required for server changes6263## Plugin Registration6465Register in [apps/backend/config/plugins.ts](mdc:apps/backend/config/plugins.ts):6667```typescript68'primer-status-manager': {69 enabled: true,70}71```7273## Debugging7475- Use console.log with emoji prefixes for easy identification76- Check Strapi logs for plugin loading77- Test endpoints manually with debug scripts78- Verify routes are properly registered7980## Build Process8182- TypeScript compilation to `dist/`83- Rollup bundling for admin components84- Separate builds for server and admin85- Proper source maps for debugging
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| magdazelena/primer.cursor/rules/agents.mdc · 3 | Cursor rules | no sections | 48/100 | 14 days ago | |
| magdazelena/primer.cursor/rules/code-quality.mdc · 3 | Cursor rules | lint-formatstyletypesperformance+2 | 73/100 | 14 days ago | |
| magdazelena/primer.cursor/rules/memory.mdc · 3 | Cursor rules | styleperformancedo-notagent-behaviour | 61/100 | 14 days ago | |
| magdazelena/primer.cursor/rules/monorepo-management.mdc · 3 | Cursor rules | buildtestlint-formatstyle+5 | 79/100 | 14 days ago | |
| magdazelena/primer.cursor/rules/nextjs-frontend.mdc · 3 | Cursor rules | teststylearchapi+1 | 72/100 | 14 days ago | |
| magdazelena/primer.cursor/rules/project-structure.mdc · 3 | Cursor rules | testlint-formatarchmonorepo | 71/100 | 14 days ago | |
| magdazelena/primer.cursor/rules/strapi-backend.mdc · 3 | Cursor rules | stylearchtypesdatabase | 68/100 | 14 days ago | |
| magdazelena/primer.cursor/rules/testing-conventions.mdc · 3 | Cursor rules | teststyletesting-strategyapi+1 | 73/100 | 14 days ago | |
| magdazelena/primer.cursor/rules/typescript-conventions.mdc · 3 | Cursor rules | lint-formatstyletypesdo-not | 65/100 | 14 days ago |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| hiromaily/go-crypto-wallet.cursor/rules/typescript.mdc · 126 | Cursor rules | setupbuildtestlint-format+6 | 100/100 | 14 days ago | |
| TechSquidTV/Hermes.cursor/rules/10-hermes-api.mdc · 46 | Cursor rules | testlint-formatstylearch+5 | 100/100 | 14 days ago | |
| Allymahmoud/case-intake-platform.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| deifos/clipmira-subtitles.cursor/rules/frontend.mdc · 1 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| dodgecfr/combatfilms-webapp.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 14 days ago | |
| markstev/mark-starter.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+6 | 99/100 | 14 days ago | |
| langflow-ai/langflow.cursor/rules/docs_development.mdc · 153k | Cursor rules | setupbuildtestlint-format+7 | 97/100 | 14 days ago | |
| bybren-llc/safe-agentic-workflow.cursor/rules/10-backend-python.mdc · 399 | Cursor rules | testlint-formatstylegit+4 | 97/100 | today |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/magdazelena-primer-cursor-rules-strapi-plugin-development)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.