BL-32: Contributor environment preflight check (dincli system doctor / scripts/preflight.sh)
Maintainer thường phản hồi trong vòng 1 ngày
@Santiagocetran đang làm issue này rồi.
Từ ngày 29/10/2026.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 55/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- github-actions, python, solidity
- Lĩnh vực
- devops, documentation, testing, tooling
Hướng nghiên cứu
Read dincli/cli/system.py, the onboarding guide, ci.yml, and CLAUDE.md to understand the existing command structure and checks. Implement the read-only preflight command or fallback script, then run it on a clean environment and verify each listed check, plain text output, and exit codes. Done when the command is referenced in Documentation/public/guides/getting-started.md.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
There is no single command that checks a developer's machine before they start work. Each of the following has already caused lost time:
- Python < 3.12 installed (repo requires
>=3.12). forge/anvilnot installed, or the wrong solc version (0.8.28 required).foundry/node_modulesabsent — withoutnpm ci,forge test's parallel jobs race to fetch@openzeppelin/upgrades-coreover npx into a shared cache, causing both test flakiness and unnecessary supply-chain exposure at test time (documented inCLAUDE.md).eth-accountorpy-multibasenot importable in the active venv.torchnot importable (needed bytests/full run and the reference service files)..env/.env.<network>missing, the configured RPC endpoint unreachable, orresolve_ipfs_config()unable to resolve.
Proposal
A read-only preflight check — dincli system doctor (preferred, fits the existing subcommand structure in dincli/cli/system.py) or scripts/preflight.sh as a fallback — that runs one check per line:
[OK] Python 3.12.6
[OK] forge 0.3.2 / anvil 0.3.2
[OK] solc 0.8.28 (via solc-select)
[OK] foundry/node_modules present
[OK] eth-account 6.3.0
[OK] py-multibase 2.0.1
[MISSING] torch — run: pip install torch
[OK] .env.sepolia_op_devnet found
[OK] RPC https://... → chainId 11155420
[MISSING] IPFS_API_URL not set and no Filebase credentials — see Documentation/public/guides/ipfs.md
Exits non-zero on any MISSING or ERROR row. Never installs anything itself — reports and exits.
Usage
- Primary: first command in the onboarding docs (
Documentation/public/guides/getting-started.md). - Secondary: first step in
ci.yml's unit-test job (can replace the current ad-hocpip install+forge --versioncalls). - Optional local alias:
make doctor.
Acceptance
- All six check categories above pass on a clean machine.
- Exits 0 when everything is OK, non-zero when any check fails.
- Output is plain text, one line per check, usable in CI without color codes (
--no-colorflag or auto-detect). Documentation/public/guides/getting-started.mdreferences the command.
References
Developer/BACK_LOG.mdBL-32CLAUDE.md—npm ciwarning (§ Solidity)- Preflight pattern reviewed in
Osomudeya/devops-scripting-labs(2026-10-02)
- Ngôn ngữ chính
- Python
- Star
- 4
- Fork
- 7
- Merge trung bình
- 3 ngày 7 giờ
- Pull request đã merge (30 ngày)
- 33
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của InfiniteZeroFoundation/DevNet
-
ROADMAP.md: refresh "What is still open for P3" (several items were fixed in October)Có thể đã có người làm @umermjd11 đã nhận 6 ngày trước. Đang mởdocumentation good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
InfiniteZeroFoundation/DevNet#285 · 1 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Update the 25 translated organisation READMEs to match the English versionCó thể đã có người làm @mrCabez đã nhận 4 ngày trước. Đang mởgood first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
InfiniteZeroFoundation/DevNet#277 · 3 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Update the client-service guide to explain training and uploading separatelyCó thể đã có người làm @Santiagocetran đã nhận 3 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
InfiniteZeroFoundation/DevNet#266 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Few questions related to GI2 aggregatorCó thể đã có người làm @Abidoyesimze đã nhận 3 ngày trước. Đang mở
InfiniteZeroFoundation/DevNet#307 · 1 bình luận · 1 reaction · 4 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug python
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
InfiniteZeroFoundation/DevNet#306 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của InfiniteZeroFoundation/DevNet
Issue tương tự
-
area:scripts area:tests bug priority:later
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Ikalus1988/MisakaNet#4358 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Discovered ports from service discovery are never propagated to modules in Module.load()Có thể đã có người làm @vishalmore90 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
OWASP/Nettacker#1828 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
aws-samples/sample-per-model-bedrock#708 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
[Performance] Bound resolve_api_hashes raw fallback reads to the 1 MiB region actually scannedĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
sjkim1127/Reversecore_MCP#365 ·
Maintainer thường phản hồi trong vòng 1 ngày