Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling
npx @tessl/cli install tessl/npm-create-typescript-app@2.46.0Create TypeScript App is a comprehensive template generator system that creates opinionated TypeScript projects with comprehensive tooling. Built on top of bingo-stratum, it provides both a CLI tool and programmatic API for generating TypeScript projects with pre-configured development environments, linting, testing, documentation, and CI/CD workflows.
npx create-typescript-app or npm install -g create-typescript-appimport {
template,
createConfig,
base,
blocks,
presets
} from "create-typescript-app";For accessing types:
import type {
BaseOptions,
Contributor,
Documentation,
WorkflowsVersions
} from "create-typescript-app";# Interactive project creation
npx create-typescript-app
# Global installation
npm install -g create-typescript-app
create-typescript-appimport { createConfig, base, presets } from "create-typescript-app";
// Create configuration with preset
const config = createConfig({
directory: "./my-project",
title: "My TypeScript Project",
repository: "my-typescript-project",
owner: "username",
preset: "common"
});
// Use with bingo-stratum template runner
// Template can be applied using bingo's template execution systemCreate TypeScript App is built around several key architectural components:
bingo-stratum frameworkThe system follows a composable architecture where blocks can be mixed and matched, presets provide common configurations, and the base provides core project metadata.
Core template configuration and creation functionality for generating TypeScript projects with configurable options and block-based architecture.
const template: Template;
function createConfig(options: BaseOptions): TemplateConfig;
const base: BaseTemplate;Interactive command-line interface for creating TypeScript projects with guided prompts and preset selection.
// CLI accessible via bin/index.js
// Uses runTemplateCLI from bingo packageModular template building units handling specific aspects of project generation including TypeScript setup, linting, testing, documentation, and CI/CD.
const blocks: {
blockTypeScript: Block;
blockESLint: Block;
blockVitest: Block;
blockPackageJson: Block;
blockREADME: Block;
// ... 43+ more blocks
};Pre-configured combinations of blocks representing common project configurations from minimal setups to full-featured development environments.
const presets: {
minimal: Preset;
common: Preset;
everything: Preset;
};Complete TypeScript type definitions for all configuration options, contributors, documentation structure, and workflow versions.
interface BaseOptions {
directory: string;
title: string;
repository: string;
owner: string;
description?: string;
preset?: string;
// ... 15+ more options
}