How It Works
Two steps. That's it.
Pikku generates the Serverless Framework config. You deploy it. No hand-written YAML, no mapping routes to Lambda handlers manually.
Generate the config
Pikku scans your functions and generates a complete serverless.yml plus individually bundled entry points in .deploy/serverless/.
Deploy to AWS
Standard Serverless Framework deploy. Lambda functions, SQS queues, EventBridge rules — all created from the generated config.
Local dev
Run the full stack locally with serverless-offline. Hot reload your functions without touching AWS.
Two-step flow by design
Unlike single-command deploys, Pikku intentionally separates generation from deployment. You get full visibility into the generated serverless.yml before anything hits AWS. Inspect it, tweak it, commit it — then deploy when you're ready.
What Gets Generated
A full serverless.yml from your code.
Pikku reads your function signatures — HTTP routes, queue consumers, cron schedules — and generates everything Serverless Framework needs.
Complete Serverless Framework config — functions, events, resources, environment
Each function gets its own entry point and minimal bundle for fast cold starts
HTTP routes become API Gateway events wired to individual Lambda handlers
Queue consumers get SQS resources auto-created with proper ARN references
Cron functions become EventBridge rules with the schedule expression from your code
Lambda ARNs, SQS URLs, and resource references wired into environment variables
service: my-app
provider:
name: aws
runtime: nodejs20.x
stage: ${opt:stage, 'dev'}
region: us-east-1
environment:
ORDERS_QUEUE_URL: !Ref OrdersQueue
functions:
getUser:
handler: functions/getUser.handler
events:
- httpApi:
path: /users/{id}
method: get
processOrder:
handler: functions/processOrder.handler
events:
- sqs:
arn: !GetAtt OrdersQueue.Arn
dailyReport:
handler: functions/dailyReport.handler
events:
- schedule:
rate: cron(0 9 * * ? *)
resources:
Resources:
OrdersQueue:
Type: AWS::SQS::Queue
$ pikku deploy info --provider serverless
Provider: serverless
Output: .deploy/serverless/
Status: generated
Functions:
HTTP 8 functions (Lambda + API Gateway)
Queue 3 consumers (Lambda + SQS)
Cron 2 schedules (Lambda + EventBridge)
Resources:
OrdersQueue SQS Queue
NotificationQueue SQS Queue
Environment:
ORDERS_QUEUE_URL → !Ref OrdersQueue
NOTIFICATION_QUEUE_URL → !Ref NotificationQueue
Prerequisites
Three things. Five minutes.
If you've deployed to AWS before, you probably already have two of these.
Install the deploy package
Adds the Serverless Framework provider to your Pikku project.
AWS credentials configured
Standard AWS SDK credentials — env vars, ~/.aws/credentials, or IAM role. Same setup you'd use for any AWS deployment.
Serverless Framework installed
The actual deployment runs through the Serverless Framework CLI. Pikku just generates the config it reads.
Ship to Lambda in minutes
No more hand-writing serverless.yml. Let Pikku generate it from your actual code.