Amp is still in its building stages, but there are some things to learn about it that are different from other VCS software. Currently, the main commands are (nearly) identical to Mercurial's, so you should know how to use Mercurial before using amp. There's still plenty of other things that are different.
Templates are damn important to us. We're still hammering out the API, but if you run amp templates you can use our interactive template editor. You can write templates in ERb, and access all the variables amp has. At the moment, amp only comes with one template for viewing changesets (such as in amp log or amp head ), and one template for commit messages. Both match (roughly) the default templates used by Mercurial. However, you can add your own, and save them as either global templates (usable in any repository) or local (usable only in the current repository).
The ampfile is how you handle high-level configuration of an amp repository. This is where you add commands, hooks, modify command defaults, and so on. We have a full page discussing ampfiles here, but we'll leave you with this snippet.
command :push do |c| c.before { system "rake test" } end
Those 3 lines add a block of code which will run every time you run amp push , right before the actual push happens, which will run unit tests. If a test fails, the block returns false, which cancels the push. If the tests pass, the block returns true, and the push happens.
One of the most important aspects of our code is that it should be highly documented. We're sitting at around 45% comment/LOC ratio, and there's still plenty of places we want more documentation. We use YARD to document our code. You can find the complete documentation for our code (and the dependencies we've included in the amp source) by clicking "API Documentation" above, or just clicking right here.