# I just released SKTR, a deterministic architecture review CLI

> Source: <https://dev.to/prubianes/i-just-released-sktr-a-deterministic-architecture-review-cli-fk>
> Published: 2026-07-15 04:46:29+00:00

Hey everyone!

I've been working on a project called **SKTR**, which stands for **System Knowledge & Technical Review**, and I've just published the first release candidate.

SKTR is a CLI that reviews your current Git changes from an architecture and maintainability perspective.

The basic workflow is:

```
cd your-project
sktr init
sktr review
```

It looks at the Git diff, analyzes the changed code, builds a structured model of the project, and runs deterministic rules against it.

The important word there is **deterministic**.

I didn't want the tool to send an entire repository to an LLM and ask it to guess what might be wrong. SKTR detects things using analyzers, metrics, and rules first. AI is optional and is only used to explain the evidence and suggest next steps.

The current release includes analyzers for:

Some of the things it can detect include:

It also calculates a risk level and review score, giving you an idea of where to focus first.

A terminal report looks roughly like this:

```
SKTR Review

Summary
Risk: Medium
Score: 76/100
Changed files: 3
Issues: 2

Findings
High
! Forbidden dependency
  controllers/order_controller.py imports repositories/order_repository.py

Medium
! Large function detected
  create_order has 114 lines.
```

The exact rules and thresholds can be configured in `sktr.yml`

.

The terminal output is useful locally, but SKTR can also produce Markdown and JSON artifacts:

```
sktr review --format markdown --output REVIEW.md
sktr review --format json --output sktr-review.json
```

The JSON format has a versioned schema, so it can be used in CI or consumed by other tools.

You can also make Mermaid dependency graphs:

```
sktr graph --scope repository
sktr graph --scope repository --cycles
sktr graph --scope repository --focus orders
```

SKTR can write the review artifact and then fail based on issue severity:

```
sktr review \
  --branch \
  --no-ai \
  --format json \
  --output sktr-review.json \
  --fail-on high
```

This means you can use it as an architecture check without enabling AI or depending on an external service.

AI support is available, but it isn't required.

```
export SKTR_OPENAI_API_KEY="your-api-key"
sktr review --ai
```

The AI receives structured findings rather than the whole repository. It doesn't create issues, modify the score, or affect CI severity gates.

SKTR currently requires Python 3.13 or newer.

```
python -m pip install --pre sktr==1.0.0rc1
sktr --help
```

Then run it inside a Git repository:

```
sktr init
sktr review
```

This is still a release candidate, so I'm especially interested in false positives, confusing output, missing rules, and projects where the analyzers don't understand the architecture correctly.

The code is open source and available here:

I'm pretty happy to finally get it out into the world. There is still plenty I want to improve, but it already gives useful reviews without requiring AI, which was the main goal from the start.

Feedback and contributions are very welcome.
