{"id":22160717,"url":"https://github.com/hobbescodes/eidolon-kit","last_synced_at":"2025-07-26T09:31:50.559Z","repository":{"id":244347090,"uuid":"814976698","full_name":"hobbescodes/eidolon-kit","owner":"hobbescodes","description":"The ultimate web3 starter kit","archived":false,"fork":false,"pushed_at":"2024-11-27T00:27:31.000Z","size":2377,"stargazers_count":2,"open_issues_count":15,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-29T03:39:56.526Z","etag":null,"topics":["biomejs","foundry","knip","park-ui","ponder","rainbowkit","react-testing-library","soldeer","solidity","tailwindcss","typescript","viem","vocs","wagmi"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hobbescodes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-14T05:09:10.000Z","updated_at":"2024-07-09T19:08:24.000Z","dependencies_parsed_at":"2024-07-09T22:47:39.105Z","dependency_job_id":"cf92c398-7a36-4467-9ab3-a9a6fb69311e","html_url":"https://github.com/hobbescodes/eidolon-kit","commit_stats":null,"previous_names":["hobbescodes/eidolon-kit"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hobbescodes%2Feidolon-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hobbescodes%2Feidolon-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hobbescodes%2Feidolon-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hobbescodes%2Feidolon-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hobbescodes","download_url":"https://codeload.github.com/hobbescodes/eidolon-kit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227668756,"owners_count":17801513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["biomejs","foundry","knip","park-ui","ponder","rainbowkit","react-testing-library","soldeer","solidity","tailwindcss","typescript","viem","vocs","wagmi"],"created_at":"2024-12-02T04:09:21.063Z","updated_at":"2024-12-02T04:09:21.770Z","avatar_url":"https://github.com/hobbescodes.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e [!IMPORTANT]\n\u003e ‼️ This is a work in progress. The current version of the kit is not ready for production use. ‼️\n\n# Eidolon Kit 🔮\n\n![GitHub License](https://img.shields.io/github/license/hobbescodes/eidolon-kit?label=License) ![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/hobbescodes/eidolon-kit/main.yml?branch=master\u0026event=push\u0026label=CI) ![GitHub Issues or Pull Requests](https://img.shields.io/github/issues/hobbescodes/eidolon-kit?label=Issues) ![GitHub last commit (branch)](https://img.shields.io/github/last-commit/hobbescodes/eidolon-kit/master?label=Last%20Commit) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?label=Commitizen)](http://commitizen.github.io/cz-cli/)\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/hobbescodes/eidolon-kit/blob/master/eidolon.png\" alt=\"Cover image\" width=\"700px\"\u003e\n\u003c/div\u003e\n\n## What's inside?\n\nThis Turborepo includes the following packages/apps:\n\n### Apps and Packages\n\n#### Apps\n\n- `ponder` a [Ponder](https://ponder.sh/) application for rapid API development on top of any EVM smart contract\n- `web`: a [Next.js](https://nextjs.org/) app for the web application\n\n#### Packages\n\n- `packages/config`\n  - `@eidolonkit/env`: a package for managing environment variables using [T3 Env](https://env.t3.gg/)\n  - `@eidolonkit/tailwind`: a [Tailwind](https://tailwindcss.com/) preset\n  - `@eidolonkit/tsconfig`: `tsconfig.json`s used throughout the monorepo\n- `@eidolonkit/contracts`: a [Foundry](https://book.getfoundry.sh/) project for smart contract development\n- `@eidolonkit/ui`: a component library for use in react based applications throughout the monorepo\n\n### Utilities\n\nThis Turborepo has some additional tools already setup for you:\n\n- [TypeScript](https://www.typescriptlang.org/) for static type checking\n- [Foundry](https://book.getfoundry.sh/) for smart contract development\n- [Soldeer](https://soldeer.xyz/) for package management for Foundry projects\n- [Viem](https://viem.sh/) for connection to Ethereum through type-safe modules\n- [Wagmi](https://wagmi.sh/) for connection to Ethereum through a collection of type safe react hooks\n- [RainbowKit](https://rainbowkit.com/) for wallet connection\n- [Ponder](https://ponder.sh/) for rapid API development on top of any EVM smart contract\n- [Tanstack Query](https://tanstack.com/query/v5) for asynchronous state management\n- [Vocs](https://vocs.dev/) for documentation site generation\n- [Tailwind](https://tailwindcss.com/) for styling\n- [Park UI](https://park-ui.com/) for scaffolding the ui component library package\n- [React Testing Library](https://testing-library.com/docs/react-testing-library/intro) for testing react components\n- [Biome](https://biomejs.dev/) for code linting and formatting\n- [Knip](https://knip.dev/) for finding unused files, dependencies and exports\n- [Github Actions](https://github.com/features/actions) for CI/CD\n- [Husky](https://typicode.github.io/husky/), [Commitlint](https://commitlint.js.org/), and [Lint-Staged](https://github.com/okonet/lint-staged) for commit message and staged file linting\n- [Renovate](https://www.mend.io/renovate/) for keeping all dependencies up to date\n\n\u003e [!NOTE]\n\u003e Prior to running any of the commands from `Build` or `Develop`, it is required to install all necessary dependencies and add appropriate environment variables.\n\n\u003e [!TIP]\n\u003e With the current configuration, you will have to have an encrypted private key (even for local development with anvil) using the generated JSON keystores from `cast wallet import --interactive`. More details can be found [here](https://github.com/foundry-rs/foundry/pull/5551).\n\n### Install Dependencies\n\n```\nbun install \u0026\u0026 bun contracts:install\n```\n\n### Add Environment Variables\n\n1) First, create a `.env` file in the `packages/contracts` directory and add the appropriate environment variables.\n\n```\ncp ./packages/contracts/.env.template ./packages/contracts/.env\n```\n\n2) Next, create a `.env.local` file in the `apps/web` directory and add the appropriate environment variables.\n\n```\ncp ./apps/web/.env.local.template ./apps/web/.env.local\n```\n\n### Build\n\nTo build all apps and packages, run the following command:\n\n```\nbun run build\n```\n\n### Develop\n\nTo develop all apps and packages, do the following:\n\n1. In one terminal window, run:\n\n```\nbun anvil\n```\n\n2. In another terminal window, run:\n\n```\nbun contracts:deploy\n```\n\n3. Spin up remaining development servers:\n\n```\nbun dev\n```\n\n\u003e [!TIP]\n\u003e If you do not want the `dev` command to include spinning up the docs servers, you can update the `dev` script in the root `package.json` to `turbo run dev`\n\n### Remote Caching\n\nTurborepo can use a technique known as [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.\n\nBy default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup), then enter the following commands:\n\n```\nbunx turbo login\n```\n\nThis will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview).\n\nNext, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:\n\n```\nbunx turbo link\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhobbescodes%2Feidolon-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhobbescodes%2Feidolon-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhobbescodes%2Feidolon-kit/lists"}