You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Julian Noble e25537bb50 punk::ansi 0.1.4: ansistring RANGE argdoc states the pinned contract 3 weeks ago
..
assets/logo G-057 achieved: flip, archive record, reference sweep, owning-doc pointers 4 weeks ago
bin
bootsupport AGENTS docs: international-English idiom rule; tabled -> tabular in live agent docs 3 weeks ago
buildsuites G-165 runtime-side follow-on landed: retire mkimg from the buildsuite wrap lane 3 weeks ago
decktemplates G-087 stages 4+5: overlay merge primitive, marker/matrix retirement, version seeding 1 month ago
defaultconfigs
doc
embedded
lib punkexe -e one-liner support (G-077): app-punkscript 1.1 + boot core 0.4.0 top-level carve-out + moduledoc 0.5.0 (0.50.0) 3 weeks ago
lib_tcl8
lib_tcl9
modules punk::ansi 0.1.4: ansistring RANGE argdoc states the pinned contract 3 weeks ago
modules_tcl8 refactor AGENTS.md files 2 months ago
modules_tcl9 refactor AGENTS.md files 2 months ago
project_layouts G-149 follow-on landed: make.tcl adopts @cmd -formhint - actionable per-action help hints with honest continuation ellipsis (punkshell 0.55.1) 3 weeks ago
runtime G-165 achieved 2026-08-04: driver-invariant kit assembly (single zip writer path, punkzip acceleration, file-relative opt-in) (punkshell 0.52.0) 3 weeks ago
scriptapps retire src/scriptapps/punk.tcl (stale pre-G-155 _build dev-launch shim) 3 weeks ago
testansi
testdata
tests G-151 design leans recorded + ansistring pre-modification coverage survey 3 weeks ago
text
tools G-165 achieved 2026-08-04: driver-invariant kit assembly (single zip writer path, punkzip acceleration, file-relative opt-in) (punkshell 0.52.0) 3 weeks ago
vendorlib kettle tilde fix: punk::mix::cli 0.6.1 + vendored kettle app.tcl local patch (tcl9) 3 weeks ago
vendorlib_tcl8 G-139 retirement: vendored tcllib trees removed (artifact path proven) 4 weeks ago
vendorlib_tcl9 G-139 retirement: vendored tcllib trees removed (artifact path proven) 4 weeks ago
vendormodules G-111: modpod 0.1.6 tidy + first test baseline (0.47.2) 3 weeks ago
vendormodules_tcl8 cookfs1.9.0: relocate misplaced pkgIndex library to vendorlib_tcl8/win32-x86_64 1 month ago
vendormodules_tcl9 fifo2 & startup interim fixes. sqids lib. vfs tidy 3 months ago
vfs AGENTS docs: international-English idiom rule; tabled -> tabular in live agent docs 3 weeks ago
AGENTS.md AGENTS docs: international-English idiom rule; tabled -> tabular in live agent docs 3 weeks ago
README.md G-155 increment A: stage vocabulary landed - mint/promote/bake strict, BAKE-WARNING, _mint/_bake workdirs (payload-frozen) 3 weeks ago
Tcl9icon.six
Tcl9icon.svg
build.cmd
build.ps1
build.tcl
error_overtype.txt
make.tcl G-149 follow-on landed: make.tcl adopts @cmd -formhint - actionable per-action help hints with honest continuation ellipsis (punkshell 0.55.1) 3 weeks ago
test.txt

README.md

punk shell

Runtimes

#run from project root:  
./bin/punk-runtime.cmd list -remote
# This is a cross-platform polyglot wrapper that should run from bash, or with tclsh or in windows directly in powershell/cmd.exe
./bin/punk-runtime.cmd fetch

#if no retrievable runtime for your platform, you'll need a vfs capable tclkit or a zipfs capable tclsh with an attached vfs

#todo: exact notes on creating suitable runtimes (plain tclsh will likely be missing zipfs vfs to mount)

Make Instructions (mint / promote / bake)

  • Use tclsh|<punkruntime> make.tcl <commandname> to mint .tm modules and rebake the punk executables In normal use it should be called from the project root. e.g
 tclsh src/make.tcl vendorupdate   ;# if needed

 tclsh src/make.tcl packages       ;# mint the libs / modules from src to <projectroot> (version-stamped)
 # or separately:
 # tclsh src/make.tcl modules      ;# src/modules -> /modules (etc)
 # tclsh src/make.tcl libs         ;# src/lib     -> /lib (etc)

 tclsh src/make.tcl vfscommonupdate ;copy the  libs/modules that are now in <projectroot>/modules to vfs system for inclusion in the binary.

 # If make.tcl dependencies are modified:
 # tclsh src/make.tcl bootsupport  ;# src/modules -> src/bootsupport/modules,  src/lib -> src/bootsupport/lib (etc)

 tclsh src/make.tcl bake            ;# assemble kit/zipkit executables from the promoted vfs payload + runtimes
 # (consumer path from a CLEAN checkout: 'tclsh src/make.tcl bakehouse' = packages + bake in one run;
 #  'make.tcl workflow' prints the full data-flow overview.)
A common interactive test scenario (after running src/tests/runtests.tcl to test the unversioned source)
is to run 'tclsh src/make.tcl modules'
Then '<punkexecutable> dev'
This will source modules/libs from <projectroot>/modules and <projectroot>/lib intead of from the executable's vfs. 
  • Then Use tclsh|punk build.tcl to run the 'kettle' system to build doc files,
    or - use the pmix KettleShell command from within the punk shell to perform kettle operations. Confirm with user or ask user to manually run.

(The name 'build.tcl' is the standard name used by the Kettle system - it is not for building the punk project.)