Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stars Issues License

Scriptbook

Scriptbook: play CentrMark .cmk script documents; sidecar run output (never rewrites the doc).

Report Bug · Request Feature

Scriptbook runs CentrMark (.cmk) playbooks on your machine and records output in sidecars — never by rewriting the document. Think Jupyter for scripts: narrative + `

step` cells, playable from a CLI (DevCentr GUI later).

* Markup: CentrMark `

playbook` / ::: step (see spec/playbook-profile.adoc)

  • Engine: PlayTime (the lib/ package) — binds intents, detects the host, runs commands

  • App: Scriptbook CLI (scriptbook) — later also a DevCentr GUI

  • Output: <file.cmk>.runs/ (spec/sidecar.adoc)

  • Do not translate bash into PowerShell. Name an intent (cli.install) and let PlayTime ask the Equivalence Engine.

SLP / `

tangle` is for source literate programming. Scriptbook is for run on my machine docs.

About The Project

Scriptbook executes CentrMark playbook documents and stores run history in sidecar files adjacent to the source document.

Installation

Requires DUB and a D compiler (DMD or LDC).

cd lib && dub build
cd ../cli && dub build
./bin/scriptbook version

On Windows, binaries land under cli/bin/scriptbook.exe.

Download a binary from GitHub Releases, or build from source as above.

Usage

scriptbook run examples/smoke.cmk
scriptbook run examples/install-gh.cmk --dry-run --yes --catalog examples/fixture-catalog.sdl
scriptbook status examples/smoke.cmk
scriptbook history examples/smoke.cmk
scriptbook prohelp
scriptbook clean-runs examples/smoke.cmk

Flags:

  • --yes / -y — allow steps with confirm=true

  • --dry-run — record scripts without executing

  • --format <id> — pick an install format when several fit (winget, deb, nix, …)

  • --catalog <tools.sdl> — Equivalence Engine CLI catalog (or SCRIPTBOOK_CATALOG)

  • --answers <file.json> — answers for ::: choose / ::: ask (CI)

  • --prefer-mutable — prefer winget/brew/apt over Nix when both exist

Commands:

  • history — human-readable table of the last sidecar run (was it run? what exited?)

  • prohelp — how to find Scriptbook run records and OS audit tools (journalctl / Event Viewer / syslog)

Shell backends (shell= prop): auto (prefer nu, else bash/sh or pwsh), nu, sh, bash, pwsh.

Nushell helpers: nu/scriptbook.nu.

Examples

  • examples/smoke.cmk — CI smoke

  • examples/install-gh.cmk — abstract cli.install playbook (same file on Windows and Linux)

  • examples/gh-pages-https.cmk — Cloudflare ↔ GitHub Pages HTTPS algorithm (see also dev-centr/general-knowledge how-to + scripts/check-gh-pages-https.nu)

  • Specs: spec/playtime.adoc, spec/host-awareness.adoc, spec/playbook-profile.adoc

License

Centr Source License 1.0 — Branding (CSL-1.0-B). See LICENSE. Incorporation (linking/bundling in another product) is allowed; Scriptbook branding is reserved. Family overview: DevCentr Licensing.

Previously AGPL-3.0-or-later (through 0.1.1 history); relicensed 2026-08-03. Git history was not rewritten.

About

Scriptbook: play CentrMark .cmk script documents; sidecar run output (never rewrites the doc)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages