Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Contributing to ProofWorks

Thank you for your interest in contributing to **ProofWorks**! This document outlines the process for setting up your environment, running tests, and submitting your contributions.

## Setup

To set up the development environment locally:

1. **Clone the Repository**:
Clone the repository and navigate into the project root:
```bash
git clone https://github.com/tommycet/proofworks-genlayer.git
cd proofworks-genlayer
```

2. **Install Python Dependencies**:
ProofWorks requires Python dependencies for contract testing and linting. Install them using `requirements.txt`:
```bash
pip install -r requirements.txt
```

3. **Install Node.js Dependencies**:
Install root dependencies and frontend dependencies:
```bash
npm install
npm --prefix frontend install
```

## Running the tests

To verify your changes locally, you can run the test suite using the configured Makefile targets:

- **Run all direct contract tests**:
```bash
make test
```
*(Note: This command runs the Python pytest suite against GenVM direct-mode tests.)*

- **Lint the escrow contract**:
```bash
make lint-contract
```

- **Build the frontend production package**:
```bash
npm --prefix frontend run build
```

- **Validate all components in one shot** (Tests, Contract Linter, and Frontend build):
```bash
make validate-all
```

## Submitting a pull request

When you are ready to submit your changes:

1. **Create a Local Branch**:
Branch off from the `main` branch with a descriptive name:
```bash
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bugfix-name
```

2. **Commit Your Changes**:
Make small, atomic commits with clear commit messages describing your changes.

3. **Validate Your Changes**:
Ensure all tests and build checks pass successfully by running:
```bash
make validate-all
```

4. **Submit the Pull Request**:
Push your branch to GitHub and open a Pull Request targeting the `main` branch.
13 changes: 13 additions & 0 deletions bounty_context.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"owner": "tommycet",
"repo": "proofworks-genlayer",
"issueNumber": "26",
"title": "Add CONTRIBUTING.md with three core sections",
"body": "## Summary\n\nThe repo accepts external contributions but does not yet have a `CONTRIBUTING.md` explaining how to set up the environment, run the tests, and submit a PR.\n\n## Acceptance criteria\n\nA submitted PR must:\n\n1. Add a new file named `CONTRIBUTING.md` at the repository root.\n2. The file must contain three top-level sections (Markdown `##` headings): `Setup`, `Running the tests`, and `Submitting a pull request`.\n3. The `Running the tests` section must mention the command `make test`.\n4. The PR must come from the same repository (tommycet/proofworks-genlayer).\n\n## Reward\n\nFunded as a ProofWorks bounty case. Worker payout on APPROVE.\n",
"labels": [
"documentation",
"bounty"
],
"gitCloneUrl": "https://github.com/tommycet/proofworks-genlayer.git",
"repoDir": "/Users/macminim1/Documents/efe/bounty-hunter/temp/proofworks-genlayer"
}
4 changes: 4 additions & 0 deletions test_status.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"passed": true,
"output": "........................................................................ [ 80%]\n................. [100%]\n89 passed in 1.93s\n"
}