addedInput schema / additionalProperties
Added value: +false
addedInput schema / properties / args / description
Added value: +"Command-line options to parse. Each becomes an UPPER_SNAKE variable plus a case branch; required string/file/int args are validated after parsing."
addedInput schema / properties / args / items / additionalProperties
Added value: +false
addedInput schema / properties / args / items / properties / default
Added value: +{
+ "description": "Initial value used when the flag is absent.",
+ "type": "string"
+}
addedInput schema / properties / args / items / properties / description
Added value: +{
+ "description": "Help text shown in the generated usage block.",
+ "type": "string"
+}
addedInput schema / properties / args / items / properties / long / description
Added value: +"Long flag name without the dashes, e.g. verbose for --verbose."
addedInput schema / properties / args / items / properties / name / description
Added value: +"Argument identifier; sanitised to an UPPER_SNAKE shell variable. Blank entries are dropped."
addedInput schema / properties / args / items / properties / required / default
Added value: +false
addedInput schema / properties / args / items / properties / required / description
Added value: +"Enforce presence after parsing (ignored for bool)."
addedInput schema / properties / args / items / properties / short / description
Added value: +"Single-character short flag without the dash, e.g. v for -v. Non-single-char values are skipped with a warning."
addedInput schema / properties / args / items / properties / type / default
Added value: +"string"
addedInput schema / properties / args / items / properties / type / description
Added value: +"Value type. bool is a presence flag (no value, defaults false); others consume the next token."
addedInput schema / properties / args / items / properties / type / enum
Added value: +[
+ "string",
+ "int",
+ "bool",
+ "file"
+]
changedInput schema / properties / args / items / required
Previous value: -[
- "name",
- "short",
- "long",
- "type",
- "required"
-]New value: +[
+ "name"
+]
addedInput schema / properties / blocks / description
Added value: +"Reusable hardening/utility sections to include, emitted in a fixed safe order regardless of array order."
addedInput schema / properties / blocks / items / additionalProperties
Added value: +false
addedInput schema / properties / blocks / items / properties / config
Added value: +{
+ "description": "Per-block settings: check-deps deps default curl/jq; log-setup logFile; usage-function text; retry-loop max default 5; parallel concurrency default 4; lock-file lockFile; check-internet host default 8.8.8.8; custom name and content.",
+ "type": "object"
+}
addedInput schema / properties / blocks / items / properties / type / description
Added value: +"Which block to emit. Unknown types are skipped with a warning."
addedInput schema / properties / blocks / items / properties / type / enum
Added value: +[
+ "check-root",
+ "check-deps",
+ "log-setup",
+ "tmpdir",
+ "usage-function",
+ "retry-loop",
+ "parallel",
+ "lock-file",
+ "trap-cleanup",
+ "check-internet",
+ "custom"
+]
addedInput schema / properties / customBody
Added value: +{
+ "description": "Free-form shell appended as the main script body. Scanned for bash-only syntax when shebang is /bin/sh.",
+ "type": "string"
+}
addedInput schema / properties / description
Added value: +{
+ "description": "Optional multi-line description placed in the header comment.",
+ "type": "string"
+}
addedInput schema / properties / name / description
Added value: +"Optional script name placed in the header comment."
addedInput schema / properties / operation
Added value: +{
+ "default": "generate",
+ "description": "generate builds a script from the options below; presets ignores them and returns the 11 built-in templates.",
+ "enum": [
+ "generate",
+ "presets"
+ ],
+ "type": "string"
+}
addedInput schema / properties / shebang / default
Added value: +"#!/bin/bash"
addedInput schema / properties / shebang / description
Added value: +"Interpreter line. Anything else falls back to bash. Choosing /bin/sh downgrades strict mode to set -eu and warns on bash-only blocks."
addedInput schema / properties / shebang / enum
Added value: +[
+ "#!/bin/bash",
+ "#!/bin/sh",
+ "#!/usr/bin/env bash",
+ "#!/bin/zsh"
+]
addedInput schema / properties / strictMode / default
Added value: +true
addedInput schema / properties / strictMode / description
Added value: +"Emit strict-mode safety flags (set -euo pipefail and IFS). Disabling adds warnings about silent failures."
removedInput schema / required
Removed value: -[
- "shebang",
- "strictMode",
- "name",
- "args",
- "blocks"
-]
changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "properties": {
+ "operation": {
+ "description": "The operation performed (generate or presets).",
+ "type": "string"
+ },
+ "result": {
+ "description": "For generate: the script payload. For presets: a presets array of templates.",
+ "properties": {
+ "explanation": {
+ "description": "Per-section breakdown of what each emitted part does.",
+ "items": {
+ "properties": {
+ "meaning": {
+ "description": "Plain-English description of that section.",
+ "type": "string"
+ },
+ "section": {
+ "description": "Section label (e.g. Shebang, strict mode, trap-cleanup).",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "script": {
+ "description": "The complete generated shell script text.",
+ "type": "string"
+ },
+ "warnings": {
+ "description": "Human-readable lint/compatibility warnings (e.g. sh vs bash mismatches, missing trap-cleanup).",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "success": {
+ "description": "Whether the request succeeded.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+}