一键导入
celo-composer
Scaffold Celo dApps with Celo Composer. Use when starting new Celo projects, creating MiniPay apps, or setting up development environments.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Scaffold Celo dApps with Celo Composer. Use when starting new Celo projects, creating MiniPay apps, or setting up development environments.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
ERC-8004 Agent Trust Protocol for AI agent identity, reputation, and validation on Celo. Use when building AI agents that need identity registration, reputation tracking, or trust verification across organizational boundaries.
x402 HTTP-native payment protocol for AI agents on Celo. Use when implementing pay-per-use APIs, agent micropayments, or HTTP 402 Payment Required flows with stablecoins.
Verify smart contracts on Celo. Use when publishing contract source code to Celoscan or Blockscout.
Integrate wallets into Celo dApps. Covers RainbowKit, Dynamic, and wallet connection patterns.
Pay gas fees with ERC-20 tokens on Celo. Covers supported tokens, implementation, and wallet compatibility.
Use viem for Celo development. Includes fee currency support, transaction signing, and Celo-specific configurations.
| name | celo-composer |
| description | Scaffold Celo dApps with Celo Composer. Use when starting new Celo projects, creating MiniPay apps, or setting up development environments. |
| license | Apache-2.0 |
| metadata | {"author":"celo-org","version":"1.0.0"} |
This skill covers using Celo Composer to scaffold Celo dApps with pre-configured templates.
npx @celo/celo-composer@latest create
Follow the prompts to select your options.
npx @celo/celo-composer@latest create my-celo-app
npx @celo/celo-composer@latest create my-celo-app \
--template basic \
--wallet-provider rainbowkit \
--contracts hardhat
npx @celo/celo-composer@latest create my-celo-app --yes
| Template | Description | Use Case |
|---|---|---|
basic | Standard Next.js 14+ dApp | General web3 applications |
minipay | Mobile-first MiniPay app | MiniPay Mini Apps |
farcaster-miniapp | Farcaster SDK + Frame | Farcaster integrations |
ai-chat | Standalone chat application | AI-powered dApps |
npx @celo/celo-composer@latest create -t minipay
npx @celo/celo-composer@latest create -t farcaster-miniapp
| Provider | Description |
|---|---|
rainbowkit | Popular wallet connection UI (default) |
thirdweb | thirdweb Connect SDK |
none | No wallet provider |
| Option | Description |
|---|---|
hardhat | Hardhat development environment (default) |
foundry | Foundry development environment |
none | No smart contracts |
my-celo-app/
├── apps/
│ ├── web/ # Next.js application
│ │ ├── app/ # App router pages
│ │ ├── components/ # React components
│ │ └── ...
│ └── contracts/ # Smart contracts (if selected)
│ ├── contracts/ # Solidity files
│ ├── scripts/ # Deployment scripts
│ └── test/ # Contract tests
├── packages/
│ ├── ui/ # Shared UI components
│ └── utils/ # Shared utilities
├── pnpm-workspace.yaml # Workspace configuration
├── turbo.json # Turborepo configuration
└── package.json
cd my-celo-app
# Install dependencies
pnpm install
# Start development server
pnpm dev
# Build for production
pnpm build
If you selected Hardhat or Foundry:
# Navigate to contracts
cd apps/contracts
# Compile
npx hardhat compile
# Test
npx hardhat test
# Deploy to Celo Sepolia
npx hardhat run scripts/deploy.ts --network celoSepolia
# Navigate to contracts
cd apps/contracts
# Build
forge build
# Test
forge test
# Deploy to Celo Sepolia
forge script script/Deploy.s.sol --rpc-url https://forno.celo-sepolia.celo-testnet.org --broadcast
Create .env.local in apps/web/:
# Required for wallet connection
NEXT_PUBLIC_WC_PROJECT_ID=your_walletconnect_project_id
# Optional: Alchemy API key
NEXT_PUBLIC_ALCHEMY_API_KEY=your_alchemy_key
Create .env in apps/contracts/:
PRIVATE_KEY=your_private_key
CELOSCAN_API_KEY=your_celoscan_api_key
Create files in apps/web/app/:
// apps/web/app/my-page/page.tsx
export default function MyPage() {
return <div>My Custom Page</div>;
}
Add to apps/web/components/ or shared packages/ui/:
// apps/web/components/MyComponent.tsx
export function MyComponent() {
return <div>My Component</div>;
}