| name | pikku-deploy-azure |
| description | Use when deploying a Pikku app to Azure Functions. Covers PikkuAzFunctionsLogger and PikkuAzTimerRequest for Azure Functions runtime. TRIGGER when: user asks about Azure Functions, Azure deployment, or @pikku/azure-functions. DO NOT TRIGGER when: user asks about AWS Lambda (use pikku-deploy-lambda) or Cloudflare Workers (use pikku-deploy-cloudflare). |
Pikku Azure Functions Deployment
Agent Operating Procedure
Use this skill as an execution checklist, not reference material.
- Discover before editing. Prefer OpenCode tools such as
pikku-meta when available; otherwise run the relevant pikku meta ... --json command and inspect only the focused output you need.
- Identify the source files that own the behavior. Do not start by reading generated output,
.pikku, node_modules, vendored packages, or broad build artifacts.
- Make the smallest source change that satisfies the task. Keep generated files generated, and avoid hand-editing SDKs, schema output, or typegen.
- Validate with the narrowest relevant command first, then run
pikku-verify or pikku all when functions, wirings, schemas, or generated clients may have changed.
- If validation fails, fix the source cause and rerun validation. Do not paper over generated errors by editing generated files.
@pikku/azure-functions provides Azure Functions runtime adapters for Pikku.
Installation
yarn add @pikku/azure-functions @azure/functions
API Reference
PikkuAzFunctionsLogger
Logger implementation that integrates with Azure Functions' built-in logging context.
PikkuAzTimerRequest
Timer trigger request handler for running Pikku scheduled functions as Azure Timer Triggers.
Usage Patterns
HTTP Function
import { app } from '@azure/functions'
import { PikkuAzFunctionsLogger } from '@pikku/azure-functions'
app.http('api', {
methods: ['GET', 'POST', 'PUT', 'DELETE'],
route: '{*path}',
handler: async (request, context) => {
const logger = new PikkuAzFunctionsLogger(context)
},
})
Timer Trigger
import { app } from '@azure/functions'
import { PikkuAzTimerRequest } from '@pikku/azure-functions'
app.timer('scheduler', {
schedule: '0 */5 * * * *',
handler: async (timer, context) => {
const request = new PikkuAzTimerRequest(timer)
},
})