How to edit the fish shell startup script?

bash and fish have incompatible syntax, so they cannot share startup files. You can put startup commands in ~/.config/fish/

However this is usually unnecessary! For creating functions or aliases, you can use autoloading functions. For setting variables, including env vars, you can use universal variables.

I tried sourcing .profile on fish startup and it worked like a charm for me.

just do :

echo 'source ~/.profile;clear;' >  ~/.config/fish/

Quit terminal or iterm2 followed by firing up an alias from .profile to test.