Metadata-Version: 2.4
Name: enola-cli
Version: 0.4.14
Summary: Architectural regression testing for AI-assisted development
Description-Content-Type: text/markdown
License-Expression: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Requires-Python: >=3.8
Project-URL: Homepage, https://github.com/enola-labs/enola
Project-URL: Source, https://github.com/enola-labs/enola
Project-URL: Documentation, https://github.com/enola-labs/enola/blob/main/docs/README.md
Project-URL: Changelog, https://github.com/enola-labs/enola/blob/main/CHANGELOG.md
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Go
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development :: Testing

# enola

**Architectural regression testing for AI-assisted development.**

Catch structural regressions that builds and tests cannot see: new dependency
cycles, violated layer boundaries, undeclared service dependencies, and changes
that spread beyond their intended scope.

Enola maps your codebase before a change and compares it with the structure
afterward. The result is about *this change*, not every problem already in the
repository, and only the rules you choose can fail the build.

- **Exact, local measurement.** Parsed source and graph algorithms. No model, no
  embeddings, no upload, no account, no license check.
- **One graph across the repository.** 23 languages and formats, detected
  automatically and combined into one baseline and verdict.
- **One loop everywhere.** Your coding agent reads the graph before it edits and
  receives the verdict afterward. The same check runs from the CLI or in CI.

## Install

```bash
pip install enola-cli
```

The command is `enola`. This package ships a prebuilt binary, so there is no
Python dependency at run time and nothing is importable from Python.

## Try it read-only

```bash
enola --explain /path/to/your/repo
```

No baseline, config file or MCP client, and nothing is written to disk. Enola
prints the architecture it measured (patterns, cycles, layer violations,
hotspots, blast radius and structural outliers) and exits.

## Documentation

Full documentation, including the CLI reference and architecture internals,
lives at <https://github.com/enola-labs/enola>.
