I have been researching pulleys and toothed-belts recently (sometimes referred to as "timing pulleys/belts"), and I want to share the results.
A common method of shaft attachment is to purchase a metal pulley with a shoulder that has a threaded hole for a set-screw, which would press against a flat spot that had been ground into the side of a shaft. Changing pulley tooth-counts in the future was expensive, and attaching a pulley to a motor shaft sometimes involved buying a pulley with a smaller hole, and drilling it out to the motor-shaft bore, taking care to make the new hole as concentric as possible.

Recently there have been some very successful builds using a 5mm-HTD pulley and belt. 5mm is the distance between the peak of one tooth and the next (the pitch). There are several different common tooth shapes, HTD works well for electric-bike builds. Ensure that all of the pulleys and belts ordered have the same pitch and tooth-profile.
The belts and pulleys come in several widths. When ordering, take care to ensure the belt width is the same width (or narrower) than the pulley track. 15mm (0.6") wide is common.
SDP-SI sells the "Shaft-loc" coupler. It is an expanding compression-bushing that connects a smooth-bore pulley to a smooth round shaft. The Shaft-loc is one of several ways to connect one family of pulleys to various shaft diameters.

Shaft-loc pulleys are cast plastic, with a metal center. The ones I am interested in have a 3/4" (0.750") smooth bore. There are parts available to attach these to an 8mm, 10mm, 12mm, or 1/2" shaft.
https://sdp-si.com/eStore/Direct.asp?GroupID=273There is a wider choice of pulley tooth-counts available if you only need a flange (guide-plate) on one side of the pulley (rather than 2, one on each side). The Gates pulley tutorial stated that if one of the pulleys has only one flange, then the belt is easily loosened for changing with a tiny shaft-mount adjustment, rather than the motor or jack-shaft needing to be moved a lot. Also, it is common to have one pulley with a single flange on one side, and the other pulley also having a single flange, but its flange is mounted opposite of the first one.
If using the Shaft-loc system, you can add a wide washer/disc on one side to create a second flange if desired. There is a 19 different tooth-count range of 5mm-HTD Shaft-loc pulleys with a metal 0.750" dia bore. (20T, 22T, 24T, 28T, etc)
20-tooth, 1.25" diameter, $16 (plus tax and shipping)
80-tooth, 5.00" diameter, $23
$23...Shaft-loc 0.500"ID-0.750"OD compression-bushing
$6...0.500" OD-to-Metric ID "bore reducer" sleeve for attaching to an 8mm, 10mm, or 12m shaft
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Case-hardened 1/2" diameter shafts (12" long or shorter, pre-cut to size in one-inch increments) are available from McMaster-Carr for less than $7 each (plus tax & shipping).
http://www.mcmaster.com/#catalog/116/1058/=8f6gwnXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Flanged and sealed 1/2" shaft-carrier ball bearings are available for $7 each (plus tax and shipping)
http://www.vxb.com/page/bearings/PROD/Kit7578