From eb5d2c69b248ffae889f5063674f702ce0f56227 Mon Sep 17 00:00:00 2001 From: bryantrinh <11767305+bryantrinh@users.noreply.github.com> Date: Mon, 1 Jun 2026 18:44:28 +0700 Subject: [PATCH] fix: resolve issue #26 bounty --- CONTRIBUTING.md | 76 +++++++++++++++++++++++++++++++++++++++++++++ bounty_context.json | 13 ++++++++ test_status.json | 4 +++ 3 files changed, 93 insertions(+) create mode 100644 CONTRIBUTING.md create mode 100644 bounty_context.json create mode 100644 test_status.json diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..588f1a9 --- /dev/null +++ b/CONTRIBUTING.md @@ -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. diff --git a/bounty_context.json b/bounty_context.json new file mode 100644 index 0000000..461e74f --- /dev/null +++ b/bounty_context.json @@ -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" +} \ No newline at end of file diff --git a/test_status.json b/test_status.json new file mode 100644 index 0000000..aa9a9c7 --- /dev/null +++ b/test_status.json @@ -0,0 +1,4 @@ +{ + "passed": true, + "output": "........................................................................ [ 80%]\n................. [100%]\n89 passed in 1.93s\n" +} \ No newline at end of file