Unlike some objects in the Admin CP, user fields can't be attributed to an addon. You will need to write some install code for your addon to create the field. Refer to this controller for code to save a new field:
You can specify an install class when creating an addon:
Admin CP -> Development -> Create Add-on
But then you need to write the code to create the profile field. You can use that controller code for reference. Basically you need to call on the datawriter, set the field values, pass those values to the datawriter, and save the changes. The controller from my previous post is a good example to follow.
With my add-on installed, you can attribute user fields to an add-on, and then they will be exported with the add-on. Also, you should be able to export user fields on their own as well. Both will require the end user to have the add-on installed in order to import them.
If you're good enough to follow those instructions, then surely you don't need TMS either. I hate having to install TMS to use your add-ons, which are usually pretty useful add-ons.
Yeah I was able to make my first addon with it. I also don't like having to use TMS. Floris made a resource explaining how to create an addon that inserts a template edit. That's my next step but I would either have to track down Floris and ask if he saved it or beg someone to teach me.
But you probably want template post render. It's not that much different, it just searches on the template name instead of the hook name. If you follow the video but make the appropriate changes (i.e., selecting template_post_render instead of template_hook), you'll pretty much be there. You then just need to code your replacement, which could be not too difficult like:
PHP:
$content .= 'Some code I want to add at the end';
to more complicated things like:
PHP:
$pattern = 'Some code that already exists';
$replacement = 'Some code I want to put before it';
$content = str_replace($pattern, $replacement . $pattern, $content;
to the even more complicated things like:
PHP:
$pattern = '#(Some reg(?:ular )?exp(?:ression) for the code )you want( to replace)#';
$replacement = '${1}DRE wants${2}';
$content = preg_replace($pattern, $replacement . $pattern, $content;
Just make sure to use $content instead of $contents.
Can't believe there isn't a guide. If it wasn't for TMS, there would probably be plenty of guides for it.