# Engineering practices

> How inspect.software measures baseline engineering hygiene — CI, tests, linting, pre-commit hooks, and editorconfig. 12% of the overall health index.


**Engineering practices** measures baseline engineering hygiene: the
infrastructure that makes change safe. Continuous integration and an
automated test suite are the two practices with the strongest documented
relationship to sustainable quality, and together they carry most of this
metric.

- **Category:** [Engineering Quality](/wiki/engineering-quality) (60% within category)
- **Weight in overall index:** 12% — the second-heaviest repository metric
- **Metric key:** `engineering_practices`

## How the value is computed

A weighted checklist of visible practice evidence:

| Component | Weight | Evidence |
| --------- | ------ | -------- |
| CI workflows | 24 | continuous-integration configuration present |
| Tests present | 24 | a test suite exists in the repository |
| Linter config | 16 | lint/format configuration committed |
| Pre-commit hooks | 9.6 | pre-commit configuration present |
| .editorconfig | 6.4 | editor conventions committed |
| OpenSSF Scorecard: CI-Tests | 20 | Scorecard's 0–10 result, scaled to 20 points |

## Why these five

- **CI plus tests** form the verification loop: every change is exercised
  against the suite before it lands. Their combined 60 weight reflects that
  no other visible practice substitutes for it.
- **Linting** enforces consistency mechanically, keeping review attention on
  substance.
- **Pre-commit hooks and `.editorconfig`** are smaller signals of a project
  that has invested in contributor ergonomics — changes arrive pre-checked
  and consistently formatted regardless of who wrote them.

The same evidence feeds the [AI verify loop](/wiki/ai-verify-loop): the
infrastructure that lets a human contributor verify a change is exactly what
lets an AI coding agent verify one.

Scorecard's `CI-Tests` is shared evidence: unlike the local presence checks,
it asks whether merged pull requests were checked by CI. It also remains a
full Security component. `n/a` or unavailable Scorecard evidence is excluded.

## Reading the result

- These are **presence signals** — they confirm the scaffolding exists, not
  how rigorous it is. Coverage percentages and CI pass rates are on the
  [methodology roadmap](/methodology).
- A missing test suite is one of the most reliable negative signals in the
  entire methodology; very few disciplined projects lack one.

## Improving the value

- Add a CI workflow that runs the test suite on every push and pull request
  — the two heaviest components, often achievable in a single afternoon.
- Commit the linter and formatter configuration the project already uses
  locally.
- Add a pre-commit configuration and an `.editorconfig` for the remaining
  points.

Related: [documentation](/wiki/documentation) ·
[AI verify loop](/wiki/ai-verify-loop)
