Skip to content

ScripTree v0.1.5 — ParamDef.no_split opt-out

Choose a tag to compare

@KenM76 KenM76 released this 25 Apr 13:09
· 230 commits to main since this release

ScripTree v0.1.5 — ParamDef.no_split per-param opt-out

Second of four small releases. v0.1.4 added SCRIPTREE_* env vars; this one gives tool authors a per-field escape hatch from the v0.1.3 string-passthrough auto-split rule.

What's new

A new boolean field on ParamDef:

{
  "id": "comment",
  "type": "string",
  "no_split": true,
  "default": "Generated by ScripTree on 2026-04-25"
}

When no_split is true, the auto-split rule does not apply to that param — its value always emits as a single argv token, even when whitespace is present and the placeholder fills the whole template token.

Use this for a string field that genuinely holds one logical value with embedded whitespace:

  • A free-form comment / log message / commit message.
  • A pre-formatted sentence to inject as a single positional argument.
  • A path with spaces that you want literal (though path widgets are usually a better fit).

For string fields that should split on whitespace into multiple argv tokens (the "repeatable flag" pattern from v0.1.3), leave no_split off — that's still the default.

Tool editor surface

The property panel gains a Do not auto-split checkbox under the Required / Do not save value rows. Tooltip explains the rule and notes it's only meaningful for string-typed params (ignored otherwise).

Serialization

Default-false is omitted from the on-disk JSON (matches the convention for required / no_persist). Only "no_split": true writes a key. Existing .scriptree files are byte-identical after a save round-trip.

Tests

  • test_runner.py::TestStringPassthroughAutoSplit::test_no_split_flag_disables_auto_split — confirms the override works.
  • test_io.py::TestToolRoundTrip::test_no_split_round_trip — confirms the flag round-trips through serialize/deserialize and the JSON shape.

43 runner + io tests pass (10 string-passthrough + 7 round-trip + 4 env-var + 22 pre-existing).

Documentation

  • help/tool_editor.md — full property-panel field reference (previously some fields were undocumented).
  • help/LLM/argument_template.md — no_split added to the "What is NOT auto-split" list with an example.

Download

ScripTree-v0.1.5-windows-x64.zip — portable folder with vendored PySide6 pre-trimmed. Extract and double-click run_scriptree.bat. Requires Python 3.11+ on the host.

Compare v0.1.4...v0.1.5