Considered
Considered is a CLI that lets you set codebase standards (e.g. file line counts)
and explicitly document exceptions.
It collects metrics from one or more providers, evaluates them against declared
standards, and reports violations. Intentional departures are documented as
variances: reviewed, visible exceptions with a reason.
The goal is not merely to enforce limits. It is to make architectural decisions
explicit and preserve the rationale behind unusual structures.
Quick Start
Requires Go 1.26+. This repository vendors scc
as a git submodule, so clone with submodules:
git clone --recurse-submodules https://github.com/agorischek/considered.git
cd considered
go build -o bin/considered ./cmd/considered
go build -o bin/considered-scc ./cmd/considered-scc
Put both binaries on your PATH, then initialize and check a repository:
considered init
considered check
Documentation
The full guide lives in the Astro docs site under docs/:
cd docs
npm install
npm run dev
The docs cover configuration, variances, exclusions, providers, CI output, and
the CLI reference.
Releases
GitHub Releases are published from version tags:
git tag v0.1.1
git push origin v0.1.1
The release workflow builds considered and considered-scc together for
Linux, macOS, and Windows on amd64 and arm64. Each release includes platform
archives plus checksums.txt.
Design Principles
- Standards should be easy to declare.
- Violations should remain visible.
- Variances require rationale and classification.
- Variances remain visible.
- Metrics are provider-agnostic.
- Configuration should be human-readable and double as architectural documentation.
- Exact subject matching is preferred over complex selector systems.
- Repository knowledge should be preserved alongside policy.