Roadmap: ecosystem profiles for every kind of project

Aberta
#105 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
25/100
Tipo de issue
Funcionalidade
Clareza
Precisa de esclarecimento
Status de atividade
Ativa
Stack de tecnologia
cmake, python
Domínio
tooling

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
Python
Estrelas
4
Forks
1
Merge médio
10h 41min
PRs com merge (30d)
79

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de cpp-best-practices/project_validator

Todas as issues de cpp-best-practices/project_validator

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.