🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis →
Socket
Book a DemoInstallSign in
Socket

tvi-cli

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tvi-cli

A modern CLI tool for scaffolding end-to-end type-safe TypeScript projects with best practices and customizable configurations

latest
Source
npmnpm
Version
0.1.4
Version published
Maintainers
1
Created
Source

tvi cli

A CLI tool for scaffolding end-to-end type-safe TypeScript projects with best practices and customizable configurations.

Quick Start

If you install globally, you can run the CLI directly:

tvi

Run without installing globally:

# Using npm
npx tvi-cli@latest

# Using bun
bunx tvi-cli@latest

# Using pnpm
pnpx tvi-cli@latest

Follow the prompts to configure your project or use the --yes flag for defaults.

Features

CategoryOptions
TypeScriptEnd-to-end type safety across all parts of your application
Frontend• React with TanStack Router
• React with React Router
• React with TanStack Start (SSR)
• Next.js
• SvelteKit
• Nuxt (Vue)
• SolidJS
• React Native with NativeWind (via Expo)
• React Native with Unistyles (via Expo)
• None
Backend• Hono
• Express
• Elysia
• Next.js API routes
• Convex
• Fastify
• None
API Layer• tRPC (type-safe APIs)
• oRPC (OpenAPI-compatible type-safe APIs)
• None
Runtime• Bun
• Node.js
Database• SQLite
• PostgreSQL
• MySQL
• MongoDB
• None
ORM• Drizzle (TypeScript-first)
• Prisma (feature-rich)
• Mongoose (for MongoDB)
• None
Database Setup• Turso (SQLite)
• Neon (PostgreSQL)
• Prisma Postgres (via Prisma Accelerate)
• MongoDB Atlas
• None (manual setup)
AuthenticationBetter-Auth (email/password, with more options coming soon)
StylingTailwind CSS with shadcn/ui components
Addons• PWA support
• Tauri (desktop applications)
• Starlight (documentation site)
• Biome (linting and formatting)
• Husky (Git hooks)
• Turborepo (optimized builds)
Examples• Todo app
• AI Chat interface (using Vercel AI SDK)
Developer Experience• Automatic Git initialization
• Package manager choice (npm, pnpm, bun)
• Automatic dependency installation

Usage

Usage: tvi [project-directory] [options]

Options:
  -V, --version                   Output the version number
  -y, --yes                       Use default configuration
  --database <type>               Database type (none, sqlite, postgres, mysql, mongodb)
  --orm <type>                    ORM type (none, drizzle, prisma, mongoose)
  --auth                          Include authentication
  --no-auth                       Exclude authentication
  --frontend <types...>           Frontend types (tanstack-router, react-router, tanstack-start, next, nuxt, svelte, solid, native-nativewind, native-unistyles, none)
  --addons <types...>             Additional addons (pwa, tauri, starlight, biome, husky, turborepo, none)
  --examples <types...>           Examples to include (todo, ai, none)
  --git                           Initialize git repository
  --no-git                        Skip git initialization
  --package-manager <pm>          Package manager (npm, pnpm, bun)
  --install                       Install dependencies
  --no-install                    Skip installing dependencies
  --db-setup <setup>              Database setup (turso, neon, prisma-postgres, mongodb-atlas, none)
  --backend <framework>           Backend framework (hono, express, elysia, next, convex, fastify, none)
  --runtime <runtime>             Runtime (bun, node, none)
  --api <type>                    API type (trpc, orpc, none)
  -h, --help                      Display help

Examples

Create a project with default configuration:

npx tvi-cli my-app --yes

Create a project with specific options:

npx tvi-cli my-app --database postgres --orm drizzle --auth --addons pwa biome

Create a project with Elysia backend and Node.js runtime:

npx tvi-cli my-app --backend elysia --runtime node

Create a project with multiple frontend options:

npx tvi-cli my-app --frontend tanstack-router native

Create a project with examples:

npx tvi-cli my-app --examples todo ai

Create a project with Turso database setup:

npx tvi-cli my-app --database sqlite --orm drizzle --db-setup turso

Create a project with Convex backend:

npx tvi-cli my-app --backend convex --frontend tanstack-router

Create a project with documentation site:

npx tvi-cli my-app --addons starlight

Compatibility Notes

  • Convex backend: Automatically disables authentication, database, ORM, and API options
  • Backend 'none': If selected, this option will force related options like API, ORM, database, authentication, and runtime to 'none'. Examples will also be disabled (set to none/empty).
  • SvelteKit, Nuxt, and SolidJS frontends are only compatible with oRPC API layer
  • PWA support requires React with TanStack Router, React Router, or SolidJS
  • Tauri desktop app requires React (TanStack Router/React Router), Nuxt, SvelteKit, or SolidJS
  • AI example is not compatible with Elysia backend or SolidJS frontend

Project Structure

The created project follows a clean monorepo structure:

my-tvi-app/
├── apps/
│   ├── web/          # Frontend application
│   ├── server/       # Backend API
│   ├── native/       # (optional) Mobile application
│   └── docs/         # (optional) Documentation site
├── packages/         # Shared packages
└── README.md         # Auto-generated project documentation

After project creation, you'll receive detailed instructions for next steps and additional setup requirements.

Keywords

tvi

FAQs

Package last updated on 24 Jun 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts