# sombriks/my-zig-handbook architecture

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

- Interactive diagram: https://gitdiagram.com/sombriks/my-zig-handbook
- Repository: https://github.com/sombriks/my-zig-handbook

## Overview

This repository is a hands-on Zig study handbook: readers progress through numbered sample programs illustrating language features and practical uses. The README documents the topic sequence and some examples, but no source excerpts were provided, so links between stages are presented as learning progression rather than runtime calls. The database, C interoperability, threading, and networking branches are documented capabilities; their internal wiring is not established.

Main entry points: [`samples/01`](https://github.com/sombriks/my-zig-handbook/tree/main/samples/01) (Hello world), [`samples/02`](https://github.com/sombriks/my-zig-handbook/tree/main/samples/02) (Basic types), [`samples/03`](https://github.com/sombriks/my-zig-handbook/tree/main/samples/03) (Control flow), [`samples/04`](https://github.com/sombriks/my-zig-handbook/tree/main/samples/04) (Arrays and structs)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_language["Language basics"]
  node_hello["Hello world"]
  node_types["Basic types"]
  node_control["Control flow"]
end

subgraph group_programming["Programming techniques"]
  node_arrays["Arrays and structs"]
  node_memory["Pointers and memory"]
  node_modules["Modules and functions"]
  node_input["Basic input"]
  node_output["File output"]
  node_errors["Error handling"]
  node_tests["Testing"]
  node_generics["Generic types"]
end

subgraph group_applications["Practical applications"]
  node_project["Project setup"]
  node_threads["Threads"]
  node_networking["Networking"]
  node_collections["List and map"]
  node_ccompile["Zig as C compiler"]
  node_databases["Databases"]
end

node_reader(("Learner"))

node_reader -->|"studies first"| node_hello
node_hello -->|"continues to"| node_types
node_types -->|"continues to"| node_control
node_control -->|"continues to"| node_arrays
node_arrays -->|"continues to"| node_memory
node_memory -->|"continues to"| node_modules
node_modules -->|"continues to"| node_input
node_input -->|"continues to"| node_output
node_output -->|"continues to"| node_errors
node_errors -->|"continues to"| node_tests
node_tests -->|"continues to"| node_generics
node_generics -->|"continues to"| node_project
node_project -->|"continues to"| node_threads
node_threads -->|"continues to"| node_networking
node_networking -->|"continues to"| node_collections
node_collections -->|"continues to"| node_ccompile
node_ccompile -->|"continues to"| node_databases

click node_hello "https://github.com/sombriks/my-zig-handbook/tree/main/samples/01"
click node_types "https://github.com/sombriks/my-zig-handbook/tree/main/samples/02"
click node_control "https://github.com/sombriks/my-zig-handbook/tree/main/samples/03"
click node_arrays "https://github.com/sombriks/my-zig-handbook/tree/main/samples/04"
click node_memory "https://github.com/sombriks/my-zig-handbook/tree/main/samples/05"
click node_modules "https://github.com/sombriks/my-zig-handbook/tree/main/samples/06"
click node_input "https://github.com/sombriks/my-zig-handbook/tree/main/samples/07"
click node_output "https://github.com/sombriks/my-zig-handbook/tree/main/samples/08"
click node_errors "https://github.com/sombriks/my-zig-handbook/tree/main/samples/09"
click node_tests "https://github.com/sombriks/my-zig-handbook/tree/main/samples/10"
click node_generics "https://github.com/sombriks/my-zig-handbook/tree/main/samples/11"
click node_project "https://github.com/sombriks/my-zig-handbook/tree/main/samples/12"
click node_threads "https://github.com/sombriks/my-zig-handbook/tree/main/samples/13"
click node_networking "https://github.com/sombriks/my-zig-handbook/tree/main/samples/14"
click node_collections "https://github.com/sombriks/my-zig-handbook/tree/main/samples/15"
click node_ccompile "https://github.com/sombriks/my-zig-handbook/tree/main/samples/16"
click node_databases "https://github.com/sombriks/my-zig-handbook/tree/main/samples/17"

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_hello,node_types,node_control toneBlue
class node_arrays,node_memory,node_modules,node_input,node_output,node_errors,node_tests,node_generics toneAmber
class node_project,node_threads,node_networking,node_collections,node_ccompile,node_databases toneMint
class node_reader toneIndigo
```

## Components

### Language basics

- [Hello world](https://github.com/sombriks/my-zig-handbook/tree/main/samples/01): `samples/01`
- [Basic types](https://github.com/sombriks/my-zig-handbook/tree/main/samples/02): `samples/02`
- [Control flow](https://github.com/sombriks/my-zig-handbook/tree/main/samples/03): `samples/03`

### Programming techniques

- [Arrays and structs](https://github.com/sombriks/my-zig-handbook/tree/main/samples/04): `samples/04`
- [Pointers and memory](https://github.com/sombriks/my-zig-handbook/tree/main/samples/05): `samples/05`
- [Modules and functions](https://github.com/sombriks/my-zig-handbook/tree/main/samples/06): `samples/06`
- [Basic input](https://github.com/sombriks/my-zig-handbook/tree/main/samples/07): `samples/07`
- [File output](https://github.com/sombriks/my-zig-handbook/tree/main/samples/08): `samples/08`
- [Error handling](https://github.com/sombriks/my-zig-handbook/tree/main/samples/09): `samples/09`
- [Testing](https://github.com/sombriks/my-zig-handbook/tree/main/samples/10): `samples/10`
- [Generic types](https://github.com/sombriks/my-zig-handbook/tree/main/samples/11): `samples/11`

### Practical applications

- [Project setup](https://github.com/sombriks/my-zig-handbook/tree/main/samples/12): `samples/12`
- [Threads](https://github.com/sombriks/my-zig-handbook/tree/main/samples/13): `samples/13`
- [Networking](https://github.com/sombriks/my-zig-handbook/tree/main/samples/14): `samples/14`
- [List and map](https://github.com/sombriks/my-zig-handbook/tree/main/samples/15): `samples/15`
- [Zig as C compiler](https://github.com/sombriks/my-zig-handbook/tree/main/samples/16): `samples/16`
- [Databases](https://github.com/sombriks/my-zig-handbook/tree/main/samples/17): `samples/17`

### Other components

- **Learner**

## Connections

- Learner → Hello world: studies first
- Hello world → Basic types: continues to
- Basic types → Control flow: continues to
- Control flow → Arrays and structs: continues to
- Arrays and structs → Pointers and memory: continues to
- Pointers and memory → Modules and functions: continues to
- Modules and functions → Basic input: continues to
- Basic input → File output: continues to
- File output → Error handling: continues to
- Error handling → Testing: continues to
- Testing → Generic types: continues to
- Generic types → Project setup: continues to
- Project setup → Threads: continues to
- Threads → Networking: continues to
- Networking → List and map: continues to
- List and map → Zig as C compiler: continues to
- Zig as C compiler → Databases: continues to
