Green Goods is a decentralized platform for biodiversity conservation, enabling Garden Operators and Gardeners to document and get approval for conservation work through blockchain-based attestations.
green-goods/
├── packages/
│ ├── client/ # React PWA frontend
│ ├── api/ # Node.js backend API
│ ├── mcp/ # AI assistant integration
│ ├── indexer/ # GraphQL blockchain indexer
│ └── contracts/ # Solidity smart contracts
├── docs/ # Documentation
└── tests/ # End-to-end testing
- Node.js v20+ • pnpm v9.x • Docker • Foundry
# Clone and install
git clone https://github.com/your-org/green-goods.git
cd green-goods
pnpm install
# Configure environment
cp .env.example .env
# Edit .env with your API keys (see .env.example)
# Start all services (pm2: client, api, indexer)
pnpm dev
# Tail logs
pnpm dev:logs:client
pnpm dev:logs:api
pnpm dev:logs:indexer
# Development
pnpm dev # Start all services
pnpm --filter <package> dev # Start individual service
# Building
pnpm build # Build all packages
pnpm --filter <package> build # Build specific package
# Smart Contracts
pnpm --filter contracts test # Test contracts
pnpm --filter contracts deploy:sepolia # Deploy to testnet
# Quality
pnpm format && pnpm lint && pnpm test # Quality checks
- Fork → Branch → Code → Test → PR
- Use conventional commits:
feat:
,fix:
,docs:
- Git hooks auto-format and lint on commit/push
Guide | Purpose |
---|---|
Environment Setup | API keys & configuration |
Testing | E2E testing guide |
Architecture | System design |
Troubleshooting | Common issues |
Package docs: client • api • mcp • indexer • contracts
Stack: React • Node.js • Solidity • GraphQL • TypeScript
Tools: Biome • 0xlint • Solhint • Playwright • Foundry
License: MIT • Setup: Environment Guide