# bobbyiliev/101-linux-commands architecture

> Architecture diagram of the GitHub repository bobbyiliev/101-linux-commands, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/bobbyiliev/101-linux-commands
- Repository: https://github.com/bobbyiliev/101-linux-commands

## Overview

This repository is an open-source Linux-command reference eBook, accompanied by a CLI for browsing command summaries and details. Readers access the online book or download its published formats; CLI users invoke the entry point to list, search, or inspect commands. The content tree and README establish the book’s subject areas and available formats. The sampled CLI code shows command registration and JSON-backed search/show behavior; the build command is currently a placeholder, so no generation flow is attributed to it.

Main entry points: [`cli/cli.py`](https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/cli.py) (CLI entry point), [`cli/states/global_state.py`](https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/states/global_state.py) (Verbose state), [`ebook/en/export`](https://github.com/bobbyiliev/101-linux-commands/tree/main/ebook/en/export) (PDF EPUB HTML), [`cli/commands/search.py`](https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/commands/search.py) (Search commands)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_book["Book content"]
  node_chapters["Command chapters"]
  node_assets["Book themes"]
  node_book_config["Book configuration<br/>[ibis.php]"]
end

subgraph group_reading["Reader access"]
  node_online_book["Online book<br/>[index.html]"]
  node_exports["PDF EPUB HTML"]
end

subgraph group_cli["Command CLI"]
  node_cli_entry["CLI entry point<br/>[cli.py]"]
  node_list_cmd["List commands<br/>[list.py]"]
  node_search_cmd["Search commands<br/>[search.py]"]
  node_show_cmd["Show command<br/>[show.py]"]
  node_hello_cmd["Greeting command<br/>[hello.py]"]
  node_version_cmd["Version command<br/>[version.py]"]
  node_build_cmd["Build command<br/>[build.py]"]
end

subgraph group_shared["Command reference data"]
  node_command_data["Command index<br/>[commands.json]"]
  node_global_state["Verbose state<br/>[global_state.py]"]
end

node_reader(("Reader"))
node_cli_user(("CLI user"))

node_reader -->|"reads online"| node_online_book
node_reader -->|"downloads"| node_exports
node_chapters -->|"book content"| node_online_book
node_chapters -->|"published as"| node_exports
node_book_config -->|"configures output"| node_exports
node_assets -->|"styles pages"| node_online_book
node_assets -->|"themes output"| node_exports
node_cli_user -->|"runs commands"| node_cli_entry
node_cli_entry -->|"dispatches"| node_list_cmd
node_cli_entry -->|"dispatches"| node_search_cmd
node_cli_entry -->|"dispatches"| node_show_cmd
node_cli_entry -->|"dispatches"| node_hello_cmd
node_cli_entry -->|"dispatches"| node_version_cmd
node_cli_entry -->|"dispatches"| node_build_cmd
node_search_cmd -->|"reads"| node_command_data
node_show_cmd -->|"reads"| node_command_data
node_search_cmd -->|"checks verbosity"| node_global_state
node_show_cmd -->|"checks verbosity"| node_global_state
node_list_cmd -->|"checks verbosity"| node_global_state
node_hello_cmd -->|"checks verbosity"| node_global_state
node_version_cmd -->|"checks verbosity"| node_global_state
node_build_cmd -->|"checks verbosity"| node_global_state

click node_chapters "https://github.com/bobbyiliev/101-linux-commands/tree/main/ebook/en/content"
click node_assets "https://github.com/bobbyiliev/101-linux-commands/tree/main/ebook/en/assets"
click node_book_config "https://github.com/bobbyiliev/101-linux-commands/blob/main/ebook/en/ibis.php"
click node_online_book "https://github.com/bobbyiliev/101-linux-commands/blob/main/index.html"
click node_exports "https://github.com/bobbyiliev/101-linux-commands/tree/main/ebook/en/export"
click node_cli_entry "https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/cli.py"
click node_list_cmd "https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/commands/list.py"
click node_search_cmd "https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/commands/search.py"
click node_show_cmd "https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/commands/show.py"
click node_hello_cmd "https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/commands/hello.py"
click node_version_cmd "https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/commands/version.py"
click node_build_cmd "https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/commands/build.py"
click node_command_data "https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/data/commands.json"
click node_global_state "https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/states/global_state.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_chapters,node_assets,node_book_config,node_cli_user toneBlue
class node_online_book,node_exports toneAmber
class node_cli_entry,node_list_cmd,node_search_cmd,node_show_cmd,node_hello_cmd,node_version_cmd,node_build_cmd toneMint
class node_command_data,node_global_state toneRose
class node_reader toneIndigo
```

## Components

### Book content

- [Command chapters](https://github.com/bobbyiliev/101-linux-commands/tree/main/ebook/en/content): `ebook/en/content`
- [Book themes](https://github.com/bobbyiliev/101-linux-commands/tree/main/ebook/en/assets): `ebook/en/assets`
- [Book configuration](https://github.com/bobbyiliev/101-linux-commands/blob/main/ebook/en/ibis.php): `ebook/en/ibis.php`

### Reader access

- [Online book](https://github.com/bobbyiliev/101-linux-commands/blob/main/index.html): `index.html`
- [PDF EPUB HTML](https://github.com/bobbyiliev/101-linux-commands/tree/main/ebook/en/export): `ebook/en/export`

### Command CLI

- [CLI entry point](https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/cli.py): `cli/cli.py`
- [List commands](https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/commands/list.py): `cli/commands/list.py`
- [Search commands](https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/commands/search.py): `cli/commands/search.py`
- [Show command](https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/commands/show.py): `cli/commands/show.py`
- [Greeting command](https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/commands/hello.py): `cli/commands/hello.py`
- [Version command](https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/commands/version.py): `cli/commands/version.py`
- [Build command](https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/commands/build.py): `cli/commands/build.py`

### Command reference data

- [Command index](https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/data/commands.json): `cli/data/commands.json`
- [Verbose state](https://github.com/bobbyiliev/101-linux-commands/blob/main/cli/states/global_state.py): `cli/states/global_state.py`

### Other components

- **Reader**
- **CLI user**

## Connections

- Reader → Online book: reads online
- Reader → PDF EPUB HTML: downloads
- Command chapters → Online book: book content
- Command chapters → PDF EPUB HTML: published as
- Book configuration → PDF EPUB HTML: configures output
- Book themes → Online book: styles pages
- Book themes → PDF EPUB HTML: themes output
- CLI user → CLI entry point: runs commands
- CLI entry point → List commands: dispatches
- CLI entry point → Search commands: dispatches
- CLI entry point → Show command: dispatches
- CLI entry point → Greeting command: dispatches
- CLI entry point → Version command: dispatches
- CLI entry point → Build command: dispatches
- Search commands → Command index: reads
- Show command → Command index: reads
- Search commands → Verbose state: checks verbosity
- Show command → Verbose state: checks verbosity
- List commands → Verbose state: checks verbosity
- Greeting command → Verbose state: checks verbosity
- Version command → Verbose state: checks verbosity
- Build command → Verbose state: checks verbosity
