Feature: Scriptbook (runnable script documents)
Write this so someone with no background can follow.
Objective
Ship Scriptbook: documents authored in CentrMark (.cmk) that can be played on a developer machine (install steps, DNS checks, setup recipes). Run output lives in sidecars; the source document is never rewritten.
Upstream: dev-centr/scriptbook.
- Illustrated model
- Essay
Three layers (not SLP, not shell translation)
| Name | Job |
|---|---|
CentrMark ( |
Markup only. No exec. No Equivalence Engine. |
PlayTime |
Engine in the Scriptbook library. Detect host, bind intents, run commands, write sidecars. |
Scriptbook |
App ( |
- This is not Synchronous Literate Programming (that is `
-
tangle` / source sync).
This is not a bash-to-PowerShell rewriter. Author an intent (cli.install + tool id). PlayTime asks the Equivalence Engine for a command that fits this computer. Portable glue may stay as a Nushell cell.
Details: PlayTime · Host Awareness · GitHub spec/ until the hub deploy lands.
Not SLP
| Synchronous Literate Programming (SLP) | Scriptbook | |
|---|---|---|
Goal |
Document ↔ source code sync ( |
Document ↔ shell/script execution |
Output |
Tangled source files |
|
Mutates |
Bi-directional edit may update AST/source |
No — weave in UI only |
See also Synchronous Literate Programming.
v0.1 surface
-
CLI:
scriptbook run|status|clean-runs -
Shells:
auto/nu/sh/bash/pwsh -
Library for future DevCentr GUI player
-
Example: GitHub Pages + Cloudflare HTTPS dance (with general-knowledge Nu checker)
Intent playbooks (v0.2)
-
::: step [intent="cli.install" tool="gh"]— same file on Windows and Linux -
Host Awareness snapshot first (PlayTime). Then Equivalence Engine bind. Never the reverse.
-
CLI:
--format,--catalog,--answers(no TUI wizard yet) -
::: choose/when-answer/when-contextfor method branching -
GUI player is still later — do not reimplement exec in the docs UI