{"id":28574819,"url":"https://github.com/AhmedElywa/prisma-tools","last_synced_at":"2025-06-10T22:02:56.331Z","repository":{"id":37642888,"uuid":"255075959","full_name":"AhmedElywa/prisma-tools","owner":"AhmedElywa","description":"Prisma tools to help you generate CRUD system for GraphQL servers","archived":false,"fork":false,"pushed_at":"2025-06-02T16:09:07.000Z","size":21468,"stargazers_count":694,"open_issues_count":46,"forks_count":56,"subscribers_count":16,"default_branch":"main","last_synced_at":"2025-06-03T05:55:04.607Z","etag":null,"topics":["apollo","crud","graphql-modules","graphql-schema","graphql-server","nexus-framework","prisma","prisma-admin","prisma-client","prisma-framework","sdl","typescript"],"latest_commit_sha":null,"homepage":"https://paljs.com","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/AhmedElywa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-04-12T12:18:36.000Z","updated_at":"2025-06-02T16:09:11.000Z","dependencies_parsed_at":"2024-06-11T19:40:18.990Z","dependency_job_id":"d1272c6f-22b1-42b3-803e-83a8c66c0279","html_url":"https://github.com/AhmedElywa/prisma-tools","commit_stats":{"total_commits":883,"total_committers":21,"mean_commits":42.04761904761905,"dds":0.1551528878822197,"last_synced_commit":"525f4d7e64164ebe8cefa60fc77cca6feddfd1c5"},"previous_names":["ahmedelywa/prisma-tools","paljs/prisma-tools"],"tags_count":172,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmedElywa%2Fprisma-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmedElywa%2Fprisma-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmedElywa%2Fprisma-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmedElywa%2Fprisma-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AhmedElywa","download_url":"https://codeload.github.com/AhmedElywa/prisma-tools/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmedElywa%2Fprisma-tools/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":258533640,"owners_count":22716296,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["apollo","crud","graphql-modules","graphql-schema","graphql-server","nexus-framework","prisma","prisma-admin","prisma-client","prisma-framework","sdl","typescript"],"created_at":"2025-06-10T22:01:58.404Z","updated_at":"2025-06-10T22:02:56.313Z","avatar_url":"https://github.com/AhmedElywa.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./header.png\" alt=\"PalJS Header\" width=\"100%\" /\u003e\n  \n  \u003ch1\u003ePalJS - Your Prisma GraphQL Toolkit\u003c/h1\u003e\n  \n  \u003cp\u003e\u003cstrong\u003eA comprehensive toolkit for building modern GraphQL APIs with Prisma\u003c/strong\u003e\u003c/p\u003e\n  \n  \u003cp\u003e\n    \u003ca href=\"https://www.npmjs.com/org/paljs\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/@paljs/cli?label=version\u0026style=flat-square\" alt=\"Version\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/AhmedElywa/prisma-tools/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/paljs/prisma-tools?style=flat-square\" alt=\"License\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/AhmedElywa/prisma-tools/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/paljs/prisma-tools?style=flat-square\" alt=\"Stars\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://discord.gg/X7yWXrM\"\u003e\u003cimg src=\"https://img.shields.io/discord/768907308789235752?style=flat-square\u0026logo=discord\" alt=\"Discord\" /\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Features](#features)\n- [AI-Powered Code Generation with MDC Templates](#-ai-powered-code-generation-with-mdc-templates)\n- [Configuration](#configuration)\n- [License](#license)\n\n---\n\n# Introduction\n\nPalJS is a powerful toolkit that accelerates GraphQL API development with Prisma. It provides code generation, admin interfaces, query optimization, and project scaffolding tools that let you build production-ready GraphQL APIs in minutes, not hours.\n\n## Why Choose PalJS?\n\n- **⏰ Rapid Development**: Go from Prisma schema to production API in minutes\n- **🛡️ Enterprise Ready**: Built with type safety, security, and scalability in mind\n- **🔌 Framework Agnostic**: Works with Apollo Server, Express, Next.js, and more\n- **📚 Well Documented**: Comprehensive documentation and examples for every package\n- **🌍 Active Community**: Join thousands of developers building with PalJS\n\n## Packages\n\nPalJS is organized as a monorepo with focused packages for different aspects of GraphQL development:\n\n### Core Development Tools\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e\u003ca href=\"./packages/cli\"\u003e@paljs/cli\u003c/a\u003e\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eCommand-line interface for project management and code generation\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"./packages/cli/README.md\"\u003e📖 Docs\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e\u003ca href=\"./packages/generator\"\u003e@paljs/generator\u003c/a\u003e\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003ePowerful code generation engine for GraphQL schemas, resolvers, and types\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"./packages/generator/README.md\"\u003e📖 Docs\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e\u003ca href=\"./packages/create\"\u003e@paljs/create\u003c/a\u003e\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eProject scaffolding with templates for multiple frameworks and architectures\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"./packages/create/README.md\"\u003e📖 Docs\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n### GraphQL Integration\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e\u003ca href=\"./packages/nexus\"\u003e@paljs/nexus\u003c/a\u003e\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eNexus plugin for Prisma integration with automatic field selection and admin schema\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"./packages/nexus/README.md\"\u003e📖 Docs\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e\u003ca href=\"./packages/plugins\"\u003e@paljs/plugins\u003c/a\u003e\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eGraphQL plugins for query optimization, field selection, and SDL generation\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"./packages/plugins/README.md\"\u003e📖 Docs\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n### UI Components\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e\u003ca href=\"./packages/admin\"\u003e@paljs/admin\u003c/a\u003e\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eReact admin UI components with Tailwind CSS, forms, tables, and CRUD operations\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"./packages/admin/README.md\"\u003e📖 Docs\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n### Schema \u0026 Utilities\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e\u003ca href=\"./packages/schema\"\u003e@paljs/schema\u003c/a\u003e\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003ePrisma schema manipulation, conversion tools, and TypeScript generation\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"./packages/schema/README.md\"\u003e📖 Docs\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e\u003ca href=\"./packages/utils\"\u003e@paljs/utils\u003c/a\u003e\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eCommon utilities for DMMF processing, schema validation, and helper functions\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"./packages/utils/README.md\"\u003e📖 Docs\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e\u003ca href=\"./packages/types\"\u003e@paljs/types\u003c/a\u003e\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eComprehensive TypeScript type definitions for the entire PalJS ecosystem\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"./packages/types/README.md\"\u003e📖 Docs\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e\u003ca href=\"./packages/display\"\u003e@paljs/display\u003c/a\u003e\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eStyled console output, progress indicators, and logging utilities for CLI tools\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"./packages/display/README.md\"\u003e📖 Docs\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Architecture\n\nPalJS follows a modular architecture that supports different GraphQL patterns:\n\n```mermaid\ngraph TB\n    CLI[📱 PalJS CLI] --\u003e Create[🚀 Project Creation]\n    CLI --\u003e Generate[⚡ Code Generation]\n\n    Create --\u003e Templates[📋 Templates]\n    Templates --\u003e NextJS[Next.js + GraphQL]\n    Templates --\u003e Apollo[Apollo Server]\n    Templates --\u003e Modules[GraphQL Modules]\n\n    Generate --\u003e Schema[🔧 Schema Processing]\n    Generate --\u003e Nexus[🎯 Nexus Integration]\n    Generate --\u003e SDL[📝 SDL Generation]\n    Generate --\u003e Admin[🎨 Admin UI]\n\n    Schema --\u003e Utils[🛠️ Utilities]\n    Schema --\u003e Types[📊 Type Definitions]\n\n    Nexus --\u003e Plugins[🔌 GraphQL Plugins]\n    Plugins --\u003e Optimization[⚡ Query Optimization]\n```\n\n---\n\n# 🤖 AI-Powered Code Generation with MDC Templates\n\n**Transform 5 years of code generation expertise into AI-compatible instructions**\n\nPalJS now offers **MDC (Model Data Context) Templates** - comprehensive AI instructions that preserve all the power of our original generators while being maintenance-free and future-proof.\n\n## 🎯 Why MDC Templates?\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e🚀 Future-Proof\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eNo package dependencies to maintain or update\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e🤖 AI-Compatible\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eWorks with any AI model that can read instructions\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e📚 Human-Readable\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eEasy to understand, customize, and extend\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e⚡ Instant Setup\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eNo installation required - just copy and use\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## 📦 Available MDC Templates\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e\u003ca href=\"./mdc-templates/prisma-graphql-generator.md\"\u003e🎯 GraphQL Operations\u003c/a\u003e\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eGenerate client-side GraphQL fragments, queries, and mutations\u003c/td\u003e\n    \u003ctd\u003eFrontend Development\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e\u003ca href=\"./mdc-templates/prisma-admin-pages-generator.md\"\u003e🎨 Admin Pages\u003c/a\u003e\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eCreate React admin interfaces with Next.js support\u003c/td\u003e\n    \u003ctd\u003eAdmin Dashboards\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e\u003ca href=\"./mdc-templates/prisma-nexus-generator.md\"\u003e⚡ Nexus Backend\u003c/a\u003e\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eBuild type-safe GraphQL APIs with Nexus framework\u003c/td\u003e\n    \u003ctd\u003eType-Safe APIs\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e\u003ca href=\"./mdc-templates/prisma-sdl-generator.md\"\u003e📝 SDL Backend\u003c/a\u003e\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eGenerate SDL-first GraphQL schemas and resolvers\u003c/td\u003e\n    \u003ctd\u003eSchema-First APIs\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e\u003ca href=\"./mdc-templates/prisma-resolver-types-generator.md\"\u003e🛡️ Resolver Types\u003c/a\u003e\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eCreate TypeScript type definitions for resolvers\u003c/td\u003e\n    \u003ctd\u003eType Safety\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e\u003ca href=\"./mdc-templates/prisma-graphql-modules-generator.md\"\u003e🏗️ GraphQL Modules\u003c/a\u003e\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eBuild modular GraphQL with dependency injection\u003c/td\u003e\n    \u003ctd\u003eEnterprise Scale\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003e\u003ca href=\"./mdc-templates/prisma-admin-settings-generator.md\"\u003e⚙️ Admin Settings\u003c/a\u003e\u003c/strong\u003e\u003c/td\u003e\n    \u003ctd\u003eGenerate configuration files for admin interfaces\u003c/td\u003e\n    \u003ctd\u003eUI Configuration\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## 🚀 Quick Start with AI\n\n### 1. Choose Your Template\nPick the template that matches your needs from the table above.\n\n### 2. Prepare Your Context\n```bash\n# Your Prisma schema\ncat prisma/schema.prisma\n\n# Choose configuration options\nexport OUTPUT_DIR=\"src/graphql\"\nexport MODELS=\"User,Post,Comment\"\n```\n\n### 3. Generate with AI\n```bash\n# Example prompt for ChatGPT/Claude/etc:\n\"I need you to generate GraphQL operations for my Prisma models.\n\nHere's the MDC template: [paste template content]\n\nHere's my Prisma schema: [paste schema]\n\nConfiguration:\n- Output directory: src/graphql  \n- Models: User, Post, Comment\n- Exclude fields: createdAt, updatedAt\n- Generate TypeScript\n\nPlease follow the exact patterns in the template.\"\n```\n\n### 4. Get Production-Ready Code\nThe AI will generate the same high-quality code that PalJS generators created, but without any package dependencies!\n\n## 🎨 Example Output\n\n**Input**: Simple blog schema with User and Post models  \n**Output**: Complete GraphQL operations, admin pages, or backend APIs\n\n```typescript\n// Generated GraphQL operations\nexport const USER_FRAGMENT = gql`\n  fragment UserFragment on User {\n    id\n    email\n    name\n    posts {\n      id\n      title\n    }\n  }\n`;\n\nexport const FIND_MANY_USERS = gql`\n  query FindManyUsers($where: UserWhereInput) {\n    findManyUsers(where: $where) {\n      ...UserFragment\n    }\n  }\n  ${USER_FRAGMENT}\n`;\n```\n\n## 🔄 Migration from PalJS Generators\n\nTransitioning from the original generators is seamless:\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003cth\u003eOriginal Generator\u003c/th\u003e\n    \u003cth\u003eMDC Template\u003c/th\u003e\n    \u003cth\u003eStatus\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003e@paljs/generator\u003c/code\u003e → GraphQL\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"./mdc-templates/prisma-graphql-generator.md\"\u003eGraphQL Operations\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e✅ 100% Compatible\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003e@paljs/generator\u003c/code\u003e → Admin\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"./mdc-templates/prisma-admin-pages-generator.md\"\u003eAdmin Pages\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e✅ 100% Compatible\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003e@paljs/generator\u003c/code\u003e → Nexus\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"./mdc-templates/prisma-nexus-generator.md\"\u003eNexus Backend\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e✅ 100% Compatible\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ccode\u003e@paljs/generator\u003c/code\u003e → SDL\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"./mdc-templates/prisma-sdl-generator.md\"\u003eSDL Backend\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e✅ 100% Compatible\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## 💡 Benefits Over Traditional Generators\n\n| Traditional Generators | MDC Templates |\n|----------------------|---------------|\n| 📦 Package dependencies | 🚀 Zero dependencies |\n| 🔄 Version compatibility issues | ⚡ Always compatible |\n| 🛠️ Maintenance overhead | 🎯 Maintenance-free |\n| 🏗️ Fixed patterns | 🎨 AI-adaptable patterns |\n| 📅 Periodic updates needed | 🔮 Future-proof |\n\n## 📚 Documentation \u0026 Examples\n\n- **[Complete Documentation](./mdc-templates/README.md)** - Comprehensive guide and usage instructions\n- **[Practical Examples](./mdc-templates/example-usage.md)** - Real-world scenarios with sample schemas\n- **[Migration Guide](./mdc-templates/README.md#migration-from-original-generators)** - Step-by-step transition guide\n\n---\n\n# Installation\n\nChoose one of the following installation methods:\n\n## Global Installation (Recommended)\n\n```bash\n# Install PalJS CLI globally to use the 'pal' command\nnpm install -g @paljs/cli\n\n# After global installation, the 'pal' binary is available system-wide\npal --help\n```\n\n## Use with npx (No Installation Required)\n\n```bash\n# Use npx to run commands without global installation\nnpx @paljs/cli --help\n```\n\n---\n\n# Usage\n\n## Quick Start\n\n### Create Your First Project\n\n#### Using Global Installation (`pal` command)\n\n```bash\n# Create a new full-stack project\npal create my-graphql-app\n\n# Choose your preferred setup:\n# ✔ Project template: full-stack-nextjs\n# ✔ UI framework: Tailwind CSS + PrismaAdmin UI\n# ✔ Package manager: yarn\n# ✔ Initialize git: yes\n\ncd my-graphql-app\nyarn dev\n```\n\n#### Using npx (Alternative Method)\n\n```bash\n# Create a new full-stack project without global installation\nnpx @paljs/cli create my-graphql-app\n\n# Same interactive setup process follows\ncd my-graphql-app\nyarn dev\n```\n\n### Generate GraphQL API\n\n#### Using Global Installation\n\n```bash\n# After defining your Prisma schema\npal generate\n\n# Generates:\n# ✅ GraphQL schema with all CRUD operations\n# ✅ Type-safe resolvers\n# ✅ Admin interface pages\n# ✅ Query optimization utilities\n```\n\n#### Using npx\n\n```bash\n# After defining your Prisma schema\nnpx @paljs/cli generate\n\n# Same generated output\n```\n\n## 5-Minute Setup\n\n1. **Install PalJS CLI**\n\n   ```bash\n   npm install -g @paljs/cli\n   ```\n\n2. **Create a new project**\n\n   ```bash\n   pal create my-app --example full-stack-nextjs --framework \"Tailwind CSS + PrismaAdmin UI\"\n   ```\n\n3. **Define your data model**\n\n   ```prisma\n   // prisma/schema.prisma\n   model User {\n     id    Int     @id @default(autoincrement())\n     email String  @unique\n     name  String?\n     posts Post[]\n   }\n   \n   model Post {\n     id        Int     @id @default(autoincrement())\n     title     String\n     content   String?\n     published Boolean @default(false)\n     author    User    @relation(fields: [authorId], references: [id])\n     authorId  Int\n   }\n   ```\n\n4. **Generate GraphQL API**\n\n   ```bash\n   cd my-app\n   pal generate\n   ```\n\n5. **Start developing**\n   ```bash\n   npm run dev\n   ```\n\n## Choose Your Architecture\n\n### Nexus Schema-First\n\n```bash\npal create my-nexus-api --example apollo-nexus-schema\n```\n\nPerfect for: Type-safe GraphQL with excellent TypeScript integration\n\n### SDL-First\n\n```bash\npal create my-sdl-api --example apollo-sdl-first\n```\n\nPerfect for: Schema-first development with flexible resolver patterns\n\n### GraphQL Modules\n\n```bash\npal create my-modular-api --example graphql-modules\n```\n\nPerfect for: Large, scalable applications with modular architecture\n\n### Full-Stack Next.js\n\n```bash\npal create my-fullstack-app --example full-stack-nextjs\n```\n\nPerfect for: Complete web applications with admin interfaces\n\n## Use Cases\n\n### Rapid Prototyping\n\n- Generate complete GraphQL APIs from Prisma schemas\n- Instant admin interfaces for data management\n- Built-in authentication and authorization patterns\n\n### Enterprise Applications\n\n- Multi-schema support for microservices\n- Type-safe code generation\n- Scalable GraphQL architectures\n\n### Learning \u0026 Education\n\n- Best practice templates and examples\n- Comprehensive documentation\n- Community support and tutorials\n\n### API Modernization\n\n- Migrate REST APIs to GraphQL\n- Add admin interfaces to existing databases\n- Optimize query performance automatically\n\n## Migration \u0026 Upgrading\n\n### From v7 to v8\n\n```bash\n# Update all PalJS packages\nnpm update @paljs/cli @paljs/generator @paljs/nexus\n\n# Regenerate with latest templates\npal generate --force\n```\n\n### Database Migrations\n\n```bash\n# Generate Prisma migration\nnpx prisma migrate dev\n\n# Regenerate GraphQL schema\npal generate\n```\n\n---\n\n# Features\n\n## Features\n\n- 🔥 **Instant CRUD Generation** - Auto-generate complete GraphQL schemas, resolvers, and mutations\n- 🎨 **Admin UI Components** - Ready-to-use React admin interfaces with full CRUD operations\n- ⚡ **Query Optimization** - Automatic field selection and query optimization for better performance\n- 🏗️ **Project Scaffolding** - Create full-stack applications with modern frameworks and best practices\n- 🎯 **Type Safety** - Full TypeScript support across all packages and generated code\n- 🔧 **Multiple Architectures** - Support for Nexus, SDL-first, and GraphQL Modules approaches\n\n## Performance \u0026 Best Practices\n\n### Query Optimization\n\n- Automatic field selection based on GraphQL queries\n- Reduced database load with smart relationship loading\n- Built-in query complexity analysis\n\n### Security\n\n- Input validation and sanitization\n- Rate limiting and query depth limiting\n- Secure authentication patterns\n\n### Monitoring\n\n- Built-in performance metrics\n- Error tracking and logging\n- Development and production optimizations\n\n## Community \u0026 Support\n\n### Resources\n\n- **[Documentation](https://paljs.com)** - Comprehensive guides and API references\n- **[Examples](./packages/create/examples)** - Real-world project templates\n- **[Blog](https://paljs.com/blog)** - Tutorials, tips, and best practices\n\n### Community\n\n- **[Discord](https://discord.gg/X7yWXrM)** - Join our community for help and discussions\n- **[GitHub Issues](https://github.com/AhmedElywa/prisma-tools/issues)** - Report bugs and request features\n- **[Discussions](https://github.com/AhmedElywa/prisma-tools/discussions)** - Ask questions and share ideas\n\n### Contributing\n\nWe welcome contributions! See our [Contributing Guide](./CONTRIBUTING.md) for details.\n\n### Professional Support\n\nNeed enterprise support? Contact us at **hello@paljs.com**\n\n---\n\n# Configuration\n\n## Basic Configuration (`paljs.config.js`)\n\n```javascript\nmodule.exports = {\n  schema: './prisma/schema.prisma',\n  backend: {\n    generator: 'nexus', // 'nexus' | 'sdl' | 'graphql-modules'\n    output: './src/graphql',\n    excludeFields: ['password', 'hash'],\n    excludeModels: [{ name: 'Log', queries: true, mutations: false }],\n  },\n  frontend: {\n    admin: {\n      models: ['User', 'Post', 'Category'],\n      output: './src/admin/pages',\n    },\n  },\n};\n```\n\n## Multi-Schema Configuration\n\n```javascript\nmodule.exports = {\n  multiSchema: true,\n  schemas: {\n    user: {\n      schema: './prisma/user.prisma',\n      backend: { generator: 'nexus', output: './src/graphql/user' },\n    },\n    blog: {\n      schema: './prisma/blog.prisma',\n      backend: { generator: 'sdl', output: './src/graphql/blog' },\n    },\n  },\n};\n```\n\n---\n\n# License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003cp\u003e\u003cstrong\u003eBuilt with ❤️ by the PalJS team\u003c/strong\u003e\u003c/p\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://github.com/AhmedElywa/prisma-tools\"\u003e⭐ Star on GitHub\u003c/a\u003e •\n    \u003ca href=\"https://discord.gg/X7yWXrM\"\u003e💬 Join Discord\u003c/a\u003e •\n    \u003ca href=\"https://paljs.com\"\u003e📚 Read Docs\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAhmedElywa%2Fprisma-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAhmedElywa%2Fprisma-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAhmedElywa%2Fprisma-tools/lists"}