Pre-demo: Have browser at app.pulumi.com/[org] dashboard
You say: "I'm so excited to introduce Pulumi Intent, a next-generation IaC tool. It's a new way to work with Pulumi Cloud that introduces Interactive Stacks, which let you manage infrastructure across the whole spectrum from spontaneous exploration to production-ready code. It uses many of the same IaC building blocks you use today - stacks, providers, policies, ESC - without code. We're excited to have you dogfood this with us - come visit us at #hackathon-fy26q2-pulumi-intent. Let's jump in."
You type in Claude Code chat:
In planning mode: Help me demo pulumi-intent by quickly standing up a tiny EC2 instance we can SSH into. Please use the "pulumi" org and the "intent" project.
Claude responds with a plan (like pulumi preview):
- Shows the steps it will take
- Lists resources to be created
- Mentions policy checks
WHILE SHOWING THE PLAN, you narrate:
"Just like pulumi preview, we see the plan first. What you're seeing are the same IaC building blocks:
- Stacks - creating a real stack in Pulumi Cloud
- Providers - configuring the AWS provider
- Policies - will check against org policies
- Resources - SSH key, security group, EC2 instance
But we're working at the spontaneous end of the spectrum - no code yet, just conversation."
You approve the plan (click approve or type "proceed")
Claude executes in real-time (visible in chat panel):
- Discovers available instance types wiht a provider function
- Generates SSH key via Bash tool
- Creates security group
- HITS POLICY VIOLATION (SSH from 0.0.0.0/0 blocked!)
- Auto-detects your IP via curl
- Creates EC2 instance with restricted access via lifecycle_resource_apply
WHILE CLAUDE IS WORKING, you narrate: "Watch - it's provisioning now. Look, it hit our org policy! That's the same policy pack that governs your coded infrastructure. Claude automatically adapted, detected my IP, and fixed the security group."
"That policy violation was real - not staged. Your policy packs protect all infrastructure - coded and interactive."
Open the browser: "Pulumi Intent is making updates to the stack in real-time."
When complete, you point at browser: "And there it is - Interactive Stack up and running in the Pulumi Dashboard."
You emphasize: "No code, no git. We'll get to that later."
You open the EC2 Resource View and then the AWS Console link: "Look at that, a managed resource in Pulumi Cloud!"
You type in Claude Code chat:
In planning mode, tag the EC2 instance with "managed-by: pulumi-intent" and mark the EC2 instance as protected.
Claude updates the resource in state (marks protect=true)
You point at browser (refresh to show protected flag): "This is what makes it interactive - I can modify resources on the fly. This instance is now protected from accidental deletion, and tagged in the console. Let me show you..."
You point at stack outputs in browser: "Instance IP, SSH command - these outputs become stack references. Your programmatic stacks can consume these via StackReference - interactive and coded infrastructure working together."
"I see there's an output that perhaps should be encrypted by Pulumi Cloud. Let's mark it as a secret."
You type in Claude Code chat:
Mark the publicIp output as a secret.
You type in Claude Code:
Generate a TypeScript component from this stack
Claude generates component code (shows in chat, may write to file)
You say: "Now we're moving across the spectrum toward code. I can lock this infrastructure into a reusable component..."
You point at generated code in editor: "...and I don't even need to redeploy. This infrastructure is already running. That's the spectrum - start spontaneous, move to coded when ready."
You type in Claude Code terminal or external terminal:
pulumi destroy --stack pulumi/intent/ec2-demo --yesClaude CLI attempts deletion, but fails on protected resource
You say: "See - the CLI respects the protection flag we set interactively. Let me remove the protection..."
You type in Claude Code chat:
Unprotect all resources and destroy the stack
You say: "We've just scratched the surface here. Intent can read and manipulate virtually any Pulumi Stack, so it's useful for migrating resources across stacks and for advanced repairs. Also: declarative infrastructure using natural language."
You say: "Pulumi Intent - interactive, no-code stacks for Pulumi Cloud. We'd love to have you try it - come join us at #hackathon-fy26q2-pulumi-intent."
- Credits the team: Eron, Claude, Claire, Richard, Devon
- Invites collaboration: #hackathon-fy26q2-pulumi-intent channel
- Welcoming tone: "We're excited to have you dogfood this with us"
- Real-time changes: Protect flag set without code changes
- State manipulation: Direct interaction with stack state
- CLI respects it: Shows true interoperability (protect flag enforced)
- Demonstrates "interactive": Not just create-once, but ongoing interaction
- Just like Pulumi CLI: Shows plan before execution (like
pulumi preview) - Builds confidence: User sees what will happen before it happens
- Educational: Teaches the workflow while demonstrating
- Spectrum: Spontaneous (conversation) → Coded (components/programs)
- Same building blocks: Stacks, providers, policies, state, outputs
- Mobility: Start interactive, move to code when ready (via component generation)
- Integration: Interactive stacks work with coded stacks via stack references
- Authentic: Not staged - the policy genuinely blocks 0.0.0.0/0
- Shows intelligence: Claude detects your IP and adapts
- Proves integration: Same policy packs govern coded and interactive infrastructure
- Stack outputs (IP, SSH command) visible in console
- Can be consumed by programmatic stacks via StackReference
- Interactive and coded infrastructure compose together
- Created via MCP tools in Claude Code (interactive)
- Protected via conversation (interactive modification)
- CLI respects protection flag (true interoperability)
- Destroyed via conversation (full lifecycle)
Command 1 (in Claude Code chat - triggers planning mode):
In planning mode: Help me demo pulumi-intent by quickly standing up a tiny EC2 instance we can SSH into. Please use the "pulumi" org and the "intent" project.
Command 2 (after reviewing plan - approve execution):
Proceed with the plan
Command 3 (in Claude Code chat - interactive modification):
Mark the EC2 instance as protected
Command 4 (in Claude Code chat):
Generate a TypeScript component from this stack
Command 5 (in terminal - Claude Code integrated terminal or external):
pulumi destroy --stack pulumi/intent/ec2-demo --yesCommand 6 (in Claude Code chat - after seeing protection work):
Unprotect all resources and destroy the stack
- ✅
pulumi whoami→ confirm Pulumi Cloud backend - ✅ AWS credentials configured
- ✅ MCP server configured in Claude Code (check settings)
- ✅ Pulumi Cloud console open at org dashboard in browser
- ✅ Policy pack configured: "prohibited-public-internet" must exist in org
- ✅ VS Code with Claude Code extension running
- ✅ Terminal ready (integrated or external) for CLI destroy attempt
- ✅ Clean slate: delete demo stack if exists (
pulumi stack rm pulumi/intent/ec2-demo --yes)
- Start message with "In planning mode:" or similar
- Claude will respond with a plan and wait for approval
- Click the approval button or type "proceed"
Ensure pulumi-intent MCP server is configured in Claude Code settings:
- Check: VS Code Settings → Extensions → Claude Code → MCP Servers
- Should see:
pulumi-intentserver configured
Recommended screen layout:
- Left: VS Code with Claude Code chat panel open
- Right: Browser with Pulumi Cloud console
Alternative layout:
- VS Code full screen with Claude Code chat
- Alt-tab to browser for Pulumi Cloud views
- Claude Code shows tool calls in chat (e.g.,
mcp__pulumi-intent__lifecycle_resource_apply) - This is GOOD for demo - shows the MCP tools being used
- Emphasize: "See these tool calls? That's Claude using Pulumi Intent MCP server directly"
- "Built by our team: Claude, Claire, Richard, Devon"
- "Pulumi Intent introduces Interactive Stacks"
- "Cover more of the spectrum: spontaneous exploration → production code"
- "Same IaC building blocks: stacks, providers, policies"
- "Come join us at #hackathon-fy26q2-pulumi-intent to dogfood"
While showing the plan:
- "Just like
pulumi preview, we see the plan first" - "Same building blocks: stacks, providers, policies, resources"
- "But we're at the spontaneous end - no code yet, just conversation"
- "Policy checks will run automatically when we execute"
While Claude is working:
- "Same Pulumi building blocks you use today"
- "Same providers - AWS provider being configured"
- "Same policies - watch, it's about to hit our org policy..."
- "Same state - everything persisted in Pulumi Cloud backend"
After protecting the resource:
- "This is what makes it interactive - modify resources on the fly"
- "No code changes, no redeployment - just conversation"
- "State updated in Pulumi Cloud in real-time"
When CLI destroy fails:
- "See - the CLI respects the protection flag we set interactively"
- "That's true interoperability - same state format, same semantics"
Policy: "That policy pack governs all infrastructure - coded and interactive"
Stack References: "Interactive and coded stacks work together via StackReference - one unified platform"
Component Generation: "Now we're moving across the spectrum toward code - lock it in when ready, no redeployment needed"
- "Come try it with us at #hackathon-fy26q2-pulumi-intent"
- "We're excited to have you dogfood this"
- 0:00-0:10: Opening + team credit + introduce Pulumi Intent & Interactive Stacks + channel invitation
- 0:10-0:22: Show plan + narrate building blocks + spectrum
- 0:22-0:37: Execute + watch provisioning + policy hit
- 0:37-0:42: Point out policy enforcement
- 0:42-0:50: Interactive modification (protect instance)
- 0:50-0:55: Stack outputs/references
- 0:55-1:05: Generate component (move across spectrum)
- 1:05-1:12: CLI destroy attempt + protection enforcement + cleanup
- 1:12-1:15: Closing + channel invitation reminder
Slack Message to Share:
"We just demoed Pulumi Intent - Interactive Stacks for Pulumi Cloud! 🎉
Huge thanks to the team: Claude, Claire, Richard, and Devon for making this happen.
Want to try it? Join us at #hackathon-fy26q2-pulumi-intent to:
- Get set up with the MCP server
- Share your feedback
- Help us dogfood and improve it
Key features:
- 🗣️ Conversational infrastructure via Claude Code
- 🔒 Policy enforcement (same packs as coded infra)
- 🔗 Stack references (interactive + coded together)
- 📝 Component generation (live infra → code)
- 🛠️ Full CLI interoperability
Demo plan: https://gist.github.com/EronWright/116ca8aa1cd876ffb7534d53b76f3239"
- Team Recognition - Credits Claude, Claire, Richard, Devon in opening and closing
- Community Invitation - Invites dogfooding at #hackathon-fy26q2-pulumi-intent
- Pulumi Intent - New capability for Pulumi Cloud
- Interactive Stacks - Covers the spectrum from spontaneous to coded
- Interactive Modification - Shows ongoing interaction, not just create-once (protect flag demo)
- Planning Mode - Shows the plan before execution, like
pulumi preview - Same Building Blocks - Stacks, providers, policies, state, outputs (familiar to Pulumi users)
- Policy violation is REAL - not staged, genuinely catches insecure config
- Infrastructure is REAL - actually SSHable, not mocked
- Protection is REAL - CLI respects the protect flag set interactively
- Mobility - Start spontaneous (interactive), move to coded (component generation)
- Interoperability - Protection flag works across interactive and CLI
- Speed - ~75 seconds from conversation to running, protected EC2
This demonstrates: Infrastructure across the spectrum - spontaneous exploration with Interactive Stacks, ongoing interactive modifications, production-ready code when needed, all on Pulumi Cloud. Built by our team, ready for you to try!