Initial commit
This commit is contained in:
101
.github/copilot-instructions.md
vendored
Normal file
101
.github/copilot-instructions.md
vendored
Normal file
@@ -0,0 +1,101 @@
|
||||
# ServiceManagerWeb - Mesa de Ayuda B2B Copilot Instructions
|
||||
|
||||
Este proyecto es un sistema multi-tenant de Mesa de Ayuda/Soporte Técnico empresarial.
|
||||
|
||||
## Contexto del Proyecto
|
||||
|
||||
- **Empresa**: Aduanasoft (B2B)
|
||||
- **Sistema**: Mesa de Ayuda multi-tenant
|
||||
- **Arquitectura**: Modular Monolith con Clean Architecture
|
||||
- **Target**: MVP enterprise-grade
|
||||
|
||||
## Stack Tecnológico
|
||||
|
||||
### Backend
|
||||
- Python FastAPI (async)
|
||||
- Pydantic v2 para validación
|
||||
- SQLAlchemy 2.0 (async ORM)
|
||||
- PostgreSQL como base de datos principal
|
||||
- Redis para cache y broker Celery
|
||||
- Celery para tareas asíncronas
|
||||
- Alembic para migraciones
|
||||
- Argon2/Bcrypt para hash de passwords
|
||||
- PyJWT para autenticación
|
||||
|
||||
### Frontend
|
||||
- SvelteKit + TypeScript
|
||||
- Dos aplicaciones: cliente e interna
|
||||
- TailwindCSS para estilos
|
||||
- Zod para validación del lado cliente
|
||||
|
||||
### DevOps
|
||||
- Docker + Docker Compose
|
||||
- Nginx como reverse proxy
|
||||
- Variables de entorno para configuración
|
||||
- Healthchecks para servicios
|
||||
|
||||
## Dominios del Sistema
|
||||
|
||||
1. **auth**: Autenticación, usuarios, roles, 2FA
|
||||
2. **tenants**: Multi-tenancy, organizaciones cliente
|
||||
3. **tickets**: Core del sistema - tickets, estados, SLAs
|
||||
4. **notifications**: Email, plantillas, comunicaciones
|
||||
5. **audit**: Bitácora de acciones para compliance
|
||||
|
||||
## Roles de Usuario
|
||||
|
||||
- **ADMIN**: Control total (usuarios internos)
|
||||
- **SUPPORT_MANAGER**: Gestión equipos y SLAs
|
||||
- **AGENT**: Atención de tickets
|
||||
- **AUDITOR**: Solo lectura para auditoría
|
||||
- **CLIENT_ADMIN**: Gestión organización cliente
|
||||
- **CLIENT_USER**: Creación/seguimiento tickets
|
||||
|
||||
## Reglas de Desarrollo
|
||||
|
||||
### Seguridad
|
||||
- Siempre validar inputs con Pydantic
|
||||
- Rate limiting en endpoints críticos
|
||||
- Sanitizar archivos adjuntos
|
||||
- Correlation ID en logs
|
||||
- CORS restrictivo
|
||||
|
||||
### Código
|
||||
- Clean Architecture por dominios
|
||||
- Async/await en toda la aplicación
|
||||
- Type hints obligatorios
|
||||
- Docstrings en funciones públicas
|
||||
- Tests unitarios + integración
|
||||
|
||||
### Base de Datos
|
||||
- Migrations solo con Alembic
|
||||
- Constraints a nivel de BD
|
||||
- Índices para queries frecuentes
|
||||
- Soft deletes cuando aplique
|
||||
|
||||
### API
|
||||
- OpenAPI bien documentado
|
||||
- Versionado con prefijo /v1/
|
||||
- Paginación en listados
|
||||
- Responses consistentes
|
||||
|
||||
## Comandos Útiles
|
||||
|
||||
```bash
|
||||
# Setup inicial
|
||||
docker-compose up -d
|
||||
alembic upgrade head
|
||||
|
||||
# Desarrollo backend
|
||||
uvicorn app.main:app --reload
|
||||
|
||||
# Testing
|
||||
pytest --cov=app tests/
|
||||
|
||||
# Linting
|
||||
ruff check . --fix
|
||||
black .
|
||||
mypy .
|
||||
```
|
||||
|
||||
Cuando trabajes en este proyecto, siempre considera la naturaleza multi-tenant y empresarial del sistema.
|
||||
Reference in New Issue
Block a user