{"id":35664054,"url":"https://github.com/veloxts/velox-ts-framework","last_synced_at":"2026-03-03T05:03:47.059Z","repository":{"id":332411115,"uuid":"1110209307","full_name":"veloxts/velox-ts-framework","owner":"veloxts","description":"A full-stack TypeScript framework with type-safe APIs, hybrid tRPC/REST architecture, with great DX","archived":false,"fork":false,"pushed_at":"2026-03-01T02:08:19.000Z","size":6485,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-01T05:45:02.722Z","etag":null,"topics":["fastify","fullstack-framework","node","nodejs-server","prisma-orm","react-server-components","rest-api","spa","trpc","typescript","typescript-framework","web-framework","zod"],"latest_commit_sha":null,"homepage":"https://veloxts.dev/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/veloxts.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-04T21:38:06.000Z","updated_at":"2026-03-01T02:08:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/veloxts/velox-ts-framework","commit_stats":null,"previous_names":["veloxts/velox-ts-framework"],"tags_count":1233,"template":false,"template_full_name":null,"purl":"pkg:github/veloxts/velox-ts-framework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veloxts%2Fvelox-ts-framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veloxts%2Fvelox-ts-framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veloxts%2Fvelox-ts-framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veloxts%2Fvelox-ts-framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/veloxts","download_url":"https://codeload.github.com/veloxts/velox-ts-framework/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veloxts%2Fvelox-ts-framework/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29963117,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T06:55:38.174Z","status":"ssl_error","status_checked_at":"2026-03-01T06:53:04.810Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastify","fullstack-framework","node","nodejs-server","prisma-orm","react-server-components","rest-api","spa","trpc","typescript","typescript-framework","web-framework","zod"],"created_at":"2026-01-05T17:16:19.913Z","updated_at":"2026-03-03T05:03:47.025Z","avatar_url":"https://github.com/veloxts.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Velox TS Framework\n\n\u003e **Early Access (v0.7.x)**\n\nVelox TS (pronounced **Velox TypeScript**) is a full-stack TypeScript framework with end-to-end type safety—no code generation required. Convention-driven APIs that generate both tRPC and REST from a single source.\n\n## Key Features\n\n- **Type Safety Without Code Generation** – Types flow naturally from backend to frontend through direct imports. No build step required for type synchronization.\n\n- **Unified API Layer** - Define your API once with procedures, get both tRPC (for internal type-safe calls) and REST endpoints (for external consumers) automatically.\n\n- **Full REST Support** - Convention-based routing for all HTTP methods:\n  - `getUser` / `findUser` → `GET /api/users/:id`\n  - `listUsers` → `GET /api/users`\n  - `createUser` / `addUser` → `POST /api/users`\n  - `updateUser` / `editUser` → `PUT /api/users/:id`\n  - `patchUser` → `PATCH /api/users/:id`\n  - `deleteUser` / `removeUser` → `DELETE /api/users/:id`\n\n- **Built-in Authentication** - JWT and session-based auth with guards, rate limiting, CSRF protection, and token rotation.\n\n- **Complete Ecosystem** - Production-ready packages for caching, queues, email, storage, scheduling, and real-time events.\n\n- **Modern Stack** - Built on proven technologies: Fastify, tRPC, Prisma, and Zod.\n\n- **Elegant, Expressive Syntax** - Fluent builder APIs with full IntelliSense support and minimal boilerplate.\n\n### Documentation\n\n**[veloxts.dev/docs](https://www.veloxts.dev/docs/)** - Full documentation including getting started guides, API reference, deployment, and more.\n\n\n## Quick Start\n\n```bash\n# Create a new project (default template)\nnpx create-velox-app my-app\n\n# Or with authentication included\nnpx create-velox-app my-app --auth\n\n# Navigate to project\ncd my-app\n\n# Set up database\nnpm run db:push\n\n# Start development server\nnpm run dev\n```\n\nYour API is now running at `http://localhost:3030`.\n\n### Available Templates\n\n| Template | Command | Description |\n|----------|---------|-------------|\n| Default | `npx create-velox-app my-app` | Basic REST API with user CRUD procedures |\n| Auth | `npx create-velox-app my-app --auth` | Full authentication (JWT, sessions, guards) |\n| tRPC | `npx create-velox-app my-app --trpc` | tRPC-only setup for type-safe internal APIs |\n| RSC | `npx create-velox-app my-app --rsc` | Full-stack React Server Components with Vinxi |\n| RSC + Auth | `npx create-velox-app my-app --rsc-auth` | RSC with JWT authentication and server actions |\n\n## Example: Defining Procedures\n\n```typescript\nimport { procedure, procedures } from '@veloxts/router';\nimport { z } from 'zod';\n\nexport const userProcedures = procedures('users', {\n  // GET /api/users/:id\n  getUser: procedure()\n    .input(z.object({ id: z.string().uuid() }))\n    .query(async ({ input, ctx }) =\u003e {\n      return ctx.db.user.findUniqueOrThrow({ where: { id: input.id } });\n    }),\n\n  // GET /api/users\n  listUsers: procedure()\n    .query(async ({ ctx }) =\u003e {\n      return ctx.db.user.findMany();\n    }),\n\n  // POST /api/users\n  createUser: procedure()\n    .input(z.object({\n      name: z.string().min(1),\n      email: z.string().email(),\n    }))\n    .mutation(async ({ input, ctx }) =\u003e {\n      return ctx.db.user.create({ data: input });\n    }),\n});\n```\n\n## Ecosystem Features\n\nVeloxTS includes a complete set of infrastructure packages for common application needs:\n\n```typescript\n// Multi-driver caching with tag-based invalidation\nawait ctx.cache.remember('user:123', '30m', () =\u003e fetchUser());\nawait ctx.cache.tags(['users']).flush();\n\n// Background job processing\nawait dispatch(SendWelcomeEmail, { userId: '123', email: 'user@example.com' });\n\n// Email with React templates\nawait send({\n  to: 'user@example.com',\n  subject: 'Welcome!',\n  react: \u003cWelcomeEmail name=\"John\" /\u003e,\n});\n\n// File storage abstraction\nawait ctx.storage.put('avatars/user-123.jpg', buffer);\nconst url = await ctx.storage.url('avatars/user-123.jpg');\n\n// Fluent cron scheduling\nschedule('cleanup-sessions').call(cleanupExpiredSessions).daily().at('03:00');\n\n// Real-time broadcasting\nbroadcast('orders', { event: 'order.created', data: { orderId: '123' } });\n```\n\n## Packages\n\n### Core Packages\n\n| Package | Description |\n|---------|-------------|\n| [`@veloxts/velox`](./packages/velox) | Umbrella package - all framework features in one import |\n| [`@veloxts/core`](./packages/core) | Fastify wrapper, plugin system, error handling, and application lifecycle |\n| [`@veloxts/router`](./packages/router) | Procedure definitions with tRPC and REST routing |\n| [`@veloxts/validation`](./packages/validation) | Zod integration and common validation schemas |\n| [`@veloxts/orm`](./packages/orm) | Prisma wrapper with enhanced developer experience |\n| [`@veloxts/auth`](./packages/auth) | JWT, sessions, guards, rate limiting, CSRF protection |\n| [`@veloxts/client`](./packages/client) | Type-safe frontend API client |\n| [`@veloxts/cli`](./packages/cli) | Development server with HMR and CLI commands |\n| [`@veloxts/mcp`](./packages/mcp) | Model Context Protocol server for AI tool integration |\n| [`create-velox-app`](./packages/create) | Interactive project scaffolder |\n\n### Ecosystem Packages\n\n| Package | Description |\n|---------|-------------|\n| [`@veloxts/cache`](./packages/cache) | Multi-driver caching (memory, Redis) with tag-based invalidation |\n| [`@veloxts/queue`](./packages/queue) | Background job processing with sync and BullMQ drivers |\n| [`@veloxts/mail`](./packages/mail) | Email sending with SMTP, Resend, and React Email template support |\n| [`@veloxts/storage`](./packages/storage) | File storage abstraction for local filesystem and S3/R2 |\n| [`@veloxts/scheduler`](./packages/scheduler) | Fluent cron task scheduling with overlap protection |\n| [`@veloxts/events`](./packages/events) | Real-time broadcasting via WebSocket and SSE with Redis pub/sub |\n\n## Requirements\n\n- Node.js 20 or later\n- TypeScript 5 or later\n- pnpm, npm, or yarn\n\n## Development\n\nThis is a monorepo managed with pnpm and Turborepo.\n\n```bash\n# Install dependencies\npnpm install\n\n# Build all packages\npnpm build\n\n# Run tests\npnpm test\n\n# Type check\npnpm type-check\n\n# Lint\npnpm lint\n```\n\n## Current Status\n\n**v0.7.x** - Pre-release with stable core features.\n\nThe framework provides a solid foundation for building type-safe APIs:\n\n| Feature | Status |\n|---------|--------|\n| Core framework | ✅ Stable |\n| Procedure-based routing | ✅ All HTTP methods (GET, POST, PUT, PATCH, DELETE) |\n| Prisma integration | ✅ Stable |\n| Type-safe client | ✅ Stable |\n| JWT Authentication | ✅ Available |\n| Session Authentication | ✅ Available |\n| Guards \u0026 Authorization | ✅ Available |\n| Rate Limiting | ✅ Available |\n| Development CLI with HMR | ✅ Available |\n| Project scaffolder | ✅ Available (default, auth, trpc, rsc, rsc-auth templates) |\n| MCP Server (AI integration) | ✅ Available |\n| CLI code generators | ✅ 16 generators available |\n| Database seeding | ✅ Seeder generator available |\n| **Ecosystem Packages** | |\n| Multi-driver caching | ✅ Available (memory, Redis) |\n| Background job processing | ✅ Available (sync, BullMQ) |\n| Email sending | ✅ Available (SMTP, Resend, React Email) |\n| File storage | ✅ Available (local, S3/R2) |\n| Cron task scheduling | ✅ Available |\n| Real-time broadcasting | ✅ Available (WebSocket, SSE) |\n\n### What Works Well\n\n- Fluent procedure builder API with excellent type inference\n- Convention-based REST route generation for all HTTP methods\n- End-to-end type safety without code generation\n- Comprehensive authentication system (JWT + sessions)\n- Guard-based authorization with composable rules\n- Hot Module Replacement in development\n- Clean plugin system for extensibility\n- 16 code generators (`velox make \u003ctype\u003e`) for rapid development\n- AI-native development with MCP server integration\n- React Server Components with Vinxi and file-based routing\n- Complete ecosystem packages (cache, queue, mail, storage, scheduler, events)\n\n### Current Limitations\n\n- Small ecosystem (early adopter stage)\n\n## Contributing\n\nThis project is in pre-alpha development. We welcome feedback and bug reports through GitHub issues.\n\nFor code contributions, please open an issue first to discuss the proposed changes. The API is stabilizing but may still evolve before v1.0.\n\n## License\n\n[MIT](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveloxts%2Fvelox-ts-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fveloxts%2Fvelox-ts-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveloxts%2Fvelox-ts-framework/lists"}