Open Source Boilerplate

Выпускайте продукты
не шаблон

Готовый к продакшену TypeScript-монорепозиторий с авторизацией, базой данных, очередями и всем необходимым. Начните разработку за минуты.

npx create-silverbullet-app
100%
TypeScript
25+
Packages
50+
Components
15+
Возможности

Технологии

На основе проверенных инструментов

TanStack Start
Better Auth
tRPC
Drizzle ORM
PostgreSQL
Redis
Hono
BullMQ
Tailwind CSS
Turborepo
TypeScript

Возможности

Всё, что нужно для создания

Готовые модули и функции для ускорения разработки.

Authentication & Authorization

Complete auth system with session management, role-based access control, and social login.

Session management
OAuth providers
Role-based access
JWT tokens

Database & ORM

Type-safe database operations with Drizzle ORM, migrations, and PostgreSQL optimization.

Type-safe queries
Auto migrations
Relations
Connection pooling

API & Type Safety

End-to-end type safety with tRPC and seamless client-server communication.

End-to-end types
Auto completion
Runtime validation
API documentation

File Management

Complete file handling with S3 integration, image processing, and CDN support.

S3 integration
Image processing
Upload validation
CDN support

Background Jobs

Robust job processing with BullMQ, scheduled tasks, and retry logic.

Job queues
Scheduled tasks
Retry logic
Monitoring

Email & Notifications

Multi-channel notifications with email templates and delivery tracking.

Email templates
Push-уведомления
Delivery tracking
Templates

User Management

Complete user system with profiles, preferences, and activity tracking.

User profiles
Contact management
Activity logs
Настройки

Monitoring & Logging

Comprehensive monitoring with Sentry, structured logging, and performance tracking.

Error tracking
Performance monitoring
Structured logging
Alerts

Архитектура

Масштабируемый по умолчанию

Структура монорепозитория с чистым разделением и готовыми к микросервисам пакетами.

Фронтенд приложения

TanStack Start, React 19, SSR

Client AppAdmin DashboardComponent LibraryResponsive Design

API Gateway

Hono + tRPC, middleware, маршрутизация

tRPC RouterMiddleware StackAPI DocumentationRate Limiting

Сервисные пакеты

Авторизация, база данных, кэширование, очереди

25+ PackagesClean DependenciesEasy TestingMicroservice Ready

Опыт разработчика

Типобезопасность от базы данных до UI

Напишите серверную логику один раз и получите полное автодополнение и проверку типов на фронтенде.

Бэкенд — tRPC маршрутfile.router.ts
import { router, authProcedure } from '@repo/trpc';
import {
  getFilesByUserIdPaginated,
  deleteFile,
  ListFilesPaginatedSchema
} from '@repo/file';
import { IdSchema } from '@repo/server-utils';

export const fileRouter = router({
  getMyFiles: authProcedure
    .input(ListFilesPaginatedSchema)
    .query(({ ctx, input }) => {
      return getFilesByUserIdPaginated(
        ctx.user.user.id, input
      );
    }),

  deleteFile: authProcedure
    .input(IdSchema)
    .mutation(({ ctx, input }) => {
      return deleteFile(input.id, ctx.user.user.id);
    }),
});
Фронтенд — React компонентfile-list.tsx
import { useTRPC } from '@/lib/trpc-client';
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';

export function FileList() {
  const trpc = useTRPC();
  const queryClient = useQueryClient();

  const { data: files } = useQuery(
    trpc.file.getMyFiles.queryOptions({
      pagination: { page: 1, limit: 10 }
    })
  );

  const { mutate: deleteFile } = useMutation(
    trpc.file.deleteFile.mutationOptions({
      onSuccess: () => {
        queryClient.invalidateQueries({
          queryKey: trpc.file.pathKey()
        });
      }
    })
  );

  return <div>{files?.data.length} files</div>;
}

Начните сегодня

Пропустите месяцы настройки. Получите готовую основу за минуты.

npx create-silverbullet-app