# jeremygamer13/slopwaster architecture

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

- Interactive diagram: https://gitdiagram.com/jeremygamer13/slopwaster
- Repository: https://github.com/jeremygamer13/slopwaster

## Overview

SlopWaster is a Node.js library with a CLI for locally orchestrating minigame generation through Ollama. The intended flow is a prompt and optional chat history into a central agent, then a response associated with a playable output path. In the sampled implementation, `generate` initializes workspace folders and chats with Ollama; it does not show code or asset generation, and `iterate` is unimplemented. README and prompt constants describe broader text/code, imagery, and audio ambitions, but those stages are not evidenced as runtime components.

Main entry points: [`src/generator.js`](https://github.com/jeremygamer13/slopwaster/blob/main/src/generator.js) (Game generator), [`src/cli.js`](https://github.com/jeremygamer13/slopwaster/blob/main/src/cli.js) (CLI), [`src/index.js`](https://github.com/jeremygamer13/slopwaster/blob/main/src/index.js) (Library API), [`index.js`](https://github.com/jeremygamer13/slopwaster/blob/main/index.js) (Node launcher)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Entry points"]
  node_cli["CLI<br/>[cli.js]"]
  node_library["Library API<br/>[index.js]"]
  node_launcher["Node launcher<br/>[index.js]"]
end

subgraph group_generation["Generation"]
  node_generator["Game generator<br/>[generator.js]"]
  node_workspace["Output workspace<br/>[generator.js]"]
  node_ollama["Ollama service"]
end

subgraph group_configuration["Prompts and models"]
  node_prompt_config["Prompt configuration<br/>[enums.js]"]
end

node_user(("User"))

node_user -->|"invokes"| node_launcher
node_launcher -->|"loads library"| node_library
node_launcher -->|"runs CLI"| node_cli
node_cli -->|"imports API"| node_library
node_library -->|"exports"| node_generator
node_library -->|"exports"| node_prompt_config
node_cli -->|"invokes generation"| node_generator
node_cli -->|"sets options"| node_generator
node_generator -->|"loads prompts"| node_prompt_config
node_generator -->|"sends chat prompt"| node_ollama
node_generator -->|"creates folders"| node_workspace
node_generator -->|"returns response"| node_user

click node_cli "https://github.com/jeremygamer13/slopwaster/blob/main/src/cli.js"
click node_library "https://github.com/jeremygamer13/slopwaster/blob/main/src/index.js"
click node_launcher "https://github.com/jeremygamer13/slopwaster/blob/main/index.js"
click node_generator "https://github.com/jeremygamer13/slopwaster/blob/main/src/generator.js"
click node_workspace "https://github.com/jeremygamer13/slopwaster/blob/main/src/generator.js"
click node_prompt_config "https://github.com/jeremygamer13/slopwaster/blob/main/src/enums.js"

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_cli,node_library,node_launcher,node_user toneBlue
class node_generator,node_workspace,node_ollama toneAmber
class node_prompt_config toneMint
```

## Components

### Entry points

- [CLI](https://github.com/jeremygamer13/slopwaster/blob/main/src/cli.js): `src/cli.js`
- [Library API](https://github.com/jeremygamer13/slopwaster/blob/main/src/index.js): `src/index.js`
- [Node launcher](https://github.com/jeremygamer13/slopwaster/blob/main/index.js): `index.js`

### Generation

- [Game generator](https://github.com/jeremygamer13/slopwaster/blob/main/src/generator.js): `src/generator.js`
- [Output workspace](https://github.com/jeremygamer13/slopwaster/blob/main/src/generator.js): `src/generator.js`
- **Ollama service**

### Prompts and models

- [Prompt configuration](https://github.com/jeremygamer13/slopwaster/blob/main/src/enums.js): `src/enums.js`

### Other components

- **User**

## Connections

- User → Node launcher: invokes (evidence: `README.md`)
- Node launcher → Library API: loads library (evidence: `index.js`)
- Node launcher → CLI: runs CLI (evidence: `index.js`)
- CLI → Library API: imports API (evidence: `src/cli.js`)
- Library API → Game generator: exports (evidence: `src/index.js`)
- Library API → Prompt configuration: exports (evidence: `src/index.js`)
- CLI → Game generator: invokes generation (evidence: `src/cli.js`)
- CLI → Game generator: sets options (evidence: `src/cli.js`)
- Game generator → Prompt configuration: loads prompts (evidence: `src/generator.js`)
- Game generator → Ollama service: sends chat prompt (evidence: `src/generator.js`)
- Game generator → Output workspace: creates folders (evidence: `src/generator.js`)
- Game generator → User: returns response (evidence: `src/generator.js`)
