Development Workflow
Branching Strategy:
Adopt the
feature/*,bugfix/*, andrelease/*branch naming convention atopmain.Enforce mandatory pull requests (PRs) for all non‑trivial changes.
Local Development:
Start a local DexerEVM node and ancillary services via
docker-compose up --build.Compile smart contracts with
npm run build:contractsand deploy to the local network using Hardhat.Launch the frontend in development mode:
npm run devon port 3000.
Automated Testing:
Smart Contracts: Unit tests in Solidity (Truffle or Hardhat), coverage thresholds ≥ 90%.
Frontend & Backend: TypeScript tests with Jest and React Testing Library, focusing on business logic and component rendering.
Run full test suite locally before each PR:
npm test.
Continuous Integration (CI):
GitHub Actions workflow triggers on PR creation:
Linting (ESLint, Prettier), type checking, security scans (Slither for Solidity).
Automated tests, code coverage report upload.
Code Review & Merge:
Peer reviews with at least two approvals required.
Enforce PR templates detailing change summary, testing steps, and migration impacts.
Release Process:
Merge to
release/*branch triggers build artifacts for staging.Tag the release (semantic versioning), merge to
main, and deploy to production via CD pipeline.
Last updated