This is the main repository for events organized by the Ethereum Foundation
- Devcon - the Ethereum conference for developers, thinkers, and makers.
- Devconnect - a week-long gathering of independent Ethereum events to learn, share, and make progress together.
Active:
- devcon - main Devcon website @ devcon.org
- devcon-api - API for all Devcon-related apps @ api.devcon.org
- event-app - offline-first PWA for Devcon 8 (successor to devcon-app)
- archive - Devcon video archive @ archive.devcon.org
- lib - shared components for all projects
- data - all Devcon data, recorded talks, sessions, speaker info, etc.
- discounts - standalone bun scripts generating discount-eligibility lists (addresses/GitHub usernames)
Legacy / archival:
- devcon-app - Devcon SEA (2024) conference app @ app.devcon.org
- devconnect - Devconnect website @ devconnect.org
- devconnect-app - Devconnect ARG conference app @ app.devconnect.org
- social-ticket - Devcon SEA social image generator; mostly superseded by devcon.org
/api/social/* - atproto-slurper - atproto event ingestion for Devconnect (deletion candidate)
- devcon-ai - experimental RAG/AI backend (not used in production)
- perks-portal - standalone perks site scaffold, never used in production
- Monorepo-wide agent rules: CLAUDE.md
- Cross-project docs (AV pipeline, repo notes, GitHub Actions): docs/
- Per-project notes:
<project>/docs/notes.md
- "pnpm install" in root installs everything at once. To install specific projects, you can add a filter, e.g.: "pnpm install --filter devconnect-app...", which means install only the devconnect-app package and its dependencies.
- "pnpm run dev" inside projects folders to run them
Some additional notes:
- make sure your pnpm version is up to date (if you are unsure which version to use, refer to the "packageManager" key in the root package.json)
- never commit any non-pnpm lockfiles, it will brick netlify (exception:
discounts/is intentionally bun-based and not part of the pnpm workspace) - pnpm does not let you use phantom dependencies, which are packages that are not defined in package.json - this can happen when certain projects have packages as peer dependencies, that you can import without installing them directly - this is not allowed using pnpm and it will fail - can be resolved by explicitly installing them (which adds them to package.json).