The main file sourced by a Tcl interpreter when starting up (during Tcl_Init). See the library manpage for more info:
Has in recent versions become more important for providing the core language environment, as some core commands (clock, info, string) that used to be implemented in C throughout are now namespace ensembles set up in init.tcl.
See also:
init.tcl is very well-documented, as usual with Tcl, and worth reading if you're interested. For a quick survey, here are some procs it defines:
# $ egrep '^\s*(namespace\ eval|proc)' /usr/share/tcltk/tcl8.6/init.tcl | sed -e 's/{$/{}/' namespace eval tcl {} namespace eval mathfunc {} proc min {args} {} proc max {args} {} namespace eval tcl {} proc EnvTraceProc {lo n1 n2 op} {} proc InitWinEnv {} {} namespace eval ::tcl::clock [list variable TclLibDir $::tcl_library] proc clock args {} namespace eval ::tcl::clock [list namespace ensemble create -command \ proc ::tcl::clock::$cmd args {} proc tclLog {string} {} proc unknown args {} proc auto_load {cmd {namespace {}}} {} namespace eval :: $auto_index($name) namespace eval :: $auto_index($name) proc auto_load_index {} {} proc auto_qualify {cmd namespace} {} proc auto_import {pattern} {} namespace eval :: $auto_index($name) proc auto_execok name {} proc auto_execok name {} proc tcl::CopyDirectory {action src dest} {}