From fd548eaa7bf48ce73fa828e0503321adf1fb017d Mon Sep 17 00:00:00 2001 From: TalexDreamSoul Date: Thu, 2 Jul 2026 18:01:42 -0700 Subject: [PATCH] chore: harden local dev environment --- .gitignore | 1 + compose.yaml | 21 +++++++++++++++++++++ next.config.ts | 26 ++++++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 compose.yaml diff --git a/.gitignore b/.gitignore index 2b67b9f..27180f3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .data/ +.env*.local .next/ node_modules/ tsconfig.tsbuildinfo diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..7cd047e --- /dev/null +++ b/compose.yaml @@ -0,0 +1,21 @@ +services: + postgres: + image: postgres:17-alpine + container_name: teatea-postgres + restart: unless-stopped + environment: + POSTGRES_DB: teatea_pension + POSTGRES_USER: teatea + POSTGRES_PASSWORD: teatea_dev_password + ports: + - "127.0.0.1:5432:5432" + volumes: + - teatea-postgres-data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U teatea -d teatea_pension"] + interval: 5s + timeout: 5s + retries: 20 + +volumes: + teatea-postgres-data: diff --git a/next.config.ts b/next.config.ts index ab77db6..eae877e 100644 --- a/next.config.ts +++ b/next.config.ts @@ -2,6 +2,32 @@ import type { NextConfig } from "next"; const nextConfig: NextConfig = { outputFileTracingRoot: process.cwd(), + webpack(config, { dev }) { + if (dev) { + config.watchOptions = { + ...config.watchOptions, + ignored: [ + "**/.agents/**", + "**/.claude/**", + "**/.codex/**", + "**/.cursor/**", + "**/.data/**", + "**/.git/**", + "**/.next/**", + "**/.pi/**", + "**/.playwright-mcp/**", + "**/.serena/**", + "**/.spec-workflow/**", + "**/.trae/**", + "**/.trellis/**", + "**/output/**", + "**/tmp/**", + ], + }; + } + + return config; + }, }; export default nextConfig;