packages/serverpod/skills/serverpod-create/SKILL.md
Serverpod Create — Create Serverpod projects and modules. Use when creating new projects/modules, or upgrading mini projects to full Serverpod.
npx skillsauth add serverpod/serverpod serverpod-createInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Creating Serverpod projects and modules is done with the serverpod create command.
dart --version should be 3.10.3+).flutter --version should be 3.38.4+).docker --version).dart install serverpod_cli).serverpod create commandWhen invoked by the user, the serverpod create command will present options on a TUI to tweak the resources of the project/module. For programmatic usage, the command can be invoked with the --no-interactive flag.
serverpod create <project_name> --no-interactive # Full project (server, client, Flutter)
serverpod create --mini <project_name> --no-interactive # Minimal project without database
serverpod create --template module <name> --no-interactive # Module (server + client)
Project name must be lowercase with underscores (valid Dart package name).
After creating the project, fetch dependencies: dart pub get from project root (workspace).
If creating a Serverpod module, refer to the Serverpod Modules skill for more details.
Considering a project named my_project, the structure will be:
my_project/
├── my_project_server/
│ ├── lib/ # Endpoints, models, business logic
│ ├── src/generated/ # Generated code (do not edit)
│ ├── config/ # development.yaml, production.yaml, passwords.yaml
│ ├── bin/main.dart # Entry point
│ └── docker-compose.yaml # Local PostgreSQL and Redis (if enabled)
├── my_project_client/ # Generated client
│ ├── src/protocol/ # Generated protocol (do not edit)
└── my_project_flutter/ # Flutter app (only for projects, not modules)
NEVER edit the generated code, as it will be overwritten by the next generation.
Any project created with the --mini flag can be upgraded to a full Serverpod project by running serverpod create . with the default/server template (without the --mini flag). Always ensure that the working tree is clean before upgrading.
development
Build highly distinctive, production-ready Flutter interfaces with exceptional design fidelity. Include this skill whenever a user requests Flutter widgets, screens, or full apps.
testing
Serverpod Authentication — Signing in users, verify if they are authenticated, assinging scopes (e.g., admin). Use when adding features that require the user to be signed in.
development
Serverpod web server (Relic) — REST APIs, webhooks, middleware, static files, server-rendered HTML, SPAs, Flutter web. Use when adding HTTP routes, serving web pages or web apps, intercepting requests, or working with the Relic web server.
tools
Serverpod overview — what it is, project structure, how to work with. Always use at least once when working with projects that use Serverpod.