💻 Coding

Terraform Module README from Resource Inventory (No Invented Defaults) (Domain Pack)

Write a Terraform module README from a resource inventory. No invented defaults, providers, or secret values.

0.0
0Reviews
P
September 6, 2026

Prompt

Act as a Terraform docs writer who only uses a locked resource inventory. You write module README sections the inventory already supports. You do not invent default values, provider versions, secret literals, or resources not in Inputs.
You work only from Inputs. Do not invent stats, citations, quotes, URLs, names, IDs, or records that are not in Inputs.

Inputs:
- Resource inventory I lock (resource types, names, notes): [Resources]
- Variables map I lock (or NONE): [Vars]
- Outputs map I lock (or NONE): [Outputs]
- Providers I lock (or UNKNOWN): [Providers]
- Example usage notes I lock (or NONE): [Example]
- Section cap I lock: [Cap]
- Words I must not use: [Banned]
- What I must never invent (defaults, providers, secrets, resources): [Never]
- Output format: [Format]
- Language: [Lang]

Generate:
1. Honesty ledger: Resources nouns, Vars, Outputs, Providers, Example, Cap, Lang. Forbidden: invented defaults, providers, secrets, resources.
2. README outline: at most Cap H2 sections.
3. Resources / Variables / Outputs tables: only inventory rows. Missing defaults write NOT IN INPUTS.
4. Providers and example: Providers and Example only; omit fake terraform block versions.
5. Refuse list: inventing default numbers, inventing provider versions if unnamed, inventing access key literals, inventing extra resources.
6. Compliance pass: quote Banned and Never hits. Cut them. Print section count. Format as Format.

Constraints:
- README from Resources only. No invented defaults.
- Honor Cap. No emojis.

Instructions

Replace every [bracket] with your details before running. Works on ChatGPT, Claude, and Gemini.

Generated Output

This image was generated using the prompt above.

Terraform Module README from Resource Inventory (No Invented Defaults) (Domain Pack) - Result

Examples

Example Input

Resources: aws_s3_bucket.logs as pasted; aws_s3_bucket_public_access_block.logs as pasted. aws_s3_bucket_versioning NOT IN INPUTS. KMS key NONE.
Vars: name string as pasted required; tags map as pasted optional default NOT IN INPUTS. force_destroy NONE.
Outputs: bucket_arn as pasted; bucket_id as pasted. website_endpoint NONE.
Providers: aws as pasted. Version constraint UNKNOWN. azurerm NONE.
Example: module call with name = harbor-logs as pasted. Region NOT IN INPUTS.
Cap: 6
Banned: guaranteed secure, invent defaults, invent access keys
Never: invent defaults, invent providers, invent secrets, invent resources
Format: ledger + outline + tables + providers-example + refuse + compliance
Lang: English

Example Output

1. Ledger. Resources s3 bucket logs + public access block; Vars name/tags; Outputs arn/id; Providers aws. Cap 6. Lang English. Forbidden: invented defaults, providers, secrets, resources.

2. Outline (6/6).
## Overview
## Resources
## Variables
## Outputs
## Providers
## Example

3. Tables.
### Resources
| aws_s3_bucket.logs | as pasted |
| aws_s3_bucket_public_access_block.logs | as pasted |
| aws_s3_bucket_versioning | NOT IN INPUTS |
| KMS | NONE |
### Variables
| name | string required |
| tags | map default NOT IN INPUTS |
| force_destroy | NONE |
### Outputs
| bucket_arn | as pasted |
| bucket_id | as pasted |
| website_endpoint | NONE |

4. Providers and example.
Providers: aws as pasted. Version UNKNOWN. azurerm NONE.

Example:
```hcl
module "logs" {
  source = "./modules/logs"
  name   = "harbor-logs"
  # region: NOT IN INPUTS
}
```

5. Refuse. default = 3 invent: refused. aws 5.x invent: refused. access key invent: refused. extra bucket invent: refused. force_destroy invent: refused.

6. Compliance. Banned hits none. Format ledger+outline+tables+providers-example+refuse+compliance. Gaps: versioning resource, tags default, provider version, region, module source path.

Missing-data policy: if a field was blank, write NOT IN INPUTS rather than guessing. Lock any tool version named in Inputs; if unnamed, write unknown. No invented testimonials, star ratings, or press logos. If legal, clinical, insurance, HR, education-plan, or veterinary content appears, add a one-line not-advice and de-identify banner. Quote banned-word hits and cut them. End with a gaps list of five bullets the user still owes you. Character and byte caps in the job are hard; print counts when relevant. Refuse to backfill DOIs, exam dumps, PHI, PII, or compensation promises not in Inputs.

Reviews (0)

Please login to leave a review.
Loading reviews...