

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
12345678910### Testing Conventions1112**General**13- Match the test style and tooling already used in the same app (Mocha for API/worker, Playwright for dashboard).14- Shared test utilities and setup helpers live in `libs/testing` — use them instead of rolling custom harnesses.15- Never mock MongoDB models directly; use the test harness in `libs/testing` which manages real database state.1617**API (`apps/api`)**18- Unit tests: `cd apps/api && pnpm test` (Mocha + ts-node, matches `src/**/*.spec.ts`)19- Lint: `cd apps/api && pnpm check`20- OpenAPI validation: `npm run lint:openapi` (requires API running)21- E2E tests: see `.cursor/skills/run-api-e2e-tests/SKILL.md`22- Bootstrap a NestJS testing module for integration-style unit tests rather than mocking the entire DI container.2324**Dashboard (`apps/dashboard`)**25- E2E tests: `cd apps/dashboard && pnpm test:e2e` (Playwright — start dashboard first)26- Lint: `cd apps/dashboard && pnpm check`27- Tests live in `apps/dashboard/tests/` (or `e2e/`).2829**Worker (`apps/worker`)**30- Unit tests: `cd apps/worker && pnpm test` (Mocha + ts-node, matches `src/**/**/*.spec.ts`)31- Lint: `cd apps/worker && pnpm check`32- The worker must be running (`pnpm start:worker`) when testing end-to-end notification flows.33
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 |
|---|---|---|---|---|---|
| novuhq/novu.cursor/rules/api-property-optionality-hygiene.mdc · 39k | Cursor rules | gitagent-behaviour | 68/100 | 14 days ago | |
| novuhq/novu.cursor/rules/api.mdc · 39k | Cursor rules | styleapi | 72/100 | 14 days ago | |
| novuhq/novu.cursor/rules/clickhouse.mdc · 39k | Cursor rules | style | 42/100 | 14 days ago | |
| novuhq/novu.cursor/rules/context-engineering.mdc · 39k | Cursor rules | no sections | 16/100 | 14 days ago | |
| novuhq/novu.cursor/rules/dal-repository.mdc · 39k | Cursor rules | do-not | 46/100 | 14 days ago | |
| novuhq/novu.cursor/rules/dashboard.mdc · 39k | Cursor rules | style | 57/100 | 14 days ago | |
| novuhq/novu.cursor/rules/dependency-graph.mdc · 39k | Cursor rules | no sections | 22/100 | 14 days ago | |
| novuhq/novu.cursor/rules/docs-mintlify-steps.mdc · 39k | Cursor rules | do-notagent-behaviour | 43/100 | 14 days ago | |
| novuhq/novu.cursor/rules/infrastructure.mdc · 39k | Cursor rules | no sections | 50/100 | 14 days ago | |
| novuhq/novu.cursor/rules/novu.mdc · 39k | Cursor rules | style | 20/100 | 14 days ago | |
| novuhq/novu.cursor/rules/packages.mdc · 39k | Cursor rules | stylearchdependenciesdocs | 46/100 | 14 days ago | |
| novuhq/novu.cursor/rules/pnpm-release-age.mdc · 39k | Cursor rules | no sections | 24/100 | 14 days ago | |
| novuhq/novu.cursor/rules/pullrequest.mdc · 39k | Cursor rules | gitdo-not | 37/100 | 14 days ago | |
| novuhq/novu.cursor/rules/safe-api-tests.mdc · 39k | Cursor rules | setupteststyletesting-strategy+4 | 88/100 | 14 days ago | |
| novuhq/novu.cursor/rules/worker.mdc · 39k | Cursor rules | style | 65/100 | 14 days ago | |
| novuhq/novu.cursor/rules/ws.mdc · 39k | Cursor rules | style | 51/100 | 14 days ago | |
| novuhq/novu.deepsec/AGENTS.md · 39k | AGENTS.md | setupagent-behaviour | 33/100 | 14 days ago | |
| novuhq/novuAGENTS.md · 39k | AGENTS.md | builddo-notagent-behaviour | 63/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 | |
| dodgecfr/combatfilms-webapp.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 | |
| 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/novuhq-novu-cursor-rules-testing)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.