There's lots of useful information elsewhere on the intertubes...
Official JS API guide
The JS API guide that's provided by the development team is generated from comments in the game's source code. While it's more basic than the guide you'll find on this site, it will usually be more up-to-date so it's worth checking from time to time:
Online docs either: single page or linked series of pages – this will always contain the very latest documentation from the developers (updated every night)
A huge thanks goes out to Per and Cybersphinx for their awesome work on maintaining and delivering the official JS API docs!!
I've compiled some information about how the JS API has changed over time that you may find useful: Compatibility Matrix
Forums
The scripting forum is the primary home of all things relating to Warzone scripting – almost everything on this site is based on discussions in that forum.
Per is the authority on the JS API, because he wrote most of it!
Useful reference scripts
There's already a bunch of JS scripts out in the wild – you'll be able to learn all sorts of tips and tricks by reading through their code:
scavfact.js – this script controls scavenger players in the game and is a great place to start because it's quite basic
Ultimate Scavenger AI Mod – a game mod that replaces the normal scavfact.js with a massively improved version, and also adds new units, etc.
semperfi.js – the Semperfi JS AI bundled with Warzone 2100 (and associated .ai file that tells WZ about it)
NullBot AI (discuss, wiki, source) – made by NoQ, this is a great AI for low-oil maps that can usually beat two competing conventional AIs.
Useful data files
There's a bunch of files that contain references to features, structures and so on - you'll probably need to refer to them while scripting as some function parameters are based on them:
research.txt – lots of data about research / technologies
Txt editing – explains the fields in some of the more useful text files
C++ Source files
The following Warzone C++ source files are associated with the JS API – it's really useful to read through them to get an idea of what goes on "behind the scenes":
If, like me, you've not worked with C++ before or don't know how QtScript stuff works, I recommend reading through QtScriptValue documentation to get a better idea about what the source files are doing.
Useful Libraries
If you're working on meaty scripts, here's some libraries that might make life a bit easier:
util.js – classic prototypal inheritance model, attach multiple event handlers to WZ events, and a bunch of other tasty wholesome goodness
Backports project – scripts that smooth over the cracks in the JS API
Fast Play Games — A guide to customising the "Fast Play" game mode...
Game Rules & SitRep — How to initialise player technologies, buildings, base type effects, determine victory (win/lose) conditions and send situation reports to players...