I had some difficulty finding out where to put everything, so I thought it might be helpful to summarize. [WJP] **Your Program** If your main program is called "foo.tcl", [sdx] will create a directory called "foo.vfs". Within "foo.vfs", there will be two entries: a file called "main.tcl", and the subdirectory "lib". Everything that you will want to add goes within the "lib" subdirectory. Initially, "lib" will contain one subdirectory, named "app-foo". Among other things, your original program "foo.tcl" will be found here. **Packages** Each package that you include goes in its own directory within lib. If, for example, you want to include the tdom package, you should copy the entire tdom package directory into "lib". At this point, "lib" will contain the two subdirectories: app-foo tdom **Message catalogs** Where to put message catalogs depends on where your program looks for them. The key is to observe that your main program is now located in "foo.vfs/lib/app-foo/foo.tcl". This is the location that [[[info] script]] will return. If your program follows the common convention of placing the message catalogs in a directory called "msgs" that is a sister of your main program, you could put your message catalogs in "foo.vfs/lib/app-foo/msgs". **Encodings** Starkits by default include only nine basic encodings. If you want to supply additional encodings, they should be placed in a subdirectory named "encoding" within any of the package directories that your program always loads. One such directory is the directory for the version of tcl that your program uses. Thus, a safe place to put your encoding files is "foo.vfs/lib/tcl8.4/encoding". Note that although "encodings" with an "s" might make more sense, the correct name for this directory is "encoding" with no plural "s". **Data Files** If you supply data files with the program, perhaps as examples, you can make life simpler by including them in the starkit and providing an appropriate setting for the -initialdir option of tk_getOpenFile. If you put your data files in "foo.vfs/DataFiles", they will be visible within your program at: [file join $::starkit::topdir DataFiles] **Binary Extensions** [LV] anyone want to talk about [best practices] for supporting multiple platforms in a starkit when dealing with binary extensions? - [EMJ] There is a bit at the end of [Starkit - How To's]. [LV] I've numbered the bits on that page - to which item do you refer? Because item currently numbered 16 isn't what I'm talking about at all - it talks about deleting a file. I'm talking about directory layout and pkgIndex.tcl setup so that when a starkit does a [package require] Extension, the right thing gets loaded. ---- !!!!!! %| [Category Deployment] | [Category Tclkit] |% !!!!!!