create-zapi-x
v0.1.0-beta.3
Published
Create a new zapi project - Zero to API in seconds
Downloads
188
Maintainers
Readme
create-zapi-x
Scaffold a new zapi project - Zero to API in seconds.
Usage
npm create zapi-x@latest
# or
npx create-zapi-x
# or
pnpm create zapi-x
# or
bun create zapi-xWhat It Creates
The scaffolder creates a complete project structure:
my-api/
├── src/
│ ├── entities/ # Entity definitions
│ │ ├── user.ts
│ │ ├── post.ts
│ │ ├── comment.ts
│ │ └── index.ts
│ │
│ ├── hooks/ # Custom lifecycle hooks
│ ├── plugins/ # Custom plugins
│ ├── routes/ # Custom routes (non-CRUD)
│ ├── middleware/ # Custom middleware
│ ├── utils/ # Utility functions
│ │
│ ├── config.ts # Zapi configuration
│ ├── generate.ts # Generator script
│ └── index.ts # Server entry point
│
├── generated/ # Auto-generated (don't edit)
│ ├── prisma/
│ │ └── schema.prisma # Database schema
│ ├── types.ts # TypeScript types
│ └── client.ts # API client for frontend
│
├── package.json
├── tsconfig.json
├── .env
├── .gitignore
└── README.mdInteractive Prompts
The scaffolder asks you:
- Project name - Your project directory name
- Database - SQLite, PostgreSQL, or MySQL
- Package manager - npm, pnpm, or bun
- Install dependencies? - Auto-install or skip
After Scaffolding
cd my-api
npm run generate # Generate Prisma schema
npm run db:push # Create database tables
npm run dev # Start development serverYour API is running at http://localhost:3000/api 🚀
Generated Endpoints
| Endpoint | Method | Description |
|----------|--------|-------------|
| /api/users | GET | List users |
| /api/users | POST | Create user |
| /api/users/:id | GET | Get user |
| /api/users/:id | PUT | Update user |
| /api/users/:id | DELETE | Delete user |
| /api/posts | GET | List posts |
| /api/posts | POST | Create post |
| /api/posts/:id | GET | Get post |
| /api/posts/:id | PUT | Update post |
| /api/posts/:id | DELETE | Delete post |
| /api/comments | GET | List comments |
| /api/comments | POST | Create comment |
| /api/comments/:id | GET | Get comment |
| /api/comments/:id | PUT | Update comment |
| /api/comments/:id | DELETE | Delete comment |
Query Parameters
?filter[field]=value- Filter by field?sort=field- Sort ascending?sort=-field- Sort descending?limit=20&offset=0- Pagination?include=author- Include relations
Development Auth
In development mode, use headers for authentication:
X-User-Id: <user-id>- Set current userX-User-Role: admin- Set user role
Learn More
License
MIT
