# Primitives Docs > Full Markdown corpus for agents and language models. Index: https://kuratchi.dev/llms.txt Sitemap: https://kuratchi.dev/sitemap.xml ## Koze Framework and .koze compiler ### koze Package: Koze Canonical: https://kuratchi.dev/docs/koze Markdown: https://kuratchi.dev/docs/koze/index.md > Cloudflare Workers-native framework docs ## Start Here Koze is the framework and `.koze` compiler package. These docs live with the package so they can move with Koze if it later leaves this monorepo. ## Guides - [Getting Started](/docs/koze/getting-started) - [Project Structure](/docs/koze/project-structure) - [Routing](/docs/koze/routing) - [Actions](/docs/koze/actions) - [Client Interactivity](/docs/koze/client-interactivity) - [Middleware](/docs/koze/middleware) - [Request APIs](/docs/koze/request-apis) - [Styling](/docs/koze/styling) - [Development](/docs/koze/development) - [Configuration](/docs/koze/configuration) ## Cloudflare Primitives - [Durable Objects](/docs/koze/durable-objects) - [Workflows](/docs/koze/workflows) - [Queues](/docs/koze/queues) - [Pipelines](/docs/koze/pipelines) - [Containers](/docs/koze/containers) - [Sandbox](/docs/koze/sandbox) - [Cloudflare Access](/docs/koze/cloudflare-access) - [API Routes](/docs/koze/api-routes) - [API Shield](/docs/koze/api-shield) - [Content](/docs/koze/content) - [Async Values](/docs/koze/async-values) ### Actions Package: Koze Canonical: https://kuratchi.dev/docs/koze/actions Markdown: https://kuratchi.dev/docs/koze/actions.md > Form actions, ActionError, redirects, and RPC form submissions ## Form actions Export a server function from the route `
``` The action receives a single **context object** with the form data and per-request context. Destructure what you need: ```ts import { ActionError } from '@kuratchi/koze'; export async function addItem({ formData }: { formData: FormData }): Promise