Skip to content

gabrielhamel/effect-template

Repository files navigation

Effect Template

A production-ready TypeScript template built on Effect-TS, providing a batteries-included foundation for building robust, type-safe applications with functional programming patterns.

Features

  • Effect-TS Ecosystem - @effect/platform, @effect/opentelemetry
  • Strict Type Safety - Comprehensive TypeScript configuration with 20+ strict compiler flags
  • Code Quality - ESLint, dprint, Vitest with @effect/vitest integration
  • Built-in Observability - OpenTelemetry with optional tracing and Docker Compose setup for otel-tui
  • Developer Experience - Hot reload, pre-commit hooks, GitHub Actions CI, Effect Language Service

Quick Start

# Install dependencies
npm install

# Development with hot reload
npm run dev

# Production
npm start

# Run tests
npm test

# Run all checks (format, lint, type-check, test)
npm run ci

OpenTelemetry

Optional observability with OpenTelemetry tracing.

Start the collector:

npm run telemetry-collector

Enable tracing:

export OPEN_TELEMETRY_EXPORT_URL=http://localhost:4318
npm run dev

Optional authentication headers:

export OPEN_TELEMETRY_EXPORT_HEADER_KEY=Authorization
export OPEN_TELEMETRY_EXPORT_HEADER_VALUE=Bearer token123

Available Scripts

npm run dev              # Development with hot reload
npm start                # Production run
npm test                 # Run tests once
npm run test:watch       # Run tests in watch mode
npm run ci               # Run all checks (format, lint, type, test)
npm run format:check     # Check formatting
npm run format:fix       # Fix formatting
npm run lint:check       # Check linting
npm run lint:fix         # Fix linting
npm run type:check       # TypeScript type checking

Technology Stack

License

MIT

About

My template of an Effect TS node application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •