Swim
Swim is a batteries-included build system and package manager for the Spade programming language.
It manages the Spade compiler in use, rebuilds of Spade source code and any additional Verilog, supports simulation using Icarus and Verilator, and automates synthesis for various targets using yosys and nextpnr. Additionally it can extract hyperlinked documentation from comments in the Spade code.
The generated Verilog code can also, of course, be used with any other tool.