> ## Documentation Index
> Fetch the complete documentation index at: https://docs.erixcel.com/llms.txt
> Use this file to discover all available pages before exploring further.

# main.ts

Punto de entrada de NestJS. Carga las variables de entorno, inicializa TraceFlow **solo para desarrollo local**, crea la aplicación, registra los middlewares y configuraciones globales e inicia el servidor.

```typescript main.ts theme={null}
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { config } from 'dotenv';
import { initializeTraceFlow, setupTraceFlow } from '@core/traceflow.core';
import { setupSwagger } from '@core/swagger.core';
import { setupTransform } from '@core/transform.core';
import { setupCors } from '@core/cors.core';
import { setupGlobalFilters } from '@core/filters.core';

config();

async function bootstrap() {
  // Inicializa trazabilidad antes de crear la aplicación.
  initializeTraceFlow();

  const app = await NestFactory.create(AppModule);

  setupCors(app);
  setupTraceFlow(app);
  setupTransform(app);
  setupSwagger(app);
  setupGlobalFilters(app);

  await app.listen(process.env.PORT || 3000);
}

bootstrap();
```

`initializeTraceFlow()` utiliza `TRACEFLOW_ENABLED`, `TRACEFLOW_STUDIO_URL` y las demás variables del archivo `.env`. `setupTraceFlow(app)` agrega la captura HTTP únicamente si TraceFlow está habilitado y `PROD` no es `true`. Consulta `src/core/traceflow.core.ts` para ver los pasos de instalación local.

Las otras funciones de configuración se encuentran en `src/core`. Este ejemplo no incluye interceptores globales.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.