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 ce31d8623c update punk::sshrun with wiki documentation 1 week ago
..
bin make.tcl fixes and scriptwrap fixes, sdx.kit 12 months ago
bootsupport update bootsupport + layout bootsupport: punk::lib 0.4.0, punk::repl 0.3.0, punk::packagepreference 0.2.0, shellthread 1.7.0 1 week ago
decktemplates startup behaviour,punk::path fixes, AGENTS guidance 3 weeks ago
defaultconfigs add punk::imap4 pkg, promise pkg, console/cesu/args updates 1 year ago
doc AGENTS.md with DOX framework 4 weeks ago
embedded doctools documentation update 9 months ago
lib GOALS: two-tier index restructure - summary-only GOALS.md, canonical Goal/Acceptance in detail files, archive-on-flip 1 week ago
lib_tcl8 AGENTS.md with DOX framework 4 weeks ago
lib_tcl9 AGENTS.md with DOX framework 4 weeks ago
modules update punk::sshrun with wiki documentation 1 week ago
modules_tcl8 refactor AGENTS.md files 4 weeks ago
modules_tcl9 refactor AGENTS.md files 4 weeks ago
project_layouts update bootsupport + layout bootsupport: punk::lib 0.4.0, punk::repl 0.3.0, punk::packagepreference 0.2.0, shellthread 1.7.0 1 week ago
runtime mapvfs: punk91 wraps punk9win.vfs on tclsfe-x64 (staying); tksfe wish-runtime experiment notes 1 week ago
scriptapps runtime.cmd (ps1): cached sha1sums fallback backported to list -remote (punkshell 0.8.1) 1 week ago
testansi sixel sample files 7 months ago
testdata far too big a checkin. vfs folders that will need to be optimised later etc 2 years ago
tests GOALS + src/tests: test provenance comments and superseded/abandoned test-sweep rules 1 week ago
text far too big a checkin. vfs folders that will need to be optimised later etc 2 years ago
vendorlib AGENTS.md with DOX framework 4 weeks ago
vendorlib_tcl8 executable stdin handline, + various 3 weeks ago
vendorlib_tcl9 vendored tcludp 1.0.12 -> 1.0.13 in tcl9 kit vfs folders - G-036 wedge remedy - 0.4.3 2 weeks ago
vendormodules vendor tomlish 1.1.10 (G-014 argdoc precondition met); vfscommon refresh 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 update vfs: _vfscommon.vfs punk::lib 0.4.0, punk::repl 0.3.0, punk::packagepreference 0.2.0, shellthread 1.7.0 1 week ago
AGENTS.md src/AGENTS.md: document make.tcl build-output commit batching carve-out 2 weeks ago
README.md update basic src README 2 weeks ago
Tcl9icon.six add punk::imap4 pkg, promise pkg, console/cesu/args updates 1 year ago
Tcl9icon.svg add punk::imap4 pkg, promise pkg, console/cesu/args updates 1 year ago
build.cmd far too big a checkin. vfs folders that will need to be optimised later etc 2 years ago
build.ps1 far too big a checkin. vfs folders that will need to be optimised later etc 2 years ago
build.tcl
error_overtype.txt far too big a checkin. vfs folders that will need to be optimised later etc 2 years ago
make.tcl G-037 achieved: make.tcl vfslibs propagates vendorlib packages into kit vfs lib_tcl trees; 8.6 kits to tcludp 1.0.13 2 weeks ago
test.txt far too big a checkin. vfs folders that will need to be optimised later etc 2 years ago

README.md

punk shell

Runtimes

#run from project root:  
./bin/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/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.)