Skip to content
J·BJon BishopIndependent growth marketer

Infrastructure · llms.txt file breakdown

Pulumi llms.txt

Pulumi organizes Pulumi content, including For agents, Site overview, Docs sections, Optional.

The actual file

Source Markdown

The saved llms.txt text, displayed as source. The file belongs to its publisher; the live endpoint may change.

Open saved text ↗

Complete saved Markdown shown below.

# Pulumi

> Infrastructure as code in real programming languages. Define, deploy, and manage cloud infrastructure on AWS, Azure, Google Cloud, Kubernetes, and hundreds of providers using TypeScript, JavaScript, Python, Go, .NET, Java, YAML, or HCL.

Pulumi is an open source infrastructure as code platform that lets you use familiar programming languages and tools to build, deploy, and manage cloud infrastructure. Pulumi Cloud provides state management, secrets, deployments, and governance for teams.

## For agents

If you are an AI agent or programmatic consumer, start with these endpoints. Each has a copy-pasteable example.

- **Pulumi Cloud REST API (via the CLI)** — call any [Pulumi Cloud REST API](https://www.pulumi.com/docs/reference/cloud-rest-api/) endpoint with [`pulumi api`](https://www.pulumi.com/docs/iac/cli/api/). The command emits a stable JSON error envelope and stable [exit codes](https://www.pulumi.com/docs/iac/cli/exit-codes/) for agent consumers, and `pulumi api list --output=json` returns the full endpoint catalog. Authentication reuses the existing Pulumi CLI credentials.

      pulumi api list --output=json
      pulumi api describe <path-or-operation-id> --output=json
      pulumi api /api/user

- **Cloud registry API** — every published package, version-by-version. Public packages need no auth; set `Authorization: token $PULUMI_ACCESS_TOKEN` for private. Works without the CLI.

      # CLI (auto-fills lang/os from project runtime + host OS)
      pulumi api ls | grep registry
      pulumi api describe ListPackageVersions
      pulumi api /api/registry/packages/pulumi/pulumi/aws/versions/latest/readme

      # Direct HTTP (markdown variant via Accept header)
      curl -H "Accept: text/markdown" \
        https://api.pulumi.com/api/registry/packages/pulumi/pulumi/aws/versions/latest/readme
      curl -H "Authorization: token $PULUMI_ACCESS_TOKEN" \
        https://api.pulumi.com/api/registry/packages/<source>/<publisher>/<private-pkg>/versions/latest/installation

  Endpoints (replace `{version}` with a pinned semver where possible, or `latest` for the most recent published version):

      /api/registry/packages?search={query}
      /api/registry/packages/{source}/{publisher}/{name}/versions
      /api/registry/packages/{source}/{publisher}/{name}/versions/{version}
      /api/registry/packages/{source}/{publisher}/{name}/versions/{version}/readme
      /api/registry/packages/{source}/{publisher}/{name}/versions/{version}/installation
      /api/registry/packages/{source}/{publisher}/{name}/versions/{version}/nav
      /api/registry/packages/{source}/{publisher}/{name}/versions/{version}/docs/{typeToken}
      /api/registry/packages/{source}/{publisher}/{name}/versions/{version}/examples

  Common parameters: `?lang=typescript|python|go|csharp|java|yaml`, `?os=linux|macos|windows`, `?depth=summary|full` and `?q=<term>` on `nav`, `?limit=` (max 100) on `examples`. For prose: `--output=markdown` (CLI) or `Accept: text/markdown` (HTTP). Type tokens for `docs/{typeToken}` are URL-encoded — use `encodeURIComponent` (or equivalent), e.g. `random:index/RandomPassword` becomes `random%3Aindex%2FRandomPassword`. Discover them via `nav?depth=full`.

- **Full docs index (JSON)** — hierarchical sitemap of every documentation page with titles and nesting.

      curl https://www.pulumi.com/docs/llm-sitemap.json

- **Provider schemas** — full Pulumi schema for any provider, including resource types, input/output shapes, function signatures, and language-specific type mappings. The cloud registry API's `versions/{version}` response includes a `schemaURL` field — follow it for the version-pinned schema. `pulumi package get-schema` accepts `<name>[@version]`, a plugin binary or folder path, or a local `.json` / `.yaml` schema file. The static URL is latest-only.

      # Versioned (via cloud registry API)
      pulumi api /api/registry/packages/pulumi/pulumi/aws/versions/6.0.0 \
        | jq -r .schemaURL | xargs curl

      pulumi package get-schema aws
      pulumi package get-schema aws@6.0.0

      # Latest only
      curl https://www.pulumi.com/registry/packages/aws/schema.json

- **Markdown content (per page)** — every `/docs/` URL is available as clean markdown via two equivalent mechanisms. For the `.md` URL form, drop the trailing slash and append `.md` (e.g., `/docs/iac/concepts/resources/` → `/docs/iac/concepts/resources.md`). `/registry/` URLs support the same mechanisms (`/registry/packages/<name>.md`), but only for the latest version. Exception: `/registry/packages/<name>/api-docs/*` is not served as markdown — use the cloud registry API instead.

      # Accept-header content negotiation
      curl -H "Accept: text/markdown" https://www.pulumi.com/docs/iac/concepts/resources/
      curl -H "Accept: text/markdown" https://www.pulumi.com/registry/packages/aws/

      # .md URL suffix (header-free; same content, same cache entry)
      curl https://www.pulumi.com/docs/iac/concepts/resources.md
      curl https://www.pulumi.com/registry/packages/aws.md
      curl https://www.pulumi.com/registry.md

- **Doing infrastructure work as an agent** — the Pulumi CLI is designed for agents: run any command with `npx pulumi`, perform one-shot resource operations with [`pulumi do`](https://www.pulumi.com/docs/iac/cli/direct-resource-operations/), and get an [ephemeral Pulumi Cloud account provisioned automatically](https://www.pulumi.com/docs/administration/concepts/agent-accounts/) on first use — no signup required. [Pulumi Agent Skills](https://www.pulumi.com/docs/ai/skills/) provide proven Pulumi workflows, and the [Pulumi MCP server](https://www.pulumi.com/docs/ai/mcp-server/) exposes stacks, resource search, and the Registry as MCP tools.


- **Filing a support request** — open a ticket with the Pulumi support team without driving the [web form](https://www.pulumi.com/support/new/). No authentication and no cookies. Post exactly the six fields below: any unknown top-level key is rejected, so send this shape rather than scraping the HTML form for its inputs. In particular the rendered form carries a hidden `leave_blank` input, which is a spam trap — sending it discards the request behind a response indistinguishable from success, so never send a `leave_blank` key.

      curl -X POST https://www.pulumi.com/api/support \
        -H "Content-Type: application/json" \
        -d '{
          "email": "you@example.com",
          "name": "Your Name",
          "organization": "your-pulumi-org",
          "priority": "Normal",
          "subject": "Stack update stuck in progress",
          "description": "What you expected, what actually happened, and any relevant code or CLI output."
        }'

  `priority` is `Normal` or `Urgent`, matched case-insensitively. `organization` is the bare org name from `https://app.pulumi.com/<org>` — starting with a letter or number, then letters, numbers, hyphens and underscores, 40 characters or fewer; a pasted console URL is reduced to the org name for you. The other limits, so you can trim before sending rather than discovering them: `email` 254, `name` 200, `subject` 200, `description` 10–20000, and the whole body 256 KB (`413` past that). Control characters and bidirectional overrides are stripped from every field. Success returns `{"ok": true, "id": "...", "conversationId": "..."}`. A validation failure returns `422` with a `fields` object keyed by field name — or by `_form` when the problem is with the payload as a whole rather than one field, as with an unknown key — so each error maps back to its input without parsing prose. Other failures use `400`, `405`, `413` and `502`. A `403` means the request was blocked or rate limited: back off rather than retrying immediately. A body large enough to exceed the invocation limit is rejected by the platform before any of this applies, so a `413` is the one status that may arrive without the `ok`/`error` envelope. Replies come by email to the address you supply, so give one that a person reads.

## Site overview

This llms.txt covers www.pulumi.com, which includes:

- [Product](https://www.pulumi.com/product/): Pulumi Cloud platform overview and capabilities
- [Pricing](https://www.pulumi.com/pricing/): Plans and pricing for Pulumi Cloud (Free, Essentials, Pro, Enterprise)
- [Pulumi Registry](https://www.pulumi.com/registry/): Documentation for hundreds of cloud providers and components, available at `https://www.pulumi.com/registry/packages/<name>/`
- [Infrastructure AI](https://www.pulumi.com/docs/ai/): Using AI agents with Pulumi — bring your own agent via [Agent Skills](https://www.pulumi.com/docs/ai/skills/) and the [MCP server](https://www.pulumi.com/docs/ai/mcp-server/), or use [Pulumi Neo](https://www.pulumi.com/neo/), Pulumi's purpose-built infrastructure agent
- [Blog](https://www.pulumi.com/blog/): Product announcements, technical guides, and engineering posts
- [Dev Center](https://www.pulumi.com/dev/): Tutorials, templates, community examples, and a glossary. Has an index of its own at [/dev/llms.txt](https://www.pulumi.com/dev/llms.txt), and every detail page has a markdown twin at its URL plus `.md`
- [What is...](https://www.pulumi.com/what-is/): Explainer pages for cloud infrastructure concepts (e.g., infrastructure as code, Kubernetes, serverless)
- [Customers](https://www.pulumi.com/customers/): Companies running their infrastructure on Pulumi, and the case studies behind them
- [Automation API](https://www.pulumi.com/automation/): Program-driven Pulumi for embedding infrastructure as code into applications and platforms
- [Whitepapers](https://www.pulumi.com/whitepapers/): Long-form educational and technical content
- [Community](https://www.pulumi.com/community/): Slack, Discord, GitHub, and other community resources
- [Security](https://www.pulumi.com/security/): Security posture, compliance, and trust information
- [Docs](https://www.pulumi.com/docs/): Technical documentation (detailed sections below)

## Docs sections

### Download & Install
- [Download & Install Pulumi](https://www.pulumi.com/docs/install/): This page contains detailed instructions for downloading and installing Pulumi.

### Getting Started
- [Get Started](https://www.pulumi.com/docs/get-started/): Learn infrastructure as code in this hands-on tutorial. Install Pulumi, write your first program, and deploy to AWS, Azure, or Google Cloud in minutes.

### Infrastructure as Code
- [Infrastructure as Code](https://www.pulumi.com/docs/iac/): Learn how to create, deploy, and manage infrastructure on any cloud using Pulumi's open source infrastructure as code SDK.

### Infrastructure AI
- [Infrastructure AI](https://www.pulumi.com/docs/ai/): Use AI agents with Pulumi. Bring Claude Code, Codex, or Cursor via Agent Skills and the MCP server, or use Neo, the purpose-built infrastructure agent.

### Deployments & Workflows
- [Deployments & Workflows](https://www.pulumi.com/docs/deployments/): Cloud-hosted deployment automation, drift detection, and workflow management for infrastructure as code.

### Secrets & Configuration (ESC)
- [Secrets & Configuration](https://www.pulumi.com/docs/esc/): Learn how to tame secrets sprawl and configuration complexity securely across all your cloud infrastructure and applications.

### Discovery & governance
- [Discovery & governance](https://www.pulumi.com/docs/discovery-governance/): Discover, secure, and govern cloud infrastructure with comprehensive visibility and policy enforcement across all your resources.

### Internal Developer Platform
- [Internal Developer Platform](https://www.pulumi.com/docs/idp/): Build self-service infrastructure workflows with reusable components, templates, and golden paths—from Day 0 to Day 2.

### Administration
- [Administration](https://www.pulumi.com/docs/administration/): Manage organizations, teams, access control, security, and self-hosted deployments.

### Integrations
- [Integrations](https://www.pulumi.com/docs/integrations/): Integrations connect Pulumi with the clouds, version control systems, and tools you already use.

### Reference
- [Reference](https://www.pulumi.com/docs/reference/): Complete reference documentation for Pulumi CLI, Cloud REST API, language SDKs, and configuration syntax.

### Support
- [Support & Troubleshooting](https://www.pulumi.com/docs/support/): Get help with Pulumi through FAQs, troubleshooting guides, community resources, and support options.

## Optional

### Recent blog posts
- [Running Pulumi Neo in a Docker Sandbox: workshop recap](https://www.pulumi.com/blog/running-pulumi-neo-in-a-docker-sandbox/): Pulumi Neo can take on real infrastructure work once its limits sit outside the prompt. What our Docker workshop taught us about running Neo in a sandbox.
- [Assign policy groups by stack and account tags](https://www.pulumi.com/blog/assign-policy-groups-by-tags/): Policy groups can now add stacks and cloud accounts by tag, so new infrastructure gets the right policy coverage automatically as it's created.
- [AI infrastructure on tap with the Pulumi AICR provider](https://www.pulumi.com/blog/self-hosted-ai-infrastructure-pulumi-aicr/): The Pulumi NVIDIA AI Cluster Runtime (AICR) provider deploys pre-validated GPU training and inference clusters across clouds in a few lines of Python.
- [Pulumi ESC now issues OIDC tokens for any service](https://www.pulumi.com/blog/esc-oidc-tokens-for-any-service/): Pulumi ESC now signs short-lived OIDC tokens for any audience you set, with a stable subject you can pin in each service's trust policy.
- [Scale your team's use of AWS IAM account access manager with Pulumi](https://www.pulumi.com/blog/scale-your-teams-use-of-aws-iam-account-access-manager-with-pulumi/): Manage AWS IAM account access manager (AAM) as code with Pulumi: define IAM roles, applications, and entitlements across your AWS organization in one program.
- [Concurrent change requests in Pulumi ESC](https://www.pulumi.com/blog/esc-concurrent-change-requests/): Multiple people can now open change requests on the same Pulumi ESC environment at the same time.
- [Pulumi Google Cloud Provider Version 10.0.0](https://www.pulumi.com/blog/gcp-v10-release/): Release of the v10 version of the Pulumi Provider for Google Cloud, with a migration guide and an agent skill to help you upgrade.
- [Building Kubernetes PR Previews with Shared Pulumi Components](https://www.pulumi.com/blog/building-kubernetes-pr-previews-with-shared-pulumi-components/): A pattern for ephemeral PR preview environments alongside persistent Dev, Stage, and Prod stacks, with lessons from operating them at scale.
- [Self-driving infrastructure with Pulumi and Jev](https://www.pulumi.com/blog/self-driving-infrastructure-pulumi-jev/): GeoDeploy pairs TypeSafe Jev's confidence-scored decisions with the Pulumi Automation API to place and scale Kubernetes across AWS, Azure, and Google Cloud.
- [Route every Claude Code message to the right model with Jev](https://www.pulumi.com/blog/route-every-claude-code-message-to-the-right-model-with-jev/): jev-router asks Jev, a System One model, which Claude model each Claude Code message needs, and routes it there for a fraction of a cent.

Measured from the saved file

Linked document

UTF-8 text size
14.9 KB15242 bytes
Token count
3603o200k_base encoding
Markdown links
4744 distinct URLs
Fenced code blocks
0156 lines in the file

Size measures the captured UTF-8 text, not compressed transfer size. Tokens are counted with a named tokenizer; other models can count differently. Neither measure establishes context compatibility or answer quality.

Project H1
Pulumi

Opening blockquote

Infrastructure as code in real programming languages. Define, deploy, and manage cloud infrastructure on AWS, Azure, Google Cloud, Kubernetes, and hundreds of providers using TypeScript, JavaScript, Python, Go, .NET, Java, YAML, or HCL.

Context architecture

How the content is divided

4 H2 sections organize 47 parsed Markdown links. 0 links point to .md or .markdown paths; 0 link occurrences use another hostname. Linked destinations have not been recursively validated.

H2 sectionLinksUTF-8 bytesTokens
For agentsLine 7875511835
Site overviewLine 88171953490
Docs sectionsLine 106122441527
OptionalLine 144 · Optional102731638

Nested indexes

1 distinct links point to other llms.txt paths. These are routes to more indexes, not proof their contents were included in this file.

Link counts exclude parsed fenced and inline code and resolve relative destinations against the final endpoint. Section sizes cover the text below each H2 until the next H2.

Embedded material

Code, installation and API examples

Fenced blocks
0 closed
Declared languages
No fenced blocks detected
Package-install commands
0 detected in fenced or inline code
Authentication examples
0 fenced lines match API-key, Authorization, Bearer, OAuth or access-token patterns
HTTP request examples
0 fenced lines match request-method patterns
Authentication links
0 links have authentication-related labels

Embedded example text and links to further documentation are counted separately. A code block does not establish that a sample runs or that an authentication flow succeeds.

Publisher prioritization

The Optional section

1 H2 section named “Optional” contain 10 parsed links. 37 links sit outside those sections. That puts 21.3% of the file’s parsed links under Optional.

The community proposal uses Optional by convention for secondary links that can be skipped for a shorter context. This label does not establish that everything outside it is critical, or that the material inside it is deprecated.

Machine-readable routes

MCP references and configuration text

MCP-related text was detected in the captured file. 2 links have MCP-related labels or paths. 0 fenced lines match mcpServers, mcp_servers or an mcp add command.

These are text and link observations. No MCP server connection, authentication or tool call was tested.

Index and bundle

llms-full.txt companion

Not found at checked URLs

A verified text response establishes a companion at the checked URL. It does not prove the bundle contains all product documentation, that generation is automated, or that it fits an assistant’s context window.

Change evidence

What can be said about freshness

This capture establishes a baseline. Update frequency cannot be determined from one observation.

Linked release and migration material

1 links have release, changelog, deprecation or migration terms in their labels or paths. These provide places to investigate product changes separately.

File changes can reveal documentation edits or navigation changes. They do not by themselves measure product release velocity, accuracy, agent adoption or AI visibility.

Capture identity and measurement method
Requested endpoint
https://pulumi.com/llms.txt
Final endpoint
https://www.pulumi.com/llms.txt
HTTP status
200
Content type
text/plain; charset=utf-8
Text retrieval
Firecrawl literal text capture
Tokenizer
tiktoken 0.14.0 · o200k_base
SHA-256 of saved UTF-8 text
e4828e1d65fd7294ed7212af6b80d7c9c0b2c1b649166cab44a71d5e2577e8d5

Counts use a deterministic parser, not a spec-compliance grade. Unusual Markdown and indented code can fall outside its recognized patterns. See the llms.txt proposal and tokenizer implementation.

Related tools and resources

Prefer to write? Send Jon a message.