BL-32: Contributor environment preflight check (dincli system doctor / scripts/preflight.sh)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 55/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- github-actions, python, solidity
- Domain
- devops, documentation, testing, tooling
Research direction
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.
Written by the indexing model from the issue text.
Description
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)
- Dominant language
- Python
- Stars
- 4
- Forks
- 7
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 34
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from InfiniteZeroFoundation/DevNet
-
ROADMAP.md: refresh "What is still open for P3" (several items were fixed in October)Possibly taken @umermjd11 claimed this 4 days ago. Opendocumentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
InfiniteZeroFoundation/DevNet#285 · 1 comment · 1 assignee ·
Maintainers usually reply within 1 day
-
Update the 25 translated organisation READMEs to match the English versionPossibly taken @mrCabez claimed this 1 day ago. Opengood first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
InfiniteZeroFoundation/DevNet#277 · 2 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
Update the client-service guide to explain training and uploading separatelyPossibly taken @Santiagocetran claimed this 1 day ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
InfiniteZeroFoundation/DevNet#266 · 1 assignee ·
Maintainers usually reply within 1 day
-
Few questions related to GI2 aggregatorPossibly taken @Abidoyesimze claimed this today. Open
InfiniteZeroFoundation/DevNet#307 · 1 reaction · 4 assignees ·
Maintainers usually reply within 1 day
-
bug python
Difficulty 4/5 3-5 days Newbie friendliness 52/100
InfiniteZeroFoundation/DevNet#306 ·
Maintainers usually reply within 1 day
All issues in InfiniteZeroFoundation/DevNet
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
namespace operations
Difficulty 1/5 Under an hour Newbie friendliness 65/100
EclipseFdn/open-vsx.org#15057 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
FinanceFlash/unvibecode#349 ·
-
Mission statement: why this is free, in the README, Why This Exists and the wiki HomePossibly taken @ChiefGyk3D claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
ChiefGyk3D/Clouds-Against-Humanity#348 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
vllm-project/vime#508 ·
Maintainers usually reply within 4 days