From alchemy-pack
Configures GitHub Actions CI/CD for Alchemy Web3 dApps: Hardhat mainnet fork tests, Sepolia deployments, API key leak checks.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin alchemy-packThis skill is limited to using the following tools:
CI/CD pipeline for Alchemy-powered dApps with Hardhat mainnet fork testing, Sepolia deployment, and contract verification.
Sets up local Web3 dev workflow with Alchemy RPC, Hardhat mainnet forking, Sepolia testnet, and hot-reload scripts for smart contract development and testing.
Tests Solidity smart contracts using Hardhat and Foundry for unit tests, integration tests, fuzzing, gas optimization, mainnet forking, and Etherscan verification.
Tests Solidity smart contracts with Hardhat and Foundry via unit/integration tests, fuzzing, gas optimization, and mainnet forking.
Share bugs, ideas, or general feedback.
CI/CD pipeline for Alchemy-powered dApps with Hardhat mainnet fork testing, Sepolia deployment, and contract verification.
# .github/workflows/web3-ci.yml
name: Web3 CI
on:
push:
branches: [main, develop]
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: '20' }
- run: npm ci
- run: npm run lint
- run: npm run typecheck
- name: Run Hardhat tests with Alchemy fork
env:
ALCHEMY_API_KEY: ${{ secrets.ALCHEMY_API_KEY }}
run: npx hardhat test
- name: Check API key not in build
run: |
npm run build
if grep -r "${{ secrets.ALCHEMY_API_KEY }}" dist/ 2>/dev/null; then
echo "FAIL: API key found in build output!"
exit 1
fi
deploy-testnet:
needs: test
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: '20' }
- run: npm ci
- name: Deploy to Sepolia
env:
ALCHEMY_API_KEY: ${{ secrets.ALCHEMY_API_KEY }}
DEPLOYER_PRIVATE_KEY: ${{ secrets.DEPLOYER_PRIVATE_KEY }}
run: npx hardhat run scripts/deploy.ts --network sepolia
// hardhat.config.ts — CI-optimized
const config = {
solidity: '0.8.24',
networks: {
hardhat: {
forking: {
url: `https://eth-mainnet.g.alchemy.com/v2/${process.env.ALCHEMY_API_KEY}`,
blockNumber: 19000000, // Pinned for reproducible CI
enabled: !!process.env.ALCHEMY_API_KEY,
},
},
},
mocha: {
timeout: 60000, // Fork tests are slower
},
};
For deployment procedures, see alchemy-deploy-integration.