=============== Getting Started =============== :ref:`Collective Governance ` implements a flexible approach to voting to support a wide variety of communities. Each community can define the individuals who may participate in governance decision making by defining a :ref:`VoterClass `. The VoterClass defines the characteristics of the voting population and determines if the wallet is in or out for a particular vote. Setting up a Governance contract is a two step process. Build a VoterClass ___________________ VoterClass Implementations: * Open voting - :ref:`CommunityClassOpenVote ` * ERC-721 Token voting (including ERC-721 Enumerable) - :ref:`CommunityClassERC721 ` * Pool voting - based on a specific list of voters - :ref:`CommunityClassVoterPool ` Create the Governance contract _______________________________ Once the :ref:`VoterClass ` has been created for your community, proceed with building a :ref:`Governance ` to build a contract with the fewest number of transactions * :ref:`GovernanceBuilder ` to build a contract with the fewest number of parameters Contract Requirements ====================== * :ref:`VoterClass ` The project voter class. Possibly based on an `ERC-721 ` token. * :ref:`Supervisor ` One or more project supervisors to act as a community steward