cmfgen is an atmosphere code developed to model the spectra of a variety of objects – O stars, Wolf-Rayet stars, luminous blue variables, A and B stars, central stars of planetary nebula, and supernovae. The principal computational aim of cmfgen is to determine the temperature and ionization structure of the atmosphere, and the atomic level populations. Toward this end, we have developed several different radiative transfer modules that (a) solve the transfer equation for spherical geometry in the comoving frame, (b) solve the static transfer equation in the plane parallel approximation without, or with, a vertical velocity field, (c) solve the static transfer code for a spherical atmosphere allowing for all relativistic terms, (d) solve the time-dependent spherical transfer equation to first order in v/c for a homologous expansion, and (e) solve the time-dependent spherical transfer equation allowing for all relativistic terms. To achieve consistency between the radiation field, temperature structure, and level populations we use a linearization technique. Line blanketing is accurately treated while complex photoionization cross-sections, containing numerous resonances, can also be handled. Spectra, for comparison with observation, are computed using cmf_flux. Several other auxiliary programs have also been developed – these include diagnostic tools as well as programs that allow the effect on spectra of rotation and departures from spherical geometry to be investigated. In this presentation we will briefly describe cmfgen and auxiliary codes.