github oocx/tfplan2md v1.20.0

latest release: v1.20.1
6 hours ago

Style Guide Compliance Fixes

This release fixes systematic style guide violations in generated markdown reports. Six compliance tests were introduced, and four code-level fixes were implemented to align generated output with documented standards.

🐛 Bug fixes

Fixed empty AzAPI resource names

Symptom: AzAPI resources without friendly names displayed empty bold tags <b></b> in summaries instead of showing the Terraform resource name.

Fix: Added fallback logic to use the Terraform local name (e.g., automation_account) when AzAPI friendly names are unavailable.

Impact: 6 artifact files (13%) now show meaningful resource identifiers instead of empty placeholders.

AzAPI resource showing Terraform name fallback

Fixed wrench icon spacing

Symptom: Changed attribute summaries displayed 2🔧 (no space) instead of the documented 2 🔧 format.

Fix: Added non-breaking space before the wrench icon in summary builders.

Impact: 19 artifact files (41%) now render with correct spacing per the style guide.

Resource summary showing proper wrench icon spacing

Added tags emoji to AzAPI resources

Symptom: AzAPI resource tags rendered as **Tags:** without the 🏷️ emoji required by the style guide.

Fix: Updated AzAPI template to include the tags icon: **🏷️ Tags:**

Impact: 7 artifact files (15%) now show tags with the correct emoji prefix.

Added module emoji to code analysis sections

Symptom: Module headers in "Other Findings" sections lacked the 📦 emoji: ### Module: root

Fix: Updated code analysis template to include the module icon: ### 📦 Module: root

Impact: 8 artifact files (17%) now show module headers with the correct emoji.

📚 Documentation

New compliance test suite

Added StyleGuideComplianceTests.cs with 6 generic test methods that scan all snapshot files for style guide violations:

  • Test_AzApiResourceNames_NotEmpty() - Detects empty resource names (✅ PASSING)
  • Test_WrenchIcon_HasNonBreakingSpace() - Validates wrench icon spacing
  • Test_TagsHeader_HasIcon() - Ensures tags headers include 🏷️
  • Test_ModuleHeaders_HavePackageIcon() - Validates 📦 in module headers
  • Test_NoH3HeadingsInDetails() - Prevents heading hierarchy violations
  • Test_AttributeNamesNotInBackticks() - Enforces "Labels are Text" principle

These tests provide ongoing validation and prevent future regressions.

Documentation updates

  • Created comprehensive issue analysis documenting all 6 violation types
  • Updated docs/testing-strategy.md with StyleGuideComplianceTests catalog
  • Added resolution reference to compliance-check-results.md

🔗 Commits

  • 494f870c feat: add generation commands for all regenerable artifacts
  • 966f4645 feat: delete 5 legacy UAT artifacts without source JSON

📸 Screenshots

Note: Screenshots show visual improvements to markdown rendering. All examples use the comprehensive demo plan. See inline screenshots above for each individual fix.

🎯 Compliance Metrics

Metric Before After
Critical issues (empty names) 6 files 0 files
Code fixes applied 0/6 4/6
Test coverage None 6 tests
Obsolete artifacts removed 0 5 files
Generation script coverage 19 artifacts 32 artifacts

Note: 2 remaining violations (H3 headings in details, attribute names in backticks) affect legacy/static test files and require template-level changes beyond this issue's scope.

Don't miss a new tfplan2md release

NewReleases is sending notifications on new releases.