Open Source Boilerplate

Lance produtos
não é boilerplate

Monorepo TypeScript pronto para produção com auth, banco de dados, filas e tudo que você precisa. Comece a desenvolver em minutos.

npx create-silverbullet-app
100%
TypeScript
25+
Packages
50+
Components
15+
Recursos

Stack tecnológico

Construído com ferramentas comprovadas

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

Recursos

Tudo o que você precisa para criar

Módulos e recursos prontos para acelerar o desenvolvimento.

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
Notificações push
Delivery tracking
Templates

User Management

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

User profiles
Contact management
Activity logs
Preferências

Monitoring & Logging

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

Error tracking
Performance monitoring
Structured logging
Alerts

Arquitetura

Escalável por design

Estrutura monorepo com separação limpa e pacotes prontos para microsserviços.

Apps frontend

TanStack Start, React 19, SSR

Client AppAdmin DashboardComponent LibraryResponsive Design

API Gateway

Hono + tRPC, middleware, roteamento

tRPC RouterMiddleware StackAPI DocumentationRate Limiting

Pacotes de serviços

Auth, banco de dados, cache, filas

25+ PackagesClean DependenciesEasy TestingMicroservice Ready

Experiência do desenvolvedor

Type-safe do banco de dados até a UI

Escreva a lógica backend uma vez e tenha autocompletar e verificação de tipos no frontend.

Backend — Rota tRPCfile.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);
    }),
});
Frontend — Componente Reactfile-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>;
}

Comece a construir hoje

Pule meses de configuração. Tenha uma base pronta para produção em minutos.

npx create-silverbullet-app