@@ -292,21 +292,83 @@ This document defines coding standards for InfraHouse projects.
292292* ** README .md (required):**
293293 - Must include terraform- docs markers: `< !-- BEGIN_TF_DOCS -- > ` and `< !-- END_TF_DOCS -- > `
294294 - Pre- commit hook uses terraform- docs to auto- generate documentation
295- - Must have badges:
296- - Terraform Registry URL
297- - License
298- - CD status
299- - Relevant documentation (e.g., `[]
300- (https:// aws.amazon.com/ lambda / )`)
301- - Module description
302- - Usage examples
295+ - ** Required badges** (in this order):
296+ - Terraform Registry: `[](registry- url)`
297+ - Latest Release: `[](release- url)`
298+ - License: `[](LICENSE )`
299+ - Documentation: `[](https:// infrahouse.github.io/ repo- name/ )`
300+ - Security: `[](workflow- url)`
301+ - AWS Service Badge(s): Link to relevant AWS service(s) the module uses
302+ - Contact: `[](https:// infrahouse.com/ contact)`
303+ - ** Required sections:**
304+ 1 . Brief description (what it does, why it exists)
305+ 2 . Features (bullet list )
306+ 3 . Quick Start (minimal working example)
307+ 4 . Documentation (links to GitHub Pages)
308+ 5 . Requirements (Terraform version, providers)
309+ 6 . Usage (terraform- docs auto- generated)
310+ 7 . Examples (link to examples/ )
311+ 8 . Contributing (link to CONTRIBUTING .md)
312+ 9 . License (link to LICENSE )
303313* ** examples/ directory:**
304314 - Desired but optional
305315 - Provide working examples when included
306316* ** terraform- docs configuration:**
307317 - `.terraform- docs.yml` is managed by github- control
308318 - README .md uses centrally- managed configuration
309319
320+ # ## GitHub Pages Documentation (terraform_module)
321+ * ** Deployment:** Automated via `.github/ workflows/ docs.yml` (managed by github- control)
322+ * ** Built with :** MkDocs with Material theme
323+ * ** Required pages:**
324+ - `docs/ index.md` - Overview, features, quick start
325+ - `docs/ getting- started.md` - Prerequisites, first deployment
326+ - `docs/ configuration.md` - All variables explained with examples
327+ * ** Recommended pages:**
328+ - `docs/ architecture.md` - How it works, diagrams
329+ - `docs/ examples.md` - Common use cases with explanations
330+ - `docs/ troubleshooting.md` - Common issues and solutions
331+ - `docs/ changelog.md` - Or link to CHANGELOG .md
332+ * ** Optional pages:**
333+ - `docs/ comparison.md` - vs alternatives
334+ - `docs/ security.md` - Security considerations
335+ - `docs/ monitoring.md` - Observability setup
336+ - `docs/ upgrading.md` - Migration guides between versions
337+
338+ # ## Repository Files
339+ * ** Must have:**
340+ - `README .md` - Module documentation (see above)
341+ - `LICENSE ` - Apache 2.0 (recommended for patent protection and enterprise adoption)
342+ - `CHANGELOG .md` - Auto- generated with git- cliff
343+ - `.terraform- docs.yml` - Managed by github- control
344+ - `mkdocs.yml` - MkDocs configuration (managed by github- control)
345+ - `cliff.toml` - git- cliff configuration (managed by github- control)
346+ - `.github/ workflows/ release.yml` - Auto- create GitHub Releases from tags (managed by github- control)
347+ - `examples/ ` directory - Working examples
348+ * ** Should have:**
349+ - `CONTRIBUTING .md` - Contribution guidelines
350+ - `SECURITY .md` - Security policy, how to report vulnerabilities
351+ - `CODEOWNERS ` - Auto- assign reviewers
352+ - `.github/ ISSUE_TEMPLATE / ` - Bug report, feature request templates
353+ - `.github/ PULL_REQUEST_TEMPLATE .md` - PR template
354+
355+ # ## Release Automation
356+ * ** Automated via `.github/ workflows/ release.yml` ** (managed by github- control)
357+ * ** Trigger:** Push of version tags (e.g., `0.1 .0` , `v1.0.0` )
358+ * ** Process:**
359+ 1 . git- cliff generates changelog for the release
360+ 2 . GitHub Release is created automatically with release notes
361+ 3 . " Latest Release" badge in README reflects the new version
362+ * ** Manual release process** (via Makefile targets):
363+ ```makefile
364+ release- patch:
365+ git- cliff -- tag $ (shell bumpversion -- dry- run -- list patch | grep new_version | cut - d= - f2) - o CHANGELOG .md
366+ bumpversion patch
367+ git push && git push -- tags
368+ # GitHub Actions workflow automatically creates the release
369+ ```
370+ * ** Available targets:** `release- patch` , `release- minor` , `release- major`
371+
310372# ## Resource Organization
311373* ** `count` vs `for_each` :**
312374 - Use `count` for simple create/ don' t create scenarios (e.g., `count = var.enable_feature ? 1 : 0`)
0 commit comments