BL-32: Contributor environment preflight check (dincli system doctor / scripts/preflight.sh)
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 55/100
- Type d'issue
- Fonctionnalité
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- github-actions, python, solidity
- Domaine
- devops, documentation, testing, tooling
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
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)
- Langage dominant
- Python
- Étoiles
- 4
- Forks
- 7
- Merge moyen
- 3 j 4 h
- PR mergées (30 j)
- 34
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de InfiniteZeroFoundation/DevNet
-
ROADMAP.md: refresh "What is still open for P3" (several items were fixed in October)Peut-être pris @umermjd11 l’a pris il y a 3 jours. Ouvertedocumentation good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
InfiniteZeroFoundation/DevNet#285 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Update the 25 translated organisation READMEs to match the English versionPeut-être pris @mrCabez l’a pris il y a 1 jour. Ouvertegood first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
InfiniteZeroFoundation/DevNet#277 · 2 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Update the client-service guide to explain training and uploading separatelyPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
InfiniteZeroFoundation/DevNet#266 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
InfiniteZeroFoundation/DevNet#299 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Long run
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
InfiniteZeroFoundation/DevNet#298 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de InfiniteZeroFoundation/DevNet
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 79/100
aws-samples/sample-per-model-bedrock#639 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 86/100
awslabs/visual-asset-management-system#937 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 79/100
project-codeflare/codeflare-sdk#1195 ·
Les mainteneurs répondent en général sous 1 jour
-
Bump numpy dependencyOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
pandas-dev/pandas-stubs#2051 ·
Les mainteneurs répondent en général sous 1 jour