Green Goods is an offline-first, single-chain platform for documenting conservation work and proving impact on-chain. Operators approve gardener submissions, and the protocol anchors the results in Ethereum attestation infrastructure.
git clone https://github.com/your-org/green-goods.git
cd green-goods
bun install
cp .env.example .env # All packages share the root env file
vi .env # Populate keys (Base Sepolia is the default chain: 84532)
bun dev # Starts client, admin, indexer via pm2Useful follow-ups:
bun dev:stop— stop the pm2 servicesbun exec pm2 logs <service>— stream logs forclient,admin, orindexer
# Format, lint, test across the workspace
bun format && bun lint && bun test
# Build everything or target a package
bun build
bun --filter client build
# Contracts: compile, test, deploy through the wrappers
bun --filter contracts build
bun --filter contracts test
bun --filter contracts deploy:testnet # runs deploy.js with the correct profileScripts live in package.json; contract-specific flows are described in the Contracts Handbook.
- Architecture — full system map and package summaries
- Developer Guide — environment setup, testing, troubleshooting
- Contracts Handbook — deployment, upgrades, schema care, validation
- Platform Overview — product architecture and data flow
- Karma GAP Integration — appendix for the GAP attestation bridge
Package-specific READMEs:
packages/client/README.md— offline-first PWApackages/admin/README.md— operator dashboardpackages/indexer/README.md— Envio indexerpackages/contracts/README.md— foundry project layout and scripts
- Stick to conventional commits (
feat(client): …) - Run
bun format && bun lint && bun testbefore opening PRs - Keep environment-only secrets in the root
.envand never add package-level.envfiles
For more project background, automation guidelines, and tooling policies see AGENTS.md and the package-specific agent guides.