docs: fix development setup steps in CONTRIBUTING.md - #3050
Open
Kyenghwan-Hwang wants to merge 1 commit into
Open
docs: fix development setup steps in CONTRIBUTING.md#3050Kyenghwan-Hwang wants to merge 1 commit into
Kyenghwan-Hwang wants to merge 1 commit into
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Following CONTRIBUTING.md verbatim on a clean environment fails at three
points. This PR updates the doc to match what actually works. Documentation
only — no code changes.
Environment where these were reproduced: fresh clone, macOS arm64
(Darwin 25.3.0), uv 0.11.6, Python 3.14.4 (uv-managed venv).
1.
make devfails without prekRunning
make devon a fresh clone stops at:Root cause: the
devtarget runsuv sync --group devfollowed byprek install, but prek is not a dev dependency in pyproject.toml, and theprek installline under "Pre-commit Hooks (Recommended)" installs thehooks, not prek itself. Added
uv tool install prekto the setup snippet.2. Full test suite has undocumented external prerequisites
On a clean environment,
make testexits non-zero with 18 baselinefailures unrelated to the checkout:
All 18 trace to two missing tools:
vyper(16):FileNotFoundError: [Errno 2] No such file or directory: 'vyper'(10 collection errors in
tests/e2e/vyper_parsing/, plus 6 Vyper-relatedunit test failures)
ganache(2): thetests/tools/read-storagefixture raisesException: ganache was not found in PATH, you can install it with 'npm install -g ganache'Added one paragraph documenting both prerequisites, matching what CI
installs (vyper v0.3.7,
npm install --global ganachein.github/workflows/test.yml).3. Bare
python/pytestcommands don't work in the uv workflowThe testing steps invoke
python tests/e2e/detectors/test_detectors.py --compileand barepytest. With uv-managed dependencies (the setup thissame document prescribes), those run outside the venv and fail unless the
user knows to activate
.venvfirst. Prefixed the commands withuv run,consistent with how the Makefile invokes them.
I hit this directly with the detector-test commands; the solc_parsing
section's commands were updated the same way for consistency, since the
failure mode (venv not on PATH) is identical.