Skip to content

Kickstart a TypeScript monorepo. Preconfigured defaults for: TypeScript, linting, formatting, versioning, publishing, environment variables, database access, testing, CI, deployment

syhner/ts-kickstart

Repository files navigation

ts-kickstart

Getting started

Install dependencies with Bun, then run the dev script in all packages (where a dev script exists)

bun install
bun run all:dev

Default packages

.
└── packages/     - Any new projects belong here
    ├── add/      - Package configured to be published to npm
    ├── db/       - Database schemas and scripts
    ├── elysiajs/ - Backend with ElysiaJS (web framework)
    ├── env/      - Type-safe environment variables
    └── nextjs/   - Frontend with Next.js (web framework)

Deployment

Environment variables

Any environment variables in packages/<package>/.env are available to the package (thanks to Bun)

Type-safe environment variables

If not already present in the package, add the workspace env package and install the new dependency

  "dependencies": {
+   "env": "workspace:*"
  }
bun install

Import environment variables (schema defined in packages/env/index.ts)

import { env } from 'env';
const PORT = env.PORT; // PORT: number

About

Kickstart a TypeScript monorepo. Preconfigured defaults for: TypeScript, linting, formatting, versioning, publishing, environment variables, database access, testing, CI, deployment

Topics

Resources

Stars

Watchers

Forks