smithery/hiromaily

solidity-development

Solidity smart contract development workflow. Use when modifying smart contracts in apps/eth-contracts/contracts/.

Installation

$ npx skills add smithery/hiromaily --skill solidity-development

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/hiromaily.

npx skills add smithery/hiromaily

Browse all from smithery/hiromaily

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,313 B
  • docs SUMMARY.md 140 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

Solidity Development Workflow

Workflow for Solidity smart contract changes in the apps/eth-contracts/ Foundry project.

Prerequisites

Use git-workflow Skill for branch management, commit conventions, and PR creation.

Applicable Directories

Path Description
apps/eth-contracts/contracts/ Smart contract source files
apps/eth-contracts/script/ Foundry deployment scripts
apps/eth-contracts/test/ Foundry test files (*.t.sol)

Toolchain

Tool Version Role
Foundry (forge) 1.6.0-nightly Compile, test, deploy
Solidity ^0.8.34 Smart contract language
OpenZeppelin Contracts ^5.6.1 ERC-20 / standard base contracts
bun primary npm package manager
solhint ^6.0.3 Solidity linter
dprint ^0.52.0 JS/TS formatter

Note: forge is installed at ~/.foundry/bin/forge (may not be in PATH). Run with full path or add ~/.foundry/bin to PATH.

Setup (first time)

cd apps/eth-contracts

# 1. Install forge-std (Foundry testing/scripting library)
forge install foundry-rs/forge-std

# 2. Install npm dependencies (@openzeppelin/contracts, solhint, dprint)
bun install

Verification Commands

cd apps/eth-contracts

forge build          # Compile all contracts (artifacts → out/)
forge test -v        # Run Foundry unit tests
bun run lint         # Solidity lint via solhint (must exit 0, zero errors)
bun run fmt          # Format JS/TS files via dprint (must exit 0)

Deployment (local)

cd apps/eth-contracts
export PRIVATE_KEY=0x<deployer-private-key>
forge script script/DeployHYC.s.sol --rpc-url http://localhost:8545 --broadcast
# → outputs contract address, tx hash, gas usage

Compatible with both anvil and geth nodes at http://localhost:8545.

Self-Review Checklist

Code Quality

  • Named imports used (import {Foo} from "...") — no global imports
  • NatSpec tags present (@title, @author, @notice, @param) on contracts and public functions
  • Explicit visibility on all functions (constructors exempt in Solidity ≥0.8)
  • Gas optimization considered
  • Events emitted for state changes

Security

  • No reentrancy vulnerabilities
  • No hardcoded private keys or sensitive values — use env vars
  • .env added to .gitignore
  • Access control properly implemented
  • Integer overflow protection (Solidity ≥0.8 has built-in checks)

Testing

  • Foundry test file (test/*.t.sol) covers all acceptance criteria
  • forge test passes with zero failures
  • bun run lint exits 0 with zero solhint errors

ABI / Go Bindings

After contract changes, if Go bindings are needed:

# 1. Compile
cd apps/eth-contracts
forge build

# 2. Regenerate Go bindings (if target ABI changed)
make gen-abi

Related Chain Context

  • ETH (Ethereum)
  • ERC-20 token standard
  • Local nodes: anvil, geth at http://localhost:8545

Related Skills

  • git-workflow - Branch, commit, PR workflow
  • github-issue-creation - Task classification