Roadmap: ecosystem profiles for every kind of project

Aperta
#105 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
cmake, python
Ambito
tooling

Direzione di ricerca

Read project_validator/ecosystems/<name>.py, project_validator/rules.py, and tests/test_ecosystem_contract.py to understand the profile design and its contract. The roadmap lists many separate ecosystem profiles and checks, while #107 defines execution order; use it to identify an actionable step. Done means implementing the selected profile with its well-configured and bare fixtures, passing the contract test.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Roadmap for judging every kind of project by its own ecosystem's tools. The design is in place on ecosystem-profiles: ecosystem profiles (project_validator/ecosystems/<name>.py), typed rules (project_validator/rules.py), generic @practice checks, build-system rules, plugin ecosystems, CI job attribution, and a contract test (tests/test_ecosystem_contract.py) holding each profile to a well-configured and a bare fixture. Built in so far: C/C++ (CMake, Meson), Python, Rust, Go.

Adding an ecosystem means one profile module and two fixtures, with no change to project_validator/checks/.

Core
  • #62
  • #63
  • #64
Languages, wave 1
  • #65
  • #66
  • #67
  • #68
  • #69
  • #70
Languages, wave 2
  • #71
  • #72
  • #73
  • #74
  • #75
  • #76
  • #77
  • #78
  • #79
  • #80
  • #81
  • #82
  • #83
Data, schemas and documents
  • #84
  • #85
  • #86
  • #87
  • #88
  • #89
  • #90
  • #91
  • #92
Infrastructure
  • #93
  • #94
  • #95
  • #96
  • #97
  • #98
Checks for every project
  • #99
  • #100
  • #101
  • #102
  • #103
  • #104
Checks that grow with each profile

Built, and judged by each profile's rules: tests-run, coverage, code-formatting, compiler-warnings, warnings-as-errors, hardening (binary hardening only, #61), security-scanning (each language's security lints), dependency-audit, function-limits, vcs-ignore, platform-matrix, ci-build-types.

Planned: #10 #13 #16 #21 #24 #30 #31 #56 #57 #58 #60

Order of execution

See #107 for the order this work is done in, and the rules every step follows.

Lingua principale
Python
Stelle
4
Fork
1
Merge medio
10h 41m
PR unite (30g)
79

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di cpp-best-practices/project_validator

Tutte le issue di cpp-best-practices/project_validator

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.