Fully client-side reference apps that showcase how to ship VibeFi "vapps" under the constraints while following the authoring prompt.
Examples in this repo are fully client-side and include both Vite + React projects and one static-html project (zfi/ as a git submodule). All apps talk directly to Ethereum via JSON-RPC reads and window.ethereum writes; no server code is included.
- Allowed runtime/dev dependencies are pinned; add-ons require a governance proposal before inclusion.
- Only ship
src/**/*.ts|tsx|css,assets/**/*.webp,abis/**/*.json,vibefi.json, andindex.html; build artifacts and extra tooling stay local. - Constrained vapps must use
src/main.tsxas the entry file, andindex.htmlmust include:<script type="module" src="/src/main.tsx"></script>
- All apps must rely on the injected
RPC_URL(orVITE_RPC_URL) pluswindow.ethereum; arbitrary fetches are disallowed. - If your app needs IPFS reads, use injected
window.vibefiIpfsand declare permissions invibefi.jsoncapabilities. - IPFS payloads are data-only and must never be sent to execution sinks.
From each example folder, install deps and start Vite, e.g.:
cd aave-v3
bun install
RPC_URL="https://mainnet.infura.io/v3/…" bun vite dev
zfi/is a nested git submodule pointing tohttps://github.com/devanoneth/zFi.git.- Initialize or resync nested submodules from this repository with:
git submodule sync --recursive
git submodule update --init --recursive
TODO: Section on publishing using cli and/or studio.