Skip to content
Prompt

game — Copilot Instructions

by miguelmoya1

AI Summary

Heuristic scoring (no AI key configured).

Install

Copy this and paste it into Claude Code, Cursor, or any AI assistant:

I want to add the "game — Copilot Instructions" prompt rules to my project.
Repository: https://github.com/miguelmoya1/game

Please read the repo to find the rules/prompt file, then:
1. Download it to the correct location (.cursorrules, .windsurfrules, .github/prompts/, or project root — based on the file type)
2. If there's an existing rules file, merge the new rules in rather than overwriting
3. Confirm what was added

Description

Copilot Instructions for game

Backend (NestJS, CQRS)

• El backend está construido con NestJS y sigue la arquitectura CQRS (Command Query Responsibility Segregation). • Principio clave: Los controladores NUNCA acceden directamente a los repositorios. Toda modificación de estado (crear, editar, borrar) se realiza mediante comandos (Command) y sus handlers (CommandHandler), usando el CommandBus. • Las queries (lecturas) se gestionan con QueryBus y sus respectivos handlers. • Los comandos encapsulan la intención de modificar el estado y reciben los datos necesarios (por ejemplo, el usuario autenticado y el id del recurso). • Los handlers de comandos son responsables de: • Verificar permisos (por ejemplo, user.isAdmin() o usando el PermissionsService). • Llamar al repositorio correspondiente para realizar la acción. • Lanzar excepciones si no hay permisos o el recurso no existe. • Los comandos y handlers deben estar registrados en commands.module.ts y exportados en core/application/commands/index.ts. • Los endpoints de los controladores sólo deben instanciar el comando y ejecutarlo con el CommandBus, devolviendo la respuesta adecuada (por ejemplo, { success: true }). • El backend expone una API REST que es consumida por el frontend.

Frontend (Angular)

• El frontend está construido con Angular y estructurado en módulos, servicios y componentes reutilizables. • El panel de administración permite crear, editar y borrar sets, items y places. • Cada card de administración tiene un botón rojo de borrar, que muestra una confirmación nativa (window.confirm) antes de proceder. • Si el usuario confirma, se llama al método de borrado del servicio correspondiente (deleteItem, deleteSet, deletePlace), que hace un fetch DELETE al endpoint REST. • Tras borrar, se refresca la lista de resultados para reflejar el cambio. • El frontend espera respuestas { success: true } tras un borrado exitoso.

Flujo de Borrado (Delete Flow)

• Frontend: • El usuario ve una lista de sets, items y places en el admin. • Cada card tiene un botón rojo de borrar, que muestra un window.confirm antes de proceder. • Si se confirma, se llama al método de borrado del servicio correspondiente, que hace un fetch DELETE al endpoint REST. • Tras borrar, se refresca la lista. • Backend: • Los endpoints DELETE de los controladores (items.controller.ts, set.controller.ts, places.controller.ts) NO acceden al repositorio directamente, sino que crean y ejecutan un comando de borrado (por ejemplo, DeleteItemCommand) usando el CommandBus. • Cada comando tiene su handler (DeleteItemHandler, etc.) que: • Verifica permisos (isAdmin() o usando el PermissionsService). • Llama al método delete del repositorio correspondiente. • Lanza excepciones si no hay permisos o el recurso no existe. • Los comandos y handlers están registrados en commands.module.ts y exportados en core/application/commands/index.ts.

SOFT DELETE

• Todos los deletes en el backend son soft delete: los recursos tienen un campo deletedAt (fecha). • Para considerar un recurso como "no borrado", en los métodos de búsqueda o listados (find/search/getAll) se debe filtrar por deletedAt: null o por fecha superior a la actual (si aplica). • Nunca mostrar ni operar sobre recursos con deletedAt no nulo (o en el pasado). • El método delete de los repositorios debe marcar el recurso con la fecha actual en deletedAt, no eliminarlo físicamente. • Los handlers de borrado deben usar este mecanismo. • Los listados y búsquedas deben filtrar correctamente.

Discussion

0/2000
Loading comments...

Health Signals

MaintenanceCommitted 1mo ago
Active
AdoptionUnder 100 stars
0 ★ · Niche
DocsMissing or thin
Undocumented

GitHub Signals

Issues12
Updated1mo ago
View on GitHub
No License

My Fox Den

Community Rating

Sign in to rate this booster

Works With

Any AI assistant that accepts custom rules or system prompts

Claude
ChatGPT
Cursor
Windsurf
Copilot
+ more