Skip to content

Releases

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 04 Nov 20:07
fcc43ea
  • PowerShell: Pester tests live in their own folder <Module>.Tests/ next to the module instead of tests/ inside it, so the module folder holds only what ships. The test folder mirrors the subfolders of the module, one test file per function (Naming/Get-UtilsResourceName.Tests.ps1). The shared setup lives once in BeforeAll.ps1 at the root of the test folder and is dot-sourced with $PSScriptRoot/../BeforeAll.ps1. The Verify line lints the test folder too.

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 23:44
8d604e1
  • "Tiny file" is defined: one unit that does one step (a .bicepparam, a values override, a workflow with one job, a function that maps, formats or delegates). One unit per file is no reason to skip the chapter, a function that runs several steps gets one chapter with a section per step.
  • A section outside a chapter gets a chapter around it, it is never removed.
  • Every file has a header, also a file with one function and a doc comment: the doc comment documents the parameters, the header names prerequisites and the call.
  • Banners stand on the level of the file or of the body of its unit, never inside a loop, a branch, a try or a callback; such a block is one section.
  • PowerShell: the shape of a function file (header, table of contents, chapter inside the body after param) is shown in powershell.md, it was only in the repo example Get-UtilsConfig.ps1, which is not shipped with the skill.

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 31 Oct 22:29
a2e1135
  • Sections stand out more: a - frame around the title and a one-line description indented by 3 spaces. In a flow chapter the description repeats the explanation of the numbered step. YAML headers use the same frame, Name - explanation titles are split into title and description. The banner check fails on a section without description or closing line.
  • Every file with sections has at least one chapter, sections only live inside a chapter. Only a tiny file with one unit (a .bicepparam, a values override, a workflow with one job) has no banner. The banner check fails on a section outside a chapter.
  • The table of contents is its own comment block below the header (in YAML below the closing line of the header), separated by an empty line and framed by empty comment lines. The banner check fails on a table of contents inside the header.
  • C++: the groups of a class that fills a whole header chapter are sections, not group comments.
  • After the closing line of a section an empty line, in YAML (pipelines, Compose, Kubernetes / Helm) the key follows directly.
  • PowerShell: in a file with chapters, CLEAN is its own epilogue chapter, no section stands outside a chapter.
  • Shelve as the code grows: a folder with more than five source files or several roles side by side gets shelves before the next file goes in, also in a proof of concept. A new file counts as a change to its folder (Scope). New shelf check .scripts/Test-StorylineShelf.ps1 in CI.
  • PowerShell, JavaScript and C++: the banner bullets that only repeated SKILL.md → "Comments" are removed.
  • Bicep: chapters and sections exactly as in SKILL.md, no Bicep-specific banner rule, an empty line after every section title.
  • Bicep: one module is one file module.<name>.bicep in a category folder with a README.md, main.bicep is the entry point and main.<env>.bicepparam the test deployment. No more folder and example/ per module.
  • Kubernetes manifests / Helm: new references/kubernetes.md and examples/kubernetes/ (plain issuer manifest, Helm chart with values per environment). The values per environment live outside the chart in env/values.<chart>.<env>.yaml, the chart only holds the defaults. Plain manifests live on their own shelf cluster/. The example check runs helm lint, helm template and kubeconform.
  • Docker Compose: the reverse proxy rule (expose instead of ports, proxy on external networks) is removed, it described one setup, not a style. What stays: every published port gets a comment on what for. The volume rule loses the host layout (relative config, absolute payload paths, data folders in .gitignore) and keeps the comment per mount and :ro. The depends_on / healthcheck / service name rule is removed.
  • YAML pipelines and Docker Compose may use chapters, a large file groups its jobs or services into chapters.
  • YAML pipelines: the Bicep-specific WhatIf artifact rule (Start-Transcript, bicep_whatif_<stage>) is removed. The general rule stays: WhatIf or plan is published as an artifact, its name carries the stage.
  • Table of contents in every file with chapters, also with only one. Terraform: the header of main.tf lists every .tf file of the module with its chapter, the banner check compares the list with the files.
  • "The story" in SKILL.md: two annotated examples below the glossary, a folder tree (library, shelf, shelf label, call number) and one book with every part named on the left.
  • Review checklist grouped by the sections of the rules, one item per rule, so a review walks through every section in order.
  • Priorities in SKILL.md: correctness is the boundary, readability the goal, everything else comes after. Rules serve readability, a deliberate deviation gets a comment saying why. Reviews report correctness first.
  • Verify before done (proofreading): run the parser, linter, formatter check and tests of the language, name every check that could not run. Every language file has a Verify line.
  • PowerShell: Set-StrictMode -Version 1.0 and $ErrorActionPreference = 'Stop' in every script and .psm1, $LASTEXITCODE after native commands.
  • JavaScript: every promise is awaited or returned.
  • Example check .scripts/Test-StorylineExample.ps1 and workflow check.examples.yaml: PowerShell parser and PSScriptAnalyzer, terraform fmt/validate/test, bicep build, node --check, docker compose config on every push and PR.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 31 Oct 17:39
2a3af38
  • Table of contents in the header from two chapters on instead of three. A file with chapters always lists them, so the reader never has to guess whether a list is missing or just not required. Banner check and example files updated.
  • Show the shape change: a non-obvious parse or reshape gets one comment with a sample input and its result (azurerm_disk::os => disk).
  • A test file says what it covers: it opens with a chapter that lists its test cases. Terraform example module gets tests/registry.tftest.hcl with mock_provider.

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 31 Oct 15:54
530f4ab
  • Plugin directory lint: Key Vault, keepass and keyFile snippets replaced by storage account and notes examples, the healthcheck example uses promtool instead of wget.

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 31 Oct 15:51
626b199
  • Plugin directory lint: SKILL.md snippets no longer resolve a token, build a remote URL or copy a secret value. Neutral examples (region, backup path, blob upload) instead.