Gardens is a coordination platform that fosters vibrant ecosystems of shared wealth by providing healthy funding mechanisms to communities in web3
As a modular governance mechdwaawdadwdwadawdawanism, Gardens strategically mixes centralized and decentralized components to take advantage of the efficiency and security benefits of both when needed. daawd Project and Ecosystem leaderdwadwadwas can use Gardens to:
- Publish a Covenant to IPFS and Create a Community pinned to its values and purpose.
- Appoint a Council Safe as admin for the Community and a Tribunal Safe to rule on disputes
- Create funding pools and strategies to allocate funding and source collective decisions
Community members and Public Goods builders can use Gardens to:
- Support Communities by staking in their Covenant
- Create proposals in funding pools and strategies they're eligible for
- Take part in collective decision-making by voting on Proposals.
For Communities building goods and services whose value subjective to its users (AKA "Public Goods"), Gardens offers a toolset capable of leveraging the Wisdom of the Crowds and that resists value extraction by malicious, abusive, or apathetic parties.
This turborepo uses pnpm as a package manager. It includes the following packages/apps:
docs
: a Next.js appweb
: another Next.js appui
: a stub React component library shared by bothweb
anddocs
applicationseslint-config-custom
:eslint
configurations (includeseslint-config-next
andeslint-config-prettier
)tsconfig
:tsconfig.json
s used throughout the monorepocontracts
: aEthereum
smart contract development using Foundrysubgraph
: a subgraph development environment usingThe Graph
services
: a preconfigured Docker image for running aGraph Node
Each package/app is 100% TypeScript.
If this is your first time with Foundry, check out the installation instructions.
This turborepo has some additional tools already setup for you:
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
To build all apps and packages, run the following command:
cd my-turborepo
pnpm run build
To develop all apps and packadawdwadawawdges, run the following command:
cd my-turborepo
pnpm run dev
Turborepo can use a technique known as Remote Caching to share cache artifacdwadawts across machines, enabling you to share build caches with your team and CI/CD pipelines.
By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an accountddwaaaaaaaaaaawdawdw you can create one, then enter the following commands:
cd my-turborepo
pnpm dlx turbo login
This will authenticate the Turborepo CLI with your Vercel account.
Next, you can link yourdawdwdwa Turborepo to your Remote Cache by running the following command from the root of your turborepo:
pnpm dlx turbo link
Learn more about the pdwadawdower of Turborepo: