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 3a49aa4c48 punk::platform buildsuite axis; record binary-.tm platform-segregation constraints (G-109) 1 week ago
..
bin
bootsupport make.tcl outputs: console 0.8.0 (G-106 fallback overhaul) + repl comment refresh into bootsupport and _vfscommon 2 weeks ago
buildsuites G-103: punk-runtime list/use surface artifact metadata; use materializes -rN artifacts 2 weeks ago
decktemplates G-087 stages 4+5: overlay merge primitive, marker/matrix retirement, version seeding 2 weeks ago
defaultconfigs
doc AGENTS.md with DOX framework 1 month ago
embedded doctools documentation update 10 months ago
lib punk::path 0.3.0: extensionless tcl scripts via lib: (first-line identification) 2 weeks ago
lib_tcl8 AGENTS.md with DOX framework 1 month ago
lib_tcl9 AGENTS.md with DOX framework 1 month ago
modules punk::platform buildsuite axis; record binary-.tm platform-segregation constraints (G-109) 1 week ago
modules_tcl8 refactor AGENTS.md files 1 month ago
modules_tcl9 refactor AGENTS.md files 1 month ago
project_layouts Canonical punkshell platform names: punk::platform module, help topic, tree sync (G-105 groundwork) 1 week ago
runtime G-103: runtime kit family assembly - kit-family + kit-family-artifacts steps, all members verified 2 weeks ago
scriptapps Canonical punkshell platform names: punk::platform module, help topic, tree sync (G-105 groundwork) 1 week ago
testansi sixel sample files 7 months ago
testdata
tests G-106: powershell console-mode fallback overhaul - punk::console 0.8.0, canonical server script, tests (project 0.17.8) 2 weeks ago
text
vendorlib tablelist 6.22 -> 7.11: vendor as pkgIndex lib instead of tm modules 3 weeks ago
vendorlib_tcl8 Canonical punkshell platform names: punk::platform module, help topic, tree sync (G-105 groundwork) 1 week ago
vendorlib_tcl9 Canonical punkshell platform names: punk::platform module, help topic, tree sync (G-105 groundwork) 1 week ago
vendormodules vendormodules: fauxlink 0.2.0 - link_as encoder implemented upstream 2 weeks ago
vendormodules_tcl8 docs: resolve 30+ TODO/FIXME comments with documentation and implementation notes 5 months ago
vendormodules_tcl9 fifo2 & startup interim fixes. sqids lib. vfs tidy 2 months ago
vfs Canonical punkshell platform names: punk::platform module, help topic, tree sync (G-105 groundwork) 1 week ago
AGENTS.md G-113 proposed: tty-aware make.tcl colour output; interim NO_COLOR agent guidance 2 weeks ago
README.md G-097: bin utility naming sweep - punk-bits, punk-runtime, punk-tclargs, selfsign 2 weeks ago
Tcl9icon.six
Tcl9icon.svg
build.cmd
build.ps1
build.tcl
error_overtype.txt
make.tcl Canonical punkshell platform names: punk::platform module, help topic, tree sync (G-105 groundwork) 1 week 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 project
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.)