# What Frameworks Does Archify Use? A Deep Dive Into Its Minimal Dependency Architecture

> Discover Archify's minimal dependency architecture. It uses a zero-dependency Node.js core with AJV and React Flow for its browser viewer, ensuring a lightweight and efficient tool.

- Repository: [tt-a1i/archify](https://github.com/tt-a1i/archify)
- Tags: deep-dive
- Published: 2026-08-13

---

**Archify relies on a zero-dependency Node.js core that uses only AJV for JSON-Schema validation, while its optional browser viewer leverages React Flow for interactive diagram rendering.**

Archify is an open-source architecture visualization tool designed to remain lightweight and portable. When investigating what frameworks does archify use, you'll discover a deliberate architectural choice to minimize runtime dependencies while providing rich visualization capabilities through optional browser-based components. The project maintains a strict separation between its command-line interface—which runs entirely on Node.js standard library APIs—and its interactive web viewer that consumes external visualization libraries.

## Core Runtime: Zero Dependencies with AJV

The heart of Archify is intentionally framework-free. According to [`archify/package.json`](https://github.com/tt-a1i/archify/blob/main/archify/package.json), the runtime declares **AJV** as its sole development dependency, used strictly for JSON-Schema validation of the typed Intermediate Representation (IR).

```json
{
  "devDependencies": {
    "ajv": "^8.x"
  }
}

```

This means the CLI tool in `archify/bin/archify.mjs` operates without React, Express, or any other server-side framework. The entry point implements a pure generate → validate → preview → deliver workflow using only built-in Node.js modules. As documented in [`archify/SKILL.md`](https://github.com/tt-a1i/archify/blob/main/archify/SKILL.md), this zero-dependency approach ensures the skill runs in any standard Node.js environment without requiring additional package installations.

## Interactive Viewer: React Flow for Browser Rendering

While the CLI remains framework-agnostic, Archify's optional browser-based viewer relies on **React Flow** to render interactive node-link diagrams. The project loads React Flow via CDN in [`examples/web-app.html`](https://github.com/tt-a1i/archify/blob/main/examples/web-app.html), avoiding any npm installation requirements for the visualization layer.

```html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Archify Viewer</title>
  <!-- React Flow is loaded from the CDN -->
  <script src="https://cdn.jsdelivr.net/npm/reactflow@11/umd/reactflow.min.js"></script>
</head>
<body>
  <div id="archify-root"></div>
  <script type="module">
    import { renderArchify } from './archify/dist/renderer.mjs';
    const diagramJson = {/* typed JSON IR generated by Archify */};
    renderArchify(document.getElementById('archify-root'), diagramJson);
  </script>
</body>
</html>

```

This architecture allows users to generate diagrams using the lightweight CLI, then optionally view them in a browser using React Flow's rich interaction capabilities—including zooming, panning, and node selection—without forcing React into the core runtime.

## Prototyping with LikeC4-React

Research documentation in `docs/research-visual-evolution-round-*` files reveals that Archify's development team has also investigated **LikeC4-React** components for future diagram rendering. However, these remain experimental prototypes mentioned only in research markdown files and are not hard runtime dependencies in the released skill. The production codebase sticks to standard React Flow for compatibility and stability.

## How the CLI Works Without Frameworks

The `archify/bin/archify.mjs` entry point demonstrates how the tool handles complex workflows using only native Node.js APIs:

```bash

# Generate a diagram from a description

node archify/bin/archify.mjs guide "Show an API request with Redis cache miss"

```

This command executes the full pipeline—parsing input, validating against JSON-Schema via AJV, and outputting the typed IR—without importing Express, Fastify, or any web framework. The validation step specifically uses AJV to ensure the generated IR conforms to Archify's strict schema definitions before passing to the renderer.

## Summary

- **Archify's core** is a zero-dependency Node.js skill using only standard library APIs.
- **AJV** serves as the sole development dependency for JSON-Schema validation of the typed IR, as declared in [`archify/package.json`](https://github.com/tt-a1i/archify/blob/main/archify/package.json).
- **React Flow** powers the optional browser viewer, loaded via CDN in [`examples/web-app.html`](https://github.com/tt-a1i/archify/blob/main/examples/web-app.html) to avoid npm overhead.
- **LikeC4-React** appears only in research prototypes and is not required for production use.
- The CLI workflow in `archify/bin/archify.mjs` handles generation, validation, and delivery without external web frameworks.

## Frequently Asked Questions

### Is Archify a React application?

No. Archify's core CLI tool is a pure Node.js script that does not use React or any UI framework. Only the optional browser viewer component uses React Flow for rendering diagrams, and this is loaded separately via CDN without affecting the core runtime.

### What is AJV used for in Archify?

AJV validates the typed Intermediate Representation (IR) against JSON-Schema definitions. This ensures that generated diagrams conform to Archify's structural requirements before being passed to the renderer or viewer. It is listed as a dev-dependency in [`archify/package.json`](https://github.com/tt-a1i/archify/blob/main/archify/package.json) and used during the validation phase of the CLI workflow.

### Can I use Archify without React Flow?

Yes. The CLI generates diagram descriptions and JSON IR without requiring React Flow. You can use the command-line output directly or process the JSON IR with custom visualization tools. React Flow is only necessary if you want to use Archify's built-in interactive browser viewer demonstrated in [`examples/web-app.html`](https://github.com/tt-a1i/archify/blob/main/examples/web-app.html).

### Does Archify use any server-side frameworks like Express?

No. The delivery pipeline and CLI commands in `archify/bin/archify.mjs` implement HTTP serving and file handling using Node.js built-in modules (`http`, `fs`, `path`) rather than Express, Fastify, or similar frameworks. This keeps the installation footprint minimal and startup times fast.