Roadmap: ecosystem profiles for every kind of project

Ouverte
#105 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
25/100
Type d'issue
Fonctionnalité
Clarté
À clarifier
Activité
Active
Stack technique
cmake, python
Domaine
tooling

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
Python
Étoiles
4
Forks
1
Merge moyen
10 h 41 min
PR mergées (30 j)
79

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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de cpp-best-practices/project_validator

Toutes les issues de cpp-best-practices/project_validator

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.