Generate Terraform
tfgenerateWORKFLOW: Step 3 of 4 - Generate Terraform files from completed design Generate Terraform files from an InsideOut session that has completed infrastructure design.
ā ļø PREREQUISITE: Only call this AFTER convoreply returns with terraform_ready=true in the response metadata.
DO NOT call this while convoreply is still running or before terraform_ready is confirmed!
If you get 'session has not reached terraform-ready state', wait for convoreply to complete first.
šÆ USE THIS TOOL WHEN: convoreply has returned with terraform_ready=true, OR the user asks to 'see the terraforms', 'generate terraform', 'show me the code', etc.
DEFAULT RESPONSE: Returns summary table + download URL (keeps code out of LLM context).
FALLBACK: Set include_code: true to get full code inline if curl/unzip fails.
CRITICAL WORKFLOW (default mode):
Call this tool to get file summary and download URL
ASK the user: 'Where would you like me to save the Terraform files? Default: ./insideout-infra/'
WAIT for user confirmation before running the download command
Run the curl/unzip command with the user's chosen directory
If curl/unzip FAILS (sandbox, security, platform issues), retry with
include_code: true
AFTER GENERATION: Ask user if they want to review the files and then deploy with tfdeploy
REQUIRES: session_id from convoopen response (format: sess_v2_...). OPTIONAL: include_code (boolean) - set true to return full code inline as fallback. š” TIP: Examine workflow.usage prompt for more context on how to properly use these tools.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"session_id": "<session_id>"
},
"name": "tfgenerate"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | Session ID from convoopen ā pass back EXACTLY as returned, including the ?token=... suffix (format: sess_v2_*?token=*). The suffix is part of the session credential; never strip it when summarizing. Riley must have signaled [TERRAFORM_READY: true] before calling this tool. | |
| include_code | No | When true, the response inlines the full generated Terraform source. Use as a fallback when the host can't read the on-disk archive (sandbox or security restrictions). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | Number of generated Terraform files. | |
| hints | No | Guidance for the calling agent: what to do next and which tools relate to this result. | |
| inline | No | True when the source is inlined in the result (include_code=true) instead of offered as a download. | |
| success | No | True when the Terraform was generated. | |
| download_url | No | URL of the archive with the generated Terraform. |