How to auto source a shell script?

None of the Unix shells allow you to mark a script as one that should always be sourced the way you're hoping. What I would do is create an alias or procedure to do what you want and put it in my startup script. For example, in tcsh:

alias scriptname source \!\!

In bash, you could write it as a procedure:

scriptname( ) { source scriptname.sh $*; }