ランキングに戻る

ljlm0402/typescript-express-starter

TypeScriptnpm.im/typescript-express-starter

📘 Quick and Easy TypeScript Express Starter

typescriptexpressjestnodejsmongoosesequelizetypeormdockereslintprettiernginxrouting-controllers
スター成長
スター
2.9k
フォーク
448
週間成長
Issue
0
1k2k
2019年12月2022年2月2024年5月2026年7月
成果物npmnpm install typescript-express-starter
README


Project Logo

TypeScript Express Starter

🚀 Express RESTful API Boilerplate Using TypeScript

npm Info

npm Version npm Release Version npm Downloads npm Package License

github Stars github Forks github Contributors github Issues




📝 Introduction

TypeScript Express Starter is an interactive CLI tool that generates production-ready TypeScript Express projects with your preferred stack configuration.

Instead of starting from scratch, this CLI provides a comprehensive project generator with multiple database integrations, development tools, and deployment configurations. Choose from 10+ templates and customize your development workflow in minutes.

  • Interactive Setup: Choose database, ORM, linter, testing framework, and more
  • Production Ready: Docker, PM2, NGINX configurations included
  • Developer Experience: Hot reload, testing, linting, and formatting pre-configured
  • Multiple Stacks: Support for 10+ database/ORM combinations

💎 CLI Features

  • 🎯 Interactive Setup — Smart CLI with guided project configuration

  • 🚀 Quick or Custom Mode — Start fast with presets or choose tools category by category

  • 🗄️ Multiple Database Options — Prisma, Sequelize, TypeORM, Mongoose, Knex, and more

  • 🛠️ Development Tools — Choose from ESLint, Biome, Jest, Vitest, Docker, PM2

  • 📱 Template Selection — 10+ pre-configured project templates

  • Auto Configuration — Dependencies, scripts, and configs automatically setup

  • 🔧 Smart Dependencies — Tool compatibility and requirement resolution

  • 📦 Package Manager Agnostic — Works with npm, pnpm, or yarn

  • 🚀 Zero Config Start — Generated projects work immediately

  • 🎨 Customizable — Add your own templates and development tools

⚡️ Quick Start

# Install globally
npm install -g typescript-express-starter

# Run the interactive CLI
typescript-express-starter

┌  📘 TypeScript Express Starter
│
◇  Choose setup mode:
│  ● 🚀 Quick start (recommended preset) (Automatically selects a sensible toolset)
│  ○ 🛠 Custom (step-by-step) (Pick tools category by category)
│
◇  Which package manager do you want to use?
│  ● npm
│  ○ pnpm
│  ○ yarn
│
◇  Choose a template:
│  ● Express TypeScript (Basic Express + TypeScript starter · beginner · stable)
│  ○ Drizzle PostgreSQL (Modern SQL toolkit with type safety + full devtools · intermediate · stable)
│
◇  Enter your project name:
│  your-project-name
│
◇  Choose quick profile:
│  ○ Minimal (Template only (no additional devtools))
│  ● Recommended (Balanced default toolchain)
│  ○ Full (One tool from each category)
│
◇  Preset ────────────────────────────────────────────────────────────╮
│                                                                     │
│  Quick profile selected: recommended (biome, tsup, vitest, docker)  │
│                                                                     │
├─────────────────────────────────────────────────────────────────────╯
│
◇  Configuration summary ────────────────────────╮
│                                                │
│  Setup mode     : quick                        │
│  Package manager: pnpm                         │
│  Template       : Express TypeScript           │
│  Project name   : your-project-name            │
│  Devtools       : Biome, tsup, Vitest, Docker  │
│                                                │
├────────────────────────────────────────────────╯
│
◆  Proceed with project generation?
│  ● Yes / ○ No
│
✔ 📦 Base dependencies installed!
│
└ 🎉 Project setup complete!

# Navigate to your project
cd your-project-name

# Start development server
npm run dev

Generated Project Features:

  • 🌐 Express server: http://localhost:3000/
  • 🔄 Hot reload with nodemon

📂 Generated Project Structure

When you create a new project, the CLI generates this structure:

your-project/
├── src/
│   ├── config/           # Configuration files, environment settings
│   ├── controllers/      # Request handling & response logic
│   ├── dtos/             # Data Transfer Objects for request/response
│   ├── entities/         # Database entities (if using ORM)
│   ├── exceptions/       # Custom exception classes
│   ├── interfaces/       # TypeScript interfaces and type definitions
│   ├── middlewares/      # Middlewares (logging, auth, error handling)
│   ├── repositories/     # Database access logic
│   ├── routes/           # API route definitions
│   ├── services/         # Business logic
│   ├── utils/            # Utility/helper functions
│   ├── app.ts            # Express app initialization
│   └── server.ts         # Server entry point
├── .env                   # Environment variables file
├── .env.development.local # Development environment variables
├── .env.production.local  # Production environment variables
├── .env.test.local        # Test environment variables
├── nodemon.json           # Nodemon configuration
├── package.json           # Project dependencies and scripts
└── tsconfig.json          # TypeScript configuration

🛠 Development Tools Available

Choose from these categories during project setup:

Category Available Tools Description
Linter biome, eslint, oxlint Code formatting & linting (Biome is all-in-one)
Bundler swc, tsup Fast TypeScript compilation and bundling
Testing jest, vitest Unit & integration testing frameworks
Container docker Docker & docker-compose configuration

To be added later (currently in progress):

Category Available Tools Description
Process pm2 Production process management
CI/CD github GitHub Actions workflows
Git Hooks husky Pre-commit hooks for quality control
API Docs swagger OpenAPI/Swagger documentation

Smart Selection: The CLI automatically resolves tool dependencies and compatibility.

🧩 Available Templates

Current template status with comprehensive compatibility tested:

Production Ready & Fully Tested

Template Description Status Compatibility
default Express + TypeScript starter ✅ Active 🎯 Baseline
drizzle-postgresql Drizzle ORM + PostgreSQL (Type-safe, Zero overhead) ✅ Active 🌟 100% (8/8)

🔧 Enhanced Development Tools Support

drizzle-postgresql template is fully compatible with:

Linters

  • Biome - Modern unified tool (linter + formatter)
  • ESLint + Prettier - Traditional reliable combination
  • Oxlint - Rust-based high-performance linter (18ms!)

Compilers

  • tsup - esbuild-based bundler (193ms build!)
  • SWC - Rust-based native performance compiler

Test Runners

  • Jest - Mature test framework with full E2E support
  • Vitest - Modern Vite-based test runner

🎯 All 8 combinations tested and verified - Choose your preferred development experience!

🚧 Coming Soon

ORM/Database Integration

Template Description Priority
prisma Type-safe database client with auto-generated types 🔥 Next
mongoose Elegant MongoDB ODM for Node.js 🔥 Next
typeorm Decorator-based Active Record ORM 🚧 Planned
sequelize Mature Promise-based SQL ORM 🚧 Planned
mikro-orm Data Mapper ORM pattern for TypeScript 🚧 Planned
typegoose TypeScript-friendly Mongoose alternative 🚧 Planned
node-postgres High-performance PostgreSQL native driver 🚧 Planned
knex Flexible SQL query builder & migrations 🚧 Planned

Architecture/Controller Style

Template Description Priority
graphql GraphQL API schema with Apollo Server 🚧 Knowledge

🤔 Why Use This CLI?

vs. Manual Setup

Aspect Manual Setup TypeScript Express Starter CLI
Time 🔴 Hours of configuration ✅ 2-3 minutes interactive setup
Configuration 🔴 Manual dependency management ✅ Auto-resolved, compatible versions
Best Practices 🔴 Research required ✅ Pre-configured industry standards
Consistency 🔴 Varies by developer ✅ Standardized project structure
Updates 🔴 Manual maintenance ✅ CLI updates bring new features

vs. Other Generators

Feature TypeScript Express Starter Other Generators
Database Choice ✅ 10+ options planned Limited options
Tool Selection ✅ Mix & match dev tools Fixed stack
TypeScript First ✅ Built for TypeScript Often JS-first
Production Ready ✅ Docker, PM2 included Basic setup

⭐️ Stargazers

Stargazers repo roster for @ljlm0402/typescript-express-starter

🍴 Forkers

Forkers repo roster for @ljlm0402/typescript-express-starter

🤝 Contributors

Contributors repo roster for @ljlm0402/typescript-express-starter

💳 License

MIT


Made with ❤️ by AGUMON 🦖

関連リポジトリ
n8n-io/n8n

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

TypeScriptnpmOtherautomationipaas
n8n.io
197.4k59.5k
microsoft/vscode

Visual Studio Code

TypeScriptnpmMIT Licenseeditorelectron
code.visualstudio.com
187.8k41.3k
f/prompts.chat

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

HTMLOtherchatgptai
prompts.chat
166.2k21.5k
langchain-ai/langchain

The agent engineering platform.

PythonPyPIMIT Licenseaianthropic
docs.langchain.com/langchain/
142.3k23.7k
farion1231/cc-switch

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

Rustcrates.ioMIT Licenseai-toolsclaude-code
ccswitch.io
119.8k8k
microsoft/TypeScript

TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

TypeScriptnpmApache License 2.0typescriptjavascript
typescriptlang.org
109.9k13.6k
immich-app/immich

High performance self-hosted photo and video management solution.

TypeScriptnpmGNU Affero General Public License v3.0backup-toolmobile-app
immich.app
108.4k6.3k
denoland/deno

A modern runtime for JavaScript and TypeScript.

Rustcrates.ioMIT Licensedenotypescript
deno.com
107.8k6.2k
angular/angular

Deliver web apps with confidence 🚀

TypeScriptnpmMIT Licenseangulartypescript
angular.dev
100.6k27.5k
ant-design/ant-design

An enterprise-class UI design language and React UI library

TypeScriptnpmMIT Licensereactui-kit
ant.design
98.8k54.7k
oven-sh/bun

Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one

Rustcrates.ioOtherbunbundler
bun.com
95k4.9k
storybookjs/storybook

Storybook is the industry standard workshop for building, documenting, and testing UI components in isolation

TypeScriptnpmMIT Licensestorybookstyleguide
storybook.js.org
90.6k10.2k