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 0d80cf6771 G-024 + G-115 achieved: mapvfs.toml kit mapping + declarative per-.vfs payloads (punkshell 0.38.0) 3 weeks ago
..
assets/logo
bin
bootsupport
buildsuites G-024 + G-115 achieved: mapvfs.toml kit mapping + declarative per-.vfs payloads (punkshell 0.38.0) 3 weeks ago
decktemplates
defaultconfigs
doc AGENTS.md with DOX framework 2 months ago
embedded
lib
lib_tcl8
lib_tcl9
modules thin-layout sync catch-up: G-139-era make.tcl copies + samplesuite1 retirement 3 weeks ago
modules_tcl8
modules_tcl9
project_layouts G-024 + G-115 achieved: mapvfs.toml kit mapping + declarative per-.vfs payloads (punkshell 0.38.0) 3 weeks ago
runtime G-024 + G-115 achieved: mapvfs.toml kit mapping + declarative per-.vfs payloads (punkshell 0.38.0) 3 weeks ago
scriptapps G-123 increment 5: consent surface + e2e demonstration + acceptance walk (punkshell 0.36.0) 3 weeks ago
testansi
testdata far too big a checkin. vfs folders that will need to be optimised later etc 2 years ago
tests G-024 + G-115 achieved: mapvfs.toml kit mapping + declarative per-.vfs payloads (punkshell 0.38.0) 3 weeks ago
text
tools
vendorlib
vendorlib_tcl8 G-139 retirement: vendored tcllib trees removed (artifact path proven) 3 weeks ago
vendorlib_tcl9 G-139 retirement: vendored tcllib trees removed (artifact path proven) 3 weeks ago
vendormodules
vendormodules_tcl8
vendormodules_tcl9
vfs G-024 + G-115 achieved: mapvfs.toml kit mapping + declarative per-.vfs payloads (punkshell 0.38.0) 3 weeks ago
AGENTS.md G-024 + G-115 achieved: mapvfs.toml kit mapping + declarative per-.vfs payloads (punkshell 0.38.0) 3 weeks ago
README.md
Tcl9icon.six
Tcl9icon.svg
build.cmd
build.ps1
build.tcl
error_overtype.txt
make.tcl G-024 + G-115 achieved: mapvfs.toml kit mapping + declarative per-.vfs payloads (punkshell 0.38.0) 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)

Build Instructions

  • Use tclsh|<punkruntime> make.tcl <commandname> to build .tm modules and rebuild the punk executable 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       ;# build/install the unversioned libs / modules to <projectroot>
 # 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. 'project'/'vfs' remain as deprecated aliases.)
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.)