pikku-deploy-azure

$npx mdskill add pikkujs/pikku/pikku-deploy-azure

Deploy Pikku apps to Azure Functions with runtime adapters.

  • Enables Azure Functions runtime for Pikku scheduled and HTTP functions.
  • Integrates PikkuAzFunctionsLogger and PikkuAzTimerRequest libraries.
  • Triggers only when users mention Azure deployment or @pikku/azure-functions.
  • Delivers code snippets showing logger and timer trigger implementations.

SKILL.md

.github/skills/pikku-deploy-azureView on GitHub ↗
---
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

`@pikku/azure-functions` provides Azure Functions runtime adapters for Pikku.

## Installation

```bash
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

```typescript
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)
    // Wire Pikku HTTP runner with Azure request/response
  },
})
```

### Timer Trigger

```typescript
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)
    // Process scheduled Pikku functions
  },
})
```

More from pikkujs/pikku

SkillDescription
pikku-addon'Use when creating or consuming reusable function packages (addons) in Pikku. Covers wireAddon, addon(), pikkuAddonServices, pikkuAddonWireServices, addon package structure, and cross-project function sharing.
pikku-ai-agent'Use when building AI agents, chatbots, or LLM-powered assistants with Pikku. Covers pikkuAIAgent, tool registration, memory, streaming, and agent invocation.
pikku-ai-vercel'Use when setting up AI agent execution with the Vercel AI SDK in a Pikku app. Covers VercelAIAgentRunner for streaming and non-streaming AI agent steps.
pikku-ai-voice'Use when adding voice input (speech-to-text) or voice output (text-to-speech) to AI agents in a Pikku app. Covers voiceInput/voiceOutput middleware hooks and STT/TTS service interfaces.
pikku-auth-js'Use when integrating Auth.js (NextAuth) with a Pikku app. Covers createAuthHandler, createAuthRoutes, and Auth.js configuration.
pikku-aws'Use when setting up AWS services (S3, SQS, Secrets Manager) in a Pikku app. Covers S3Content for file storage, SQSQueueService for queues, and AWSSecrets for secret management.
pikku-backblaze'Use when setting up Backblaze B2 file storage in a Pikku app. Covers B2Content for file uploads, downloads, and signed URLs.
pikku-cli'Use when building CLI commands with Pikku. Covers wireCLI, pikkuCLICommand, subcommands, options, parameters, custom renderers, and nested command groups.
pikku-concepts'Foundational guide to Pikku framework concepts. Use this skill when working with any Pikku codebase, starting a new Pikku project, or migrating a backend to Pikku. Covers the core mental model, function types, project structure, code generation, testing, and how Pikku maps to traditional backend patterns.
pikku-config'Use when managing secrets, environment variables, config, or OAuth2 credentials in a Pikku app. Covers wireSecret, wireVariable, wireOAuth2Credential, and typed config access.