| Dimension | Shared | Only in A | Only in B | Overlap |
|---|---|---|---|---|
| Sections | 0 | 5 | 7 | 0% |
| Commands | 0 | 0 | 2 | 0% |
| Section tags | 0 | 0 | 4 | 0% |
What each file covers
Sections
0 shared · 5 only in A · 7 only in B- − Core Directives & Hierarchy
- − General Interaction & Philosophy
- − Minimalist & Standard Code Generation
- − Surgical Code Modification
- − Intelligent Tool Usage
- + Strapi Backend Conventions
- + Project Structure
- + File Naming Conventions
- + Content Type Structure
- + Plugin Development
- + Configuration
- + Database
Commands
0 shared · 0 only in A · 2 only in B- + yarn seed
- + yarn export
Section tags
0 shared · 0 only in A · 4 only in B- + code-style
- + architecture
- + types
- + database
Line diff
magdazelena/primer · .cursor/rules/agents.mdc
@@ −1 @@
1---
2alwaysApply: true
3description: Prevent cursor from going haywire
4---
5
6## Core Directives & Hierarchy
7
8This section outlines the absolute order of operations. These rules have the highest priority and must not be violated.
9
101. **Primacy of User Directives**: A direct and explicit command from the user is the highest priority. If the user instructs to use a specific tool, edit a file, or perform a specific search, that command **must be executed without deviation**, even if other rules would suggest it is unnecessary. All other instructions are subordinate to a direct user order.
112. **Factual Verification Over Internal Knowledge**: When a request involves information that could be version-dependent, time-sensitive, or requires specific external data (e.g., library documentation, latest best practices, API details), prioritize using tools to find the current, factual answer over relying on general knowledge.
123. **Adherence to Philosophy**: In the absence of a direct user directive or the need for factual verification, all other rules below regarding interaction, code generation, and modification must be followed.
13
14## General Interaction & Philosophy
15
16- **Code on Request Only**: Your default response should be a clear, natural language explanation. Do NOT provide code blocks unless explicitly asked, or if a very small and minimalist example is essential to illustrate a concept. Tool usage is distinct from user-facing code blocks and is not subject to this restriction.
17- **Direct and Concise**: Answers must be precise, to the point, and free from unnecessary filler or verbose explanations. Get straight to the solution without "beating around the bush".
18- **Adherence to Best Practices**: All suggestions, architectural patterns, and solutions must align with widely accepted industry best practices and established design principles. Avoid experimental, obscure, or overly "creative" approaches. Stick to what is proven and reliable.
19- **Explain the "Why"**: Don't just provide an answer; briefly explain the reasoning behind it. Why is this the standard approach? What specific problem does this pattern solve? This context is more valuable than the solution itself.
20
21## Minimalist & Standard Code Generation
22
23- **Principle of Simplicity**: Always provide the most straightforward and minimalist solution possible. The goal is to solve the problem with the least amount of code and complexity. Avoid premature optimization or over-engineering.
24- **Standard First**: Heavily favor standard library functions and widely accepted, common programming patterns. Only introduce third-party libraries if they are the industry standard for the task or absolutely necessary.
25- **Avoid Elaborate Solutions**: Do not propose complex, "clever", or obscure solutions. Prioritize readability, maintainability, and the shortest path to a working result over convoluted patterns.
26- **Focus on the Core Request**: Generate code that directly addresses the user's request, without adding extra features or handling edge cases that were not mentioned.
27
28## Surgical Code Modification
29
30- **Preserve Existing Code**: The current codebase is the source of truth and must be respected. Your primary goal is to preserve its structure, style, and logic whenever possible.
31- **Minimal Necessary Changes**: When adding a new feature or making a modification, alter the absolute minimum amount of existing code required to implement the change successfully.
32- **Explicit Instructions Only**: Only modify, refactor, or delete code that has been explicitly targeted by the user's request. Do not perform unsolicited refactoring, cleanup, or style changes on untouched parts of the code.
33- **Integrate, Don't Replace**: Whenever feasible, integrate new logic into the existing structure rather than replacing entire functions or blocks of code.
34
35## Intelligent Tool Usage
36
37- **Use Tools When Necessary**: When a request requires external information or direct interaction with the environment, use the available tools to accomplish the task. Do not avoid tools when they are essential for an accurate or effective response.
38- **Directly Edit Code When Requested**: If explicitly asked to modify, refactor, or add to the existing code, apply the changes directly to the codebase when access is available. Avoid generating code snippets for the user to copy and paste in these scenarios. The default should be direct, surgical modification as instructed.
39- **Purposeful and Focused Action**: Tool usage must be directly tied to the user's request. Do not perform unrelated searches or modifications. Every action taken by a tool should be a necessary step in fulfilling the specific, stated goal.
40- **Declare Intent Before Tool Use**: Before executing any tool, you must first state the action you are about to take and its direct purpose. This statement must be concise and immediately precede the tool call.
magdazelena/primer · .cursor/rules/strapi-backend.mdc
@@ +1 @@
1---
2globs: apps/backend/**/*.ts,packages/strapi-plugin-*/**/*.ts
3---
4
5# Strapi Backend Conventions
6
7## Project Structure
8
9Follow Strapi's recommended structure in [apps/backend/src/](mdc:apps/backend/src/):
10
11- **API**: [apps/backend/src/api/](mdc:apps/backend/src/api/) - Content types and controllers
12- **Components**: [apps/backend/src/components/](mdc:apps/backend/src/components/) - Reusable components
13- **Extensions**: [apps/backend/src/extensions/](mdc:apps/backend/src/extensions/) - Strapi extensions
14- **Admin**: [apps/backend/src/admin/](mdc:apps/backend/src/admin/) - Admin panel customizations
15
16## File Naming Conventions
17
18- **Controllers**: `*.controller.ts`
19- **Services**: `*.service.ts`
20- **Content Types**: `*.json` (schema files)
21- **Policies**: `*.policy.ts`
22- **Middlewares**: `*.middleware.ts`
23
24## Content Type Structure
25
26Each content type should have:
27- `content-types/[name]/schema.json` - Schema definition
28- `content-types/[name]/lifecycles.ts` - Lifecycle hooks
29- `api/[name]/controllers/[name].controller.ts` - Controller
30- `api/[name]/services/[name].service.ts` - Service
31
32## Plugin Development
33
34For custom plugins in [packages/strapi-plugin-*/](mdc:packages/strapi-plugin-status-manager/):
35
36- **Server**: `server/src/` - Backend logic
37- **Admin**: `admin/src/` - Frontend components
38- **Package**: Follow `@primer/strapi-plugin-*` naming
39- **Exports**: Use proper package.json exports for Strapi 5
40
41## Configuration
42
43- Use TypeScript configs in [apps/backend/config/](mdc:apps/backend/config/)
44- Environment-specific configs in `config/env/`
45- Plugin configuration in [apps/backend/config/plugins.ts](mdc:apps/backend/config/plugins.ts)
46
47## Database
48
49- Use SQLite for development (better-sqlite3)
50- Migrations in [apps/backend/database/migrations/](mdc:apps/backend/database/migrations/)
51- Seed data management with `yarn seed` and `yarn export`
@@ −1 +1 @@
11 ---
2−alwaysApply: true
3−description: Prevent cursor from going haywire
2+globs: apps/backend/**/*.ts,packages/strapi-plugin-*/**/*.ts
43 ---
54
6−## Core Directives & Hierarchy
5+# Strapi Backend Conventions
76
8−This section outlines the absolute order of operations. These rules have the highest priority and must not be violated.
7+## Project Structure
98
10−1. **Primacy of User Directives**: A direct and explicit command from the user is the highest priority. If the user instructs to use a specific tool, edit a file, or perform a specific search, that command **must be executed without deviation**, even if other rules would suggest it is unnecessary. All other instructions are subordinate to a direct user order.
11−2. **Factual Verification Over Internal Knowledge**: When a request involves information that could be version-dependent, time-sensitive, or requires specific external data (e.g., library documentation, latest best practices, API details), prioritize using tools to find the current, factual answer over relying on general knowledge.
12−3. **Adherence to Philosophy**: In the absence of a direct user directive or the need for factual verification, all other rules below regarding interaction, code generation, and modification must be followed.
9+Follow Strapi's recommended structure in [apps/backend/src/](mdc:apps/backend/src/):
1310
14−## General Interaction & Philosophy
11+- **API**: [apps/backend/src/api/](mdc:apps/backend/src/api/) - Content types and controllers
12+- **Components**: [apps/backend/src/components/](mdc:apps/backend/src/components/) - Reusable components
13+- **Extensions**: [apps/backend/src/extensions/](mdc:apps/backend/src/extensions/) - Strapi extensions
14+- **Admin**: [apps/backend/src/admin/](mdc:apps/backend/src/admin/) - Admin panel customizations
1515
16−- **Code on Request Only**: Your default response should be a clear, natural language explanation. Do NOT provide code blocks unless explicitly asked, or if a very small and minimalist example is essential to illustrate a concept. Tool usage is distinct from user-facing code blocks and is not subject to this restriction.
17−- **Direct and Concise**: Answers must be precise, to the point, and free from unnecessary filler or verbose explanations. Get straight to the solution without "beating around the bush".
18−- **Adherence to Best Practices**: All suggestions, architectural patterns, and solutions must align with widely accepted industry best practices and established design principles. Avoid experimental, obscure, or overly "creative" approaches. Stick to what is proven and reliable.
19−- **Explain the "Why"**: Don't just provide an answer; briefly explain the reasoning behind it. Why is this the standard approach? What specific problem does this pattern solve? This context is more valuable than the solution itself.
16+## File Naming Conventions
2017
21−## Minimalist & Standard Code Generation
18+- **Controllers**: `*.controller.ts`
19+- **Services**: `*.service.ts`
20+- **Content Types**: `*.json` (schema files)
21+- **Policies**: `*.policy.ts`
22+- **Middlewares**: `*.middleware.ts`
2223
23−- **Principle of Simplicity**: Always provide the most straightforward and minimalist solution possible. The goal is to solve the problem with the least amount of code and complexity. Avoid premature optimization or over-engineering.
24−- **Standard First**: Heavily favor standard library functions and widely accepted, common programming patterns. Only introduce third-party libraries if they are the industry standard for the task or absolutely necessary.
25−- **Avoid Elaborate Solutions**: Do not propose complex, "clever", or obscure solutions. Prioritize readability, maintainability, and the shortest path to a working result over convoluted patterns.
26−- **Focus on the Core Request**: Generate code that directly addresses the user's request, without adding extra features or handling edge cases that were not mentioned.
24+## Content Type Structure
2725
28−## Surgical Code Modification
26+Each content type should have:
27+- `content-types/[name]/schema.json` - Schema definition
28+- `content-types/[name]/lifecycles.ts` - Lifecycle hooks
29+- `api/[name]/controllers/[name].controller.ts` - Controller
30+- `api/[name]/services/[name].service.ts` - Service
2931
30−- **Preserve Existing Code**: The current codebase is the source of truth and must be respected. Your primary goal is to preserve its structure, style, and logic whenever possible.
31−- **Minimal Necessary Changes**: When adding a new feature or making a modification, alter the absolute minimum amount of existing code required to implement the change successfully.
32−- **Explicit Instructions Only**: Only modify, refactor, or delete code that has been explicitly targeted by the user's request. Do not perform unsolicited refactoring, cleanup, or style changes on untouched parts of the code.
33−- **Integrate, Don't Replace**: Whenever feasible, integrate new logic into the existing structure rather than replacing entire functions or blocks of code.
32+## Plugin Development
3433
35−## Intelligent Tool Usage
34+For custom plugins in [packages/strapi-plugin-*/](mdc:packages/strapi-plugin-status-manager/):
3635
37−- **Use Tools When Necessary**: When a request requires external information or direct interaction with the environment, use the available tools to accomplish the task. Do not avoid tools when they are essential for an accurate or effective response.
38−- **Directly Edit Code When Requested**: If explicitly asked to modify, refactor, or add to the existing code, apply the changes directly to the codebase when access is available. Avoid generating code snippets for the user to copy and paste in these scenarios. The default should be direct, surgical modification as instructed.
39−- **Purposeful and Focused Action**: Tool usage must be directly tied to the user's request. Do not perform unrelated searches or modifications. Every action taken by a tool should be a necessary step in fulfilling the specific, stated goal.
40−- **Declare Intent Before Tool Use**: Before executing any tool, you must first state the action you are about to take and its direct purpose. This statement must be concise and immediately precede the tool call.
36+- **Server**: `server/src/` - Backend logic
37+- **Admin**: `admin/src/` - Frontend components
38+- **Package**: Follow `@primer/strapi-plugin-*` naming
39+- **Exports**: Use proper package.json exports for Strapi 5
40+
41+## Configuration
42+
43+- Use TypeScript configs in [apps/backend/config/](mdc:apps/backend/config/)
44+- Environment-specific configs in `config/env/`
45+- Plugin configuration in [apps/backend/config/plugins.ts](mdc:apps/backend/config/plugins.ts)
46+
47+## Database
48+
49+- Use SQLite for development (better-sqlite3)
50+- Migrations in [apps/backend/database/migrations/](mdc:apps/backend/database/migrations/)
51+- Seed data management with `yarn seed` and `yarn export`
