70 lines
1.5 KiB
Markdown
70 lines
1.5 KiB
Markdown
# Contributing to evidence_scout-contract-lab
|
|
|
|
## Development Workflow
|
|
|
|
### Prerequisites
|
|
- [Foundry](https://book.getfoundry.sh/getting-started/installation) (forge, cast, anvil)
|
|
- Node.js 18+ (for OpenZeppelin dependencies)
|
|
- Git
|
|
|
|
### Setup
|
|
```bash
|
|
git clone <repo-url>
|
|
cd <repo-name>
|
|
forge install
|
|
npm install # if using OpenZeppelin
|
|
```
|
|
|
|
### Build
|
|
```bash
|
|
forge build
|
|
```
|
|
|
|
### Test
|
|
```bash
|
|
forge test # run all tests
|
|
forge test -vvv # verbose output
|
|
forge test --gas-report # gas report
|
|
forge coverage # coverage report
|
|
```
|
|
|
|
### Format
|
|
```bash
|
|
forge fmt
|
|
```
|
|
|
|
## Branch Naming
|
|
|
|
Use conventional branch names:
|
|
- `feat/<scope>-<description>` — new features
|
|
- `fix/<scope>-<description>` — bug fixes
|
|
- `chore/<scope>-<description>` — maintenance
|
|
- `docs/<description>` — documentation updates
|
|
- `test/<description>` — test additions/fixes
|
|
|
|
## Commit Messages
|
|
|
|
Follow [Conventional Commits](https://www.conventionalcommits.org/):
|
|
```
|
|
feat: add staking mechanism
|
|
fix: correct overflow in reward calculation
|
|
test: add fuzz tests for transfer
|
|
docs: update deployment instructions
|
|
```
|
|
|
|
## Pull Requests
|
|
|
|
1. Create a feature branch from `main`
|
|
2. Write tests for new functionality
|
|
3. Ensure all tests pass: `forge test`
|
|
4. Ensure formatting: `forge fmt --check`
|
|
5. Open PR with clear description of changes
|
|
6. Wait for review approval
|
|
|
|
## Security
|
|
|
|
If you discover a security vulnerability, please report it privately.
|
|
Do NOT open a public issue for security bugs.
|
|
|
|
_Generated by Chunk Citizen._
|