Circuits play a fundamental role in polyhedral theory and linear programming. For instance, circuits are used as step directions in various augmentation schemes for solving linear programs or to leave degenerate vertices while running the simplex method. However, there are significant challenges when implementing these approaches: The set of circuits of a polyhedron may be of exponential size and is highly sensitive to the representation of the polyhedron. In this paper, we provide a universal framework for enumerating the set of circuits and optimizing over sets of circuits of a polyhedron in any representation-we propose a polyhedral model in which the circuits of the original polyhedron are encoded as extreme rays or vertices. Many methods in the literature and software assume that a polyhedron is in standard form; our framework is a direct generalization. We demonstrate its value by showing that the conversion of a general representation to standard form may introduce exponentially many new circuits. We then discuss the main advantages of the generalized polyhedral model. It enables the direct enumeration of useful subsets of circuits such as strictly feasible circuits or sign-compatible circuits, as well as optimization over these sets. In particular, this leads to the efficient computation of a steepest-descent circuit, which can be used in an augmentation scheme for solving linear programs or the construction of sign-compatible circuit walks with additional properties.