The new source control system in Team Foundation will have several client interfaces.
Command line The command line interface provides a complete set of commands for performing all of your source control tasks. When run interactively (i.e., the /noprompt option is not specified), some commands will bring up dialogs. These commands include workspace for defining editing workspaces, history, resolve, checkin, and a few others. If you use the built-in diff tool or configure your own (Beyond Compare, Araxis, etc.), the diff command will bring up GUI diff window. Scripts will use the /noprompt option to suppress dialogs, as well as those who don’t want a GUI.
Visual Studio The Visual Studio Team Foundation source control integration will far exceed the level of functionality available in prior versions. Without opening a solution, you’ll be able to browse the repository, create and manage labels, view history, open a solution, etc. It’s intended to provide a level of functionality similar to what exists in the Visual SourceSafe Explorer. Once you open a solution, files will be automatically checked out when you edit them, you’ll see a list of pending changes in the checkin window, you’ll be able to associate work items (bugs) with the changes, establish checkin policies, and add notes to each checkin.
Visual Studio Shell This interface will be the Visual Studio GUI but without all of the compilers, debuggers, profilers, etc. It’s intended to provide the source control, work item tracking, and other parts of the Team System GUI without the coding tools, resulting in a much smaller footprint for users who need access to Team System but aren’t writing code.
There is also a client API, written in .NET, for writing applications to perform source control operations. The client API is used by the command line and Visual Studio integration as well.