chore: add development environment setup with Docker and mise#455
Draft
zackpollard wants to merge 3 commits intomainfrom
Draft
chore: add development environment setup with Docker and mise#455zackpollard wants to merge 3 commits intomainfrom
zackpollard wants to merge 3 commits intomainfrom
Conversation
Add a single-command dev setup (`mise run dev`) that: - Starts a local PostgreSQL database via Docker Compose - Injects Discord bot credentials from 1Password using `op run` - Sets non-essential services (GitHub, Zulip, Fourthwall, Outline) to "dev" sentinel values to skip their initialization https://claude.ai/code/session_01TSzRjasWFuj73EGRKsDowb
The `vitest.config.mts` at the project root causes tsc to infer `rootDir` as the project root instead of `src/`, producing output at `dist/src/main.js` instead of `dist/main.js`. This means `nest start` can't find the entry file and the app never starts (so migrations never run). Add `tsconfig.build.json` (the standard NestJS build config that NestJS CLI defaults to) which excludes `vitest.config.mts` and test files, restoring the correct `dist/main.js` output structure. Also add `npm install` to the mise dev task. https://claude.ai/code/session_01TSzRjasWFuj73EGRKsDowb
c6cfe0c to
c528df4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a complete local development environment setup for the Discord bot, including Docker Compose configuration for PostgreSQL, mise task automation, and TypeScript build configuration.
Key Changes
.mise/dev.env: Environment configuration file with Discord bot credentials (from 1Password), PostgreSQL connection string, and disabled service sentinels for Zulip, GitHub, Fourthwall, and Outline integrationsdocker-compose.dev.yml: PostgreSQL 17 service with health checks, persistent volume storage, and port mapping for local development.mise/config.toml: Task definitions for:dev: Full development startup (install dependencies, start database, run bot with 1Password secrets)dev:db: Database-only startupdev:db:stop: Database cleanuptsconfig.build.json: Build-specific TypeScript configuration that excludes test files, dist, and config files from compilationNotable Implementation Details
op run) for secure secret management in development.spec.ts) and Vitest config from compilationhttps://claude.ai/code/session_01TSzRjasWFuj73EGRKsDowb