# helpers4/rust architecture

> Architecture diagram of the GitHub repository helpers4/rust, 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/helpers4/rust
- Repository: https://github.com/helpers4/rust

## Overview

helpers4 is a dependency-free Rust utility crate, organized as feature-gated modules that consumers call directly. Its principal workflow is selecting a helper module, supplying explicit inputs, and receiving a transformed value or typed error; it is not a standalone service or sequential processing pipeline. The graph groups documented capabilities by domain and shows the crate root as the public module-export layer. The README documents `secret`, but that module is absent from the provided tree, so its source path and wiring cannot be established.

Main entry points: [`src/lib.rs`](https://github.com/helpers4/rust/blob/main/src/lib.rs) (Crate API), [`src/ansi/mod.rs`](https://github.com/helpers4/rust/blob/main/src/ansi/mod.rs) (ANSI formatting), [`src/string/mod.rs`](https://github.com/helpers4/rust/blob/main/src/string/mod.rs) (String helpers), [`src/markdown/mod.rs`](https://github.com/helpers4/rust/blob/main/src/markdown/mod.rs) (Markdown helpers)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_text_web["Text and web"]
  node_ansi["ANSI formatting<br/>[mod.rs]"]
  node_string["String helpers<br/>[mod.rs]"]
  node_markdown["Markdown helpers<br/>[mod.rs]"]
  node_url["URL parsing<br/>[mod.rs]"]
  node_validate["Shape validation<br/>[mod.rs]"]
end

subgraph group_collections["Collections"]
  node_array["Array helpers<br/>[mod.rs]"]
  node_map["Map helpers<br/>[mod.rs]"]
  node_set["Set helpers<br/>[mod.rs]"]
  node_iter["Iterator helpers<br/>[mod.rs]"]
end

subgraph group_parsing_domain["Parsing and domain"]
  node_commit["Commit parsing<br/>[mod.rs]"]
  node_version["Version handling<br/>[mod.rs]"]
  node_license["SPDX licenses<br/>[mod.rs]"]
  node_date["Calendar dates<br/>[mod.rs]"]
  node_duration["Duration parsing<br/>[mod.rs]"]
  node_time["Unix time<br/>[mod.rs]"]
end

subgraph group_system["System utilities"]
  node_bytes["Byte operations<br/>[mod.rs]"]
  node_hex["Hex encoding<br/>[mod.rs]"]
  node_fs["Filesystem helpers<br/>[mod.rs]"]
  node_env["Environment files<br/>[mod.rs]"]
  node_cache["Expiring cache<br/>[mod.rs]"]
  node_net["Network checks<br/>[mod.rs]"]
  node_http["HTTP tokens<br/>[mod.rs]"]
  node_ci["CI reporting<br/>[mod.rs]"]
end

subgraph group_computation["Computation and async"]
  node_color["Color utilities<br/>[mod.rs]"]
  node_number["Number helpers<br/>[mod.rs]"]
  node_function["Function helpers<br/>[mod.rs]"]
  node_future["Future helpers<br/>[mod.rs]"]
  node_secret["Secret handling"]
end

node_consumer(("Rust consumer"))
node_crate_root["Crate API<br/>[lib.rs]"]

node_consumer -->|"calls API"| node_crate_root
node_crate_root -->|"exports"| node_ansi
node_crate_root -->|"exports"| node_string
node_crate_root -->|"exports"| node_markdown
node_crate_root -->|"exports"| node_url
node_crate_root -->|"exports"| node_validate
node_crate_root -->|"exports"| node_array
node_crate_root -->|"exports"| node_map
node_crate_root -->|"exports"| node_set
node_crate_root -->|"exports"| node_iter
node_crate_root -->|"exports"| node_commit
node_crate_root -->|"exports"| node_version
node_crate_root -->|"exports"| node_license
node_crate_root -->|"exports"| node_date
node_crate_root -->|"exports"| node_duration
node_crate_root -->|"exports"| node_time
node_crate_root -->|"exports"| node_bytes
node_crate_root -->|"exports"| node_hex
node_crate_root -->|"exports"| node_fs
node_crate_root -->|"exports"| node_env
node_crate_root -->|"exports"| node_cache
node_crate_root -->|"exports"| node_net
node_crate_root -->|"exports"| node_http
node_crate_root -->|"exports"| node_ci
node_crate_root -->|"exports"| node_color
node_crate_root -->|"exports"| node_number
node_crate_root -->|"exports"| node_function
node_crate_root -->|"exports"| node_future

click node_crate_root "https://github.com/helpers4/rust/blob/main/src/lib.rs"
click node_ansi "https://github.com/helpers4/rust/blob/main/src/ansi/mod.rs"
click node_string "https://github.com/helpers4/rust/blob/main/src/string/mod.rs"
click node_markdown "https://github.com/helpers4/rust/blob/main/src/markdown/mod.rs"
click node_url "https://github.com/helpers4/rust/blob/main/src/url/mod.rs"
click node_validate "https://github.com/helpers4/rust/blob/main/src/validate/mod.rs"
click node_array "https://github.com/helpers4/rust/blob/main/src/array/mod.rs"
click node_map "https://github.com/helpers4/rust/blob/main/src/map/mod.rs"
click node_set "https://github.com/helpers4/rust/blob/main/src/set/mod.rs"
click node_iter "https://github.com/helpers4/rust/blob/main/src/iter/mod.rs"
click node_commit "https://github.com/helpers4/rust/blob/main/src/commit/mod.rs"
click node_version "https://github.com/helpers4/rust/blob/main/src/version/mod.rs"
click node_license "https://github.com/helpers4/rust/blob/main/src/license/mod.rs"
click node_date "https://github.com/helpers4/rust/blob/main/src/date/mod.rs"
click node_duration "https://github.com/helpers4/rust/blob/main/src/duration/mod.rs"
click node_time "https://github.com/helpers4/rust/blob/main/src/time/mod.rs"
click node_bytes "https://github.com/helpers4/rust/blob/main/src/bytes/mod.rs"
click node_hex "https://github.com/helpers4/rust/blob/main/src/hex/mod.rs"
click node_fs "https://github.com/helpers4/rust/blob/main/src/fs/mod.rs"
click node_env "https://github.com/helpers4/rust/blob/main/src/env/mod.rs"
click node_cache "https://github.com/helpers4/rust/blob/main/src/cache/mod.rs"
click node_net "https://github.com/helpers4/rust/blob/main/src/net/mod.rs"
click node_http "https://github.com/helpers4/rust/blob/main/src/http/mod.rs"
click node_ci "https://github.com/helpers4/rust/blob/main/src/ci/mod.rs"
click node_color "https://github.com/helpers4/rust/blob/main/src/color/mod.rs"
click node_number "https://github.com/helpers4/rust/blob/main/src/number/mod.rs"
click node_function "https://github.com/helpers4/rust/blob/main/src/function/mod.rs"
click node_future "https://github.com/helpers4/rust/blob/main/src/future/mod.rs"

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_ansi,node_string,node_markdown,node_url,node_validate toneBlue
class node_array,node_map,node_set,node_iter toneAmber
class node_commit,node_version,node_license,node_date,node_duration,node_time,node_crate_root toneMint
class node_bytes,node_hex,node_fs,node_env,node_cache,node_net,node_http,node_ci toneRose
class node_color,node_number,node_function,node_future,node_secret,node_consumer toneIndigo
```

## Components

### Text and web

- [ANSI formatting](https://github.com/helpers4/rust/blob/main/src/ansi/mod.rs): `src/ansi/mod.rs`
- [String helpers](https://github.com/helpers4/rust/blob/main/src/string/mod.rs): `src/string/mod.rs`
- [Markdown helpers](https://github.com/helpers4/rust/blob/main/src/markdown/mod.rs): `src/markdown/mod.rs`
- [URL parsing](https://github.com/helpers4/rust/blob/main/src/url/mod.rs): `src/url/mod.rs`
- [Shape validation](https://github.com/helpers4/rust/blob/main/src/validate/mod.rs): `src/validate/mod.rs`

### Collections

- [Array helpers](https://github.com/helpers4/rust/blob/main/src/array/mod.rs): `src/array/mod.rs`
- [Map helpers](https://github.com/helpers4/rust/blob/main/src/map/mod.rs): `src/map/mod.rs`
- [Set helpers](https://github.com/helpers4/rust/blob/main/src/set/mod.rs): `src/set/mod.rs`
- [Iterator helpers](https://github.com/helpers4/rust/blob/main/src/iter/mod.rs): `src/iter/mod.rs`

### Parsing and domain

- [Commit parsing](https://github.com/helpers4/rust/blob/main/src/commit/mod.rs): `src/commit/mod.rs`
- [Version handling](https://github.com/helpers4/rust/blob/main/src/version/mod.rs): `src/version/mod.rs`
- [SPDX licenses](https://github.com/helpers4/rust/blob/main/src/license/mod.rs): `src/license/mod.rs`
- [Calendar dates](https://github.com/helpers4/rust/blob/main/src/date/mod.rs): `src/date/mod.rs`
- [Duration parsing](https://github.com/helpers4/rust/blob/main/src/duration/mod.rs): `src/duration/mod.rs`
- [Unix time](https://github.com/helpers4/rust/blob/main/src/time/mod.rs): `src/time/mod.rs`

### System utilities

- [Byte operations](https://github.com/helpers4/rust/blob/main/src/bytes/mod.rs): `src/bytes/mod.rs`
- [Hex encoding](https://github.com/helpers4/rust/blob/main/src/hex/mod.rs): `src/hex/mod.rs`
- [Filesystem helpers](https://github.com/helpers4/rust/blob/main/src/fs/mod.rs): `src/fs/mod.rs`
- [Environment files](https://github.com/helpers4/rust/blob/main/src/env/mod.rs): `src/env/mod.rs`
- [Expiring cache](https://github.com/helpers4/rust/blob/main/src/cache/mod.rs): `src/cache/mod.rs`
- [Network checks](https://github.com/helpers4/rust/blob/main/src/net/mod.rs): `src/net/mod.rs`
- [HTTP tokens](https://github.com/helpers4/rust/blob/main/src/http/mod.rs): `src/http/mod.rs`
- [CI reporting](https://github.com/helpers4/rust/blob/main/src/ci/mod.rs): `src/ci/mod.rs`

### Computation and async

- [Color utilities](https://github.com/helpers4/rust/blob/main/src/color/mod.rs): `src/color/mod.rs`
- [Number helpers](https://github.com/helpers4/rust/blob/main/src/number/mod.rs): `src/number/mod.rs`
- [Function helpers](https://github.com/helpers4/rust/blob/main/src/function/mod.rs): `src/function/mod.rs`
- [Future helpers](https://github.com/helpers4/rust/blob/main/src/future/mod.rs): `src/future/mod.rs`
- **Secret handling**

### Other components

- **Rust consumer**
- [Crate API](https://github.com/helpers4/rust/blob/main/src/lib.rs): `src/lib.rs`

## Connections

- Rust consumer → Crate API: calls API
- Crate API → ANSI formatting: exports
- Crate API → String helpers: exports
- Crate API → Markdown helpers: exports
- Crate API → URL parsing: exports
- Crate API → Shape validation: exports
- Crate API → Array helpers: exports
- Crate API → Map helpers: exports
- Crate API → Set helpers: exports
- Crate API → Iterator helpers: exports
- Crate API → Commit parsing: exports
- Crate API → Version handling: exports
- Crate API → SPDX licenses: exports
- Crate API → Calendar dates: exports
- Crate API → Duration parsing: exports
- Crate API → Unix time: exports
- Crate API → Byte operations: exports
- Crate API → Hex encoding: exports
- Crate API → Filesystem helpers: exports
- Crate API → Environment files: exports
- Crate API → Expiring cache: exports
- Crate API → Network checks: exports
- Crate API → HTTP tokens: exports
- Crate API → CI reporting: exports
- Crate API → Color utilities: exports
- Crate API → Number helpers: exports
- Crate API → Function helpers: exports
- Crate API → Future helpers: exports
