BL-32: Contributor environment preflight check (dincli system doctor / scripts/preflight.sh)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 55/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- github-actions, python, solidity
- Área
- devops, documentation, testing, tooling
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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)
- Lenguaje dominante
- Python
- Estrellas
- 4
- Forks
- 7
- Merge medio
- 3 d 5 h
- PR fusionados (30 d)
- 34
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de InfiniteZeroFoundation/DevNet
-
ROADMAP.md: refresh "What is still open for P3" (several items were fixed in October)Posiblemente ocupada @umermjd11 la tomó hace 3 días. Abiertodocumentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
InfiniteZeroFoundation/DevNet#285 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Update the 25 translated organisation READMEs to match the English versionPosiblemente ocupada @mrCabez la tomó hace 1 día. Abiertogood first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
InfiniteZeroFoundation/DevNet#277 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Update the client-service guide to explain training and uploading separatelyPosiblemente ocupada @Santiagocetran la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
InfiniteZeroFoundation/DevNet#266 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Few questions related to GI2 aggregatorPosiblemente ocupada @Abidoyesimze la tomó hoy. Abierto
InfiniteZeroFoundation/DevNet#307 · 1 reacción · 4 asignados ·
Los mantenedores suelen responder en 1 día
-
bug python
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
InfiniteZeroFoundation/DevNet#306 ·
Los mantenedores suelen responder en 1 día
Todos los issues de InfiniteZeroFoundation/DevNet
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
NousResearch/hermes-agent#147104 ·
Los mantenedores suelen responder en 1 día
-
[oblt-aw][autodoc] Document new required `shared-org-key` input for `obs-aw-dependency-review`Posiblemente ocupada @github-actions la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día
-
bot-triaged module: inductor oncall: pt2 topic: fuzzer triaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
getchaintips leaves out the active tip once a header is staged on it, where Core always lists itAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
btclib-org/btclib-node#2158 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
patrick-hudson/put.gd-desktop#979 · 1 comentario ·
Los mantenedores suelen responder en 1 día