Skip to main content

Root Layout

whilst-slack-bot/
├── apps/                  # Deployable applications
├── services/              # AWS Lambda handlers
├── packages/              # Shared TypeScript libraries
├── infra/                 # AWS CDK infrastructure
├── scripts/               # Utility scripts
├── migrations/            # Database migrations
├── openapi/               # OpenAPI specification
├── docs/                  # Internal documentation
├── docs-site/             # Mintlify documentation site
├── package.json           # Root workspace config
└── pnpm-workspace.yaml    # pnpm workspace definition

Apps

apps/web-app/

The main Next.js 14 web application.
DirectoryPurpose
app/App Router pages and API routes
components/React components
hooks/Custom React hooks
lib/Utilities, database clients, AI services

Services

ServicePurpose
services/event-intake/Slack event ingestion Lambda
services/job-worker/Background job processor Lambda
services/user-resolver/User context resolution Lambda

Packages

PackagePurpose
packages/shared/Shared utilities and types
packages/communication-slack/Slack API client
packages/mcp-clients/MCP adapter implementations
packages/tenant-store/Workspace data access layer
packages/job-store/Job queue management
packages/knowledge-pipeline/Thread analysis and auto-doc generation

Key Entry Points

FilePurpose
apps/web-app/app/layout.tsxWeb app root layout
apps/web-app/app/[slug]/page.tsxWorkspace home page
services/job-worker/src/handler.tsLambda job handler
services/event-intake/src/handler.tsSlack event handler

Configuration Files

FilePurpose
.env.exampleEnvironment variable template
pnpm-workspace.yamlWorkspace package definitions
tsconfig.base.jsonShared TypeScript config
eslint.config.mjsESLint configuration
vercel.jsonVercel deployment config