TrainCarts is written in a way to allow third-party plugins to extend it. Various mechanics are built-in api's implemented by TrainCarts, such as the different vanilla rails, signs and more. For programmers, this page details the different modules in TrainCarts that can be used in third-party plugins.
The SignAction API allows custom signs to be registered with the plugin so that trains can activate them, much like the built-in TrainCarts signs.
The RailType and RailLogic API allows custom rail types to be registered. Vanilla Minecart Track uses this same API.
Custom Attachment Types can be registered to extend what visible capabilities trains can support. Once registered, they become selectable in the in-game attachment editor menu.