Skip to content
View flowconsole's full-sized avatar

Block or report flowconsole

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
flowconsole/README.md

FlowConsole

Architecture as Code with drift detection in CI


discord chat License SDK License npm cli

Docs · Playground

What is FLOWCONSOLE?

FLOWCONSOLE is a CLI and SDK for Architecture as Code: author your architectural model in real programming languages, scan source code into a structured snapshot, validate it against rules, and run those checks locally or in CI/CD. The model is plain JSON conforming to a public schema, so anything that reads JSON can produce or consume it.

This repository ships the open-source CLI, SDK, scanners, rule engine, and JSON schemas. It is designed to run on a developer machine or inside a CI pipeline — no server required.

Key Features

  • Multi-language SDK — author models in TypeScript natively, or in C#, Java, or Python via jsii-generated bindings
  • Source code scanners — extract architectural snapshots from C# projects and Helm charts(other sources are comming)
  • Fitness functions — Rule engine for architectural constraints
  • CI/CD validationfcon validate enforces schema and rules; ships as a self-contained binary for linux/macOS/windows × x64/arm64
  • Local viewerfcon view opens a local web diagram of any snapshot; re-reads on F5 after fcon scan (details)
  • Public JSON schemasmodel-snapshot/v1 and rules/v1alpha1 with conformance fixtures, so any tool can integrate

How FLOWCONSOLE Compares

Capability FLOWCONSOLE Structurizr LikeC4 Mermaid / PlantUML
Model in real languages (TS, C#, Java, Python) SDK (jsii) DSL only DSL only Markup only
Source code scanner (extract model from code) C# + Helm No No No
Snapshot diff between model versions Yes No No No
Fitness functions / rule engine Yes No No No
CI/CD validation via CLI Yes Partial Partial No
Generated diagrams Yes Yes Yes Yes
Open source license AGPL-3.0 (SDK: MIT) or commercial Freemium MIT MIT / GPL

Quick Start

Install the CLI via npm:

npm install -g @flowconsole/cli
fcon --version

See engine/README.md for build-from-source instructions.

Supported Languages

Language Model Definition SDK package
TypeScript Yes @flowconsole/sdk (npm)
C# Yes FlowConsole.Sdk (NuGet, jsii)
Java Yes io.github.flowconsole:flowconsole-sdk (Maven, jsii)
Python Yes flowconsole-sdk (PyPI, jsii)
Go Roadmap
YAML WIP

Architecture Overview

┌──────────────────────────────────────────────────┐
│                  FLOWCONSOLE OSS                 │
├───────────────────┬──────────────────────────────┤
│   fcon CLI (.NET)   │   SDK (jsii)                 │
│   scan / validate │   TS, C#, Java, Python       │
│   diff / fmt      │                              │
│   view / push     │   author the model in code   │
│   rules           │                              │
├───────────────────┼──────────────────────────────┤
│   Scanners        │   Rule engine                │
│   C# + Helm       │   fitness functions  │
│   Tree-sitter     │                              │
├───────────────────┴──────────────────────────────┤
│   model-snapshot/v1  +  rules/v1alpha1 schemas   │
└──────────────────────────────────────────────────┘

Packages

Package Description
@flowconsole/cli npm wrapper that installs the fcon binary (scanners + rule engine + validation)
@flowconsole/sdk SDK for authoring architectural models (jsii: TS / C# / Java / Python)
@flowconsole/web React components for rendering architecture diagrams
@flowconsole/ui Shared UI primitives (private)

Project Structure

flowconsole/
├── apps/
│   └── docs/         # Documentation site (Next.js)
├── packages/
│   ├── web/          # Web UI components
│   ├── viewer/       # Local snapshot viewer SPA (embedded in CLI)
│   ├── sdk/          # Multi-language SDK
│   ├── cli/          # CLI npm wrapper
│   ├── core/         # TS parsers (csharp/go/java/python/ts)
│   └── ui/           # Shared UI components
├── engine/           # CLI & Rule engine
└── contracts/        # JSON schemas (model-snapshot, rules)

Links

Commercial / Hosted Offering

The repository is dual-licensed: AGPL-3.0-or-later OR a commercial license, with packages/sdk separately under MIT. AGPL is suitable for users who can comply with its source-disclosure terms (including network-use disclosure). Organizations that cannot accept AGPL — for example, when embedding FlowConsole into a proprietary product, or for internal enterprise use where AGPL is incompatible with company policy — can purchase a commercial license.

The commercial license does not grant the right to offer FlowConsole as a managed/hosted service to third parties. That right is reserved by the FlowConsole project. If you want to run a hosted service based on FlowConsole, contact us — such arrangements are negotiated separately.

In addition, the FLOWCONSOLE project provides commercial offerings, such as:

  • managed SaaS deployment,
  • enterprise features,
  • proprietary plugins/extensions,
  • commercial support and services.

These hosted/enterprise offerings are not part of this open-source repository and are provided under separate commercial terms.

For dual-license inquiries see COMMERCIAL-LICENSE.md. Use of the FLOWCONSOLE hosted service is governed by its own Terms of Service and does not change the licensing of the open-source core.


Trademarks

The FLOWCONSOLE name, logo, and branding are trademarks of the project maintainers and may not be used without permission.

This does not affect your rights to use, modify, or distribute the open-source software itself.

Disclaimer

This software is provided "as is", without warranty of any kind, express or implied. See the LICENSE file for details.

Popular repositories Loading

  1. flowconsole flowconsole Public

    Architecture as Code: CLI, multi-language SDK (TS/C#/Java/Python/Go), source scanners and rule engine. Scan, validate, and diff your architecture in CI/CD.

    C#

  2. d8pm63kqwd d8pm63kqwd Public

  3. go-flowconsole go-flowconsole Public