Archflow
Features

Systems

Model software systems, containers, and components

Systems are the building blocks of your architecture in Archflow. They represent the software components, services, and actors in your architecture.

System Types

Archflow follows the C4 model's element types:

TypeDescriptionExample
PersonA user or actor that interacts with your systemCustomer, Admin, External Developer
Software SystemA top-level software systemE-commerce Platform, Payment Gateway
ContainerA deployable unit within a systemWeb App, REST API, PostgreSQL Database
ComponentA logical grouping within a containerAuth Module, Order Processor

Systems Page

Navigate to Systems in the project sidebar to manage all your architectural elements. The page shows summary statistics at the top:

StatDescription
Total SystemsCount of all elements in the project
ApplicationsCount of Software System type elements
ContainersCount of Container type elements
ComponentsCount of Component type elements

View Modes

The systems page offers three ways to browse your elements:

  • Tree view --- Hierarchical tree with drag-and-drop to rearrange the system hierarchy. Each node shows the system name, type, completion percentage, and connection count.
  • Card view --- Grid of system cards for quick scanning
  • Table view --- Tabular layout with sortable columns

Action Buttons

  • Document All Elements --- Batch-generate documentation for all systems using AI
  • Import Project --- Import an external .archflow.gz archive as a subsystem
  • Add Element --- Create a new system with name, type, description, and technology

System Properties

Each system has the following properties:

  • Name --- A clear, descriptive identifier
  • Type --- One of the C4 element types above
  • Description --- What the system does or is responsible for
  • Technology --- The tech stack or platform (e.g., "React", "Node.js", "PostgreSQL")
  • Parent --- Optional parent system for hierarchical nesting

System Detail Page

Click any system to open its detail page at /systems/[systemId]. The detail page shows:

  • System name, type, and description
  • Technology and parent system
  • Connections involving this system
  • Documentation sections
  • Arc42 profile (if configured)

System Hierarchy

Systems can be nested to reflect your architecture's structure:

E-commerce Platform (Software System)
├── Web Application (Container) - React, Next.js
├── API Server (Container) - Node.js, Express
├── Database (Container) - PostgreSQL
└── Message Queue (Container) - RabbitMQ
    ├── Order Processor (Component)
    └── Notification Service (Component)

In Tree view, you can drag and drop systems to change their position in the hierarchy. Each system shows a badge with its child count when it has nested elements.

Semantic Paths

Each system gets a human-readable URL path based on its name and position in the hierarchy. For example, a "Payment Service" container inside "E-commerce Platform" might have the path /e-commerce-platform/payment-service.

Managing Systems

Creating Systems

Add systems from the project Systems page by clicking Add Element, or create them directly on the diagram canvas. When creating from the canvas, the system is automatically placed at your cursor position.

Editing Systems

Click any system to open its detail page. You can modify all properties, change the parent system, or delete it. On the systems list, each row has an Open menu button with quick actions.

Reparenting Systems

Move a system to a different parent in the hierarchy:

  1. Open the system's detail page or use the Open menu on the systems list
  2. Select Reparent (or change the parent field)
  3. Preview the impact of the move before confirming
  4. All child systems move with the parent, preserving the subtree structure

Arc42 Profiles

Each system can have an associated Arc42 architecture profile that documents its business context, quality requirements, and architectural decisions. See Arc42 Profiles for details.

On this page