# iyjaa/gpure architecture

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

- Interactive diagram: https://gitdiagram.com/iyjaa/gpure
- Repository: https://github.com/iyjaa/gpure

## Overview

Gpure is a small Rust workspace branded as a “General Purpose Rust Environment.” The sampled code provides standalone core utilities and shared type traits; API, bundler, CLI, and ORM crates contain only placeholder functions, while the log crate exposes a simple addition function. There is no documented end-to-end user workflow or evidence connecting these crates. The graph therefore shows only externally callable behavior and the sampled trait-to-configuration dependency; unsampled wiring is omitted.

Main entry points: [`crates/gpure-types/src/traits.rs`](https://github.com/iyjaa/gpure/blob/main/crates/gpure-types/src/traits.rs) (Bundler plugin trait), [`crates/gpure-core/src/collection.rs`](https://github.com/iyjaa/gpure/blob/main/crates/gpure-core/src/collection.rs) (Collection utilities), [`crates/gpure-core/src/fs.rs`](https://github.com/iyjaa/gpure/blob/main/crates/gpure-core/src/fs.rs) (Filesystem utilities), [`crates/gpure-core/src/math.rs`](https://github.com/iyjaa/gpure/blob/main/crates/gpure-core/src/math.rs) (Math utilities)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_caller(("Library caller"))
node_collection["Collection utilities<br/>[collection.rs]"]
node_filesystem["Filesystem utilities<br/>[fs.rs]"]
node_math["Math utilities<br/>[math.rs]"]
node_strings["String utilities<br/>[strings.rs]"]
node_api["API placeholder<br/>[lib.rs]"]
node_bundler["Bundler placeholder<br/>[lib.rs]"]
node_cli["CLI placeholder<br/>[lib.rs]"]
node_orm["ORM placeholder<br/>[lib.rs]"]
node_log["Log crate function<br/>[lib.rs]"]
node_repo_trait["Repository trait<br/>[traits.rs]"]
node_plugin_trait["Bundler plugin trait<br/>[traits.rs]"]
node_build_config["Build configuration<br/>[config.rs]"]

node_caller -->|"calls utilities"| node_collection
node_caller -->|"calls utilities"| node_filesystem
node_caller -->|"calls utilities"| node_math
node_caller -->|"calls utilities"| node_strings
node_caller -->|"calls placeholder"| node_api
node_caller -->|"calls placeholder"| node_bundler
node_caller -->|"calls placeholder"| node_cli
node_caller -->|"calls placeholder"| node_orm
node_caller -->|"calls function"| node_log
node_plugin_trait -->|"uses type"| node_build_config

click node_collection "https://github.com/iyjaa/gpure/blob/main/crates/gpure-core/src/collection.rs"
click node_filesystem "https://github.com/iyjaa/gpure/blob/main/crates/gpure-core/src/fs.rs"
click node_math "https://github.com/iyjaa/gpure/blob/main/crates/gpure-core/src/math.rs"
click node_strings "https://github.com/iyjaa/gpure/blob/main/crates/gpure-core/src/strings.rs"
click node_api "https://github.com/iyjaa/gpure/blob/main/crates/gpure-api/src/lib.rs"
click node_bundler "https://github.com/iyjaa/gpure/blob/main/crates/gpure-bundler/src/lib.rs"
click node_cli "https://github.com/iyjaa/gpure/blob/main/crates/gpure-cli/src/lib.rs"
click node_orm "https://github.com/iyjaa/gpure/blob/main/crates/gpure-orm/src/lib.rs"
click node_log "https://github.com/iyjaa/gpure/blob/main/crates/gpure-log/src/lib.rs"
click node_repo_trait "https://github.com/iyjaa/gpure/blob/main/crates/gpure-types/src/traits.rs"
click node_plugin_trait "https://github.com/iyjaa/gpure/blob/main/crates/gpure-types/src/traits.rs"
click node_build_config "https://github.com/iyjaa/gpure/blob/main/crates/gpure-types/src/config.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_caller toneIndigo
class node_collection,node_filesystem,node_math,node_strings,node_bundler,node_cli,node_orm,node_log,node_repo_trait,node_plugin_trait,node_build_config toneTeal
class node_api toneMint
```

## Components

### Other components

- **Library caller**
- [Collection utilities](https://github.com/iyjaa/gpure/blob/main/crates/gpure-core/src/collection.rs): `crates/gpure-core/src/collection.rs`
- [Filesystem utilities](https://github.com/iyjaa/gpure/blob/main/crates/gpure-core/src/fs.rs): `crates/gpure-core/src/fs.rs`
- [Math utilities](https://github.com/iyjaa/gpure/blob/main/crates/gpure-core/src/math.rs): `crates/gpure-core/src/math.rs`
- [String utilities](https://github.com/iyjaa/gpure/blob/main/crates/gpure-core/src/strings.rs): `crates/gpure-core/src/strings.rs`
- [API placeholder](https://github.com/iyjaa/gpure/blob/main/crates/gpure-api/src/lib.rs): `crates/gpure-api/src/lib.rs`
- [Bundler placeholder](https://github.com/iyjaa/gpure/blob/main/crates/gpure-bundler/src/lib.rs): `crates/gpure-bundler/src/lib.rs`
- [CLI placeholder](https://github.com/iyjaa/gpure/blob/main/crates/gpure-cli/src/lib.rs): `crates/gpure-cli/src/lib.rs`
- [ORM placeholder](https://github.com/iyjaa/gpure/blob/main/crates/gpure-orm/src/lib.rs): `crates/gpure-orm/src/lib.rs`
- [Log crate function](https://github.com/iyjaa/gpure/blob/main/crates/gpure-log/src/lib.rs): `crates/gpure-log/src/lib.rs`
- [Repository trait](https://github.com/iyjaa/gpure/blob/main/crates/gpure-types/src/traits.rs): `crates/gpure-types/src/traits.rs`
- [Bundler plugin trait](https://github.com/iyjaa/gpure/blob/main/crates/gpure-types/src/traits.rs): `crates/gpure-types/src/traits.rs`
- [Build configuration](https://github.com/iyjaa/gpure/blob/main/crates/gpure-types/src/config.rs): `crates/gpure-types/src/config.rs`

## Connections

- Library caller → Collection utilities: calls utilities
- Library caller → Filesystem utilities: calls utilities
- Library caller → Math utilities: calls utilities
- Library caller → String utilities: calls utilities
- Library caller → API placeholder: calls placeholder
- Library caller → Bundler placeholder: calls placeholder
- Library caller → CLI placeholder: calls placeholder
- Library caller → ORM placeholder: calls placeholder
- Library caller → Log crate function: calls function
- Bundler plugin trait → Build configuration: uses type
