dgtools::repo - package and command line application for installation of tcl packages directly from github and chiselapp repositories.


dgtools::repo - is a package for directly downloading folders and packages from github and chiselapp repositories. I is useful if multiple packages are available within a certain repository and the users only like to install one or a few of them. Further a command line interface is available to download specific directories from larger repositories.



package require tls
package require json
package require dgtools::repo
namespace import dgtools::repo
repo github import tcltk tcllib modules/snit
repo chiselapp import dgroth tclcode dgw
package require snit
package require dgw

Furthermore this package is a standalone application which allows you to download specific folders from github and chiselapp repositories.

Here an example which downloads a folder from github:

$ tclsh repo.tcl https://github.com/tcltk/tcllib/tree/master/modules/des des

Here the same procedure but within an interactive tclsh:

[grth@bariuke build]$ rlwrap tclsh
% lappend auto_path .
/usr/share/tcl8.6 /usr/lib64/tcl8.6 /usr/lib64/tk8.6 /usr/share/tk8.6 .
% package require dgtools
% namespace import dgtools::repo
% repo github import tcltk tcllib modules/des
fetching https://raw.githubusercontent.com/tcltk/tcllib/master/modules/des/ChangeLog
fetching https://raw.githubusercontent.com/tcltk/tcllib/master/modules/des/des.bench
fetching https://raw.githubusercontent.com/tcltk/tcllib/master/modules/des/des.man
fetching https://raw.githubusercontent.com/tcltk/tcllib/master/modules/des/des.tcl
fetching https://raw.githubusercontent.com/tcltk/tcllib/master/modules/des/des.test
fetching https://raw.githubusercontent.com/tcltk/tcllib/master/modules/des/pkgIndex.tcl
fetching https://raw.githubusercontent.com/tcltk/tcllib/master/modules/des/tcldes.man
fetching https://raw.githubusercontent.com/tcltk/tcllib/master/modules/des/tcldes.tcl
fetching https://raw.githubusercontent.com/tcltk/tcllib/master/modules/des/tcldesjr.man
fetching https://raw.githubusercontent.com/tcltk/tcllib/master/modules/des/tcldesjr.tcl
% glob des/*
des/ChangeLog des/des.bench des/des.man des/des.tcl des/des.test 
des/pkgIndex.tcl des/tcldes.man des/tcldes.tcl des/tcldesjr.man des/tcldesjr.tcl
% package require des


  • 2020-03-22: 0.1 initial version


  • github::github - initial version of this package which has only github support


Please discuss here.