# flojoch/robotframework-copiertemplates architecture

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

- Interactive diagram: https://gitdiagram.com/flojoch/robotframework-copiertemplates
- Repository: https://github.com/flojoch/robotframework-copiertemplates

## Overview

This repository is a Copier template, not a Robot Framework runtime library. Its main workflow is that a user runs Copier, answers the project-selection dialog, and gets a configured Robot Framework project with example tests and an installed environment. The template includes shared keyword resources and optional web, API, and extended testing capabilities. Relationships are based on the README; source excerpts do not expose the template’s rendering or resource wiring.

Main entry points: [`template`](https://github.com/flojoch/robotframework-copiertemplates/tree/master/template) (Generated project), [`copier.yml`](https://github.com/flojoch/robotframework-copiertemplates/blob/master/copier.yml) (Project options), [`template/pyproject.toml.jinja`](https://github.com/flojoch/robotframework-copiertemplates/blob/master/template/pyproject.toml.jinja) (Project metadata), [`template/README.md.jinja`](https://github.com/flojoch/robotframework-copiertemplates/blob/master/template/README.md.jinja) (Generated README)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_creation["Project creation"]
  node_copier["Copier CLI"]
  node_answers["Project options<br/>[copier.yml]"]
end

subgraph group_project["Generated project"]
  node_metadata["Project metadata"]
  node_project_readme["Generated README<br/>[README.md.jinja]"]
  node_robot_config["Robot configuration<br/>[robot.toml.jinja]"]
  node_generated["Generated project"]
end

subgraph group_resources["Keyword resources"]
  node_main_resource["Resource entry"]
  node_tasks["Tasks"]
  node_interactions["Interactions"]
  node_assertions["Assertions"]
  node_pages["Page objects"]
end

subgraph group_capabilities["Test capabilities"]
  node_examples["Example suites"]
  node_web["Web testing"]
  node_api["API testing"]
  node_extended["Extended testing"]
end

node_user(("Project author"))

node_user -->|"runs"| node_copier
node_copier -->|"asks options"| node_answers
node_copier -->|"creates project"| node_generated
node_generated -->|"renders files"| node_metadata
node_generated -->|"renders files"| node_project_readme
node_generated -->|"renders files"| node_robot_config
node_generated -->|"includes tests"| node_examples
node_generated -->|"selects libraries"| node_web
node_generated -->|"selects libraries"| node_api
node_generated -->|"selects libraries"| node_extended
node_generated -->|"includes resources"| node_main_resource
node_generated -->|"includes resources"| node_tasks
node_generated -->|"includes resources"| node_interactions
node_generated -->|"includes resources"| node_assertions
node_generated -->|"includes resources"| node_pages

click node_answers "https://github.com/flojoch/robotframework-copiertemplates/blob/master/copier.yml"
click node_metadata "https://github.com/flojoch/robotframework-copiertemplates/blob/master/template/pyproject.toml.jinja"
click node_project_readme "https://github.com/flojoch/robotframework-copiertemplates/blob/master/template/README.md.jinja"
click node_robot_config "https://github.com/flojoch/robotframework-copiertemplates/blob/master/template/robot.toml.jinja"
click node_main_resource "https://github.com/flojoch/robotframework-copiertemplates/blob/master/template/resources/main.resource.jinja"
click node_tasks "https://github.com/flojoch/robotframework-copiertemplates/tree/master/template/resources/tasks"
click node_interactions "https://github.com/flojoch/robotframework-copiertemplates/tree/master/template/resources/interactions"
click node_assertions "https://github.com/flojoch/robotframework-copiertemplates/tree/master/template/resources/assertions"
click node_pages "https://github.com/flojoch/robotframework-copiertemplates/tree/master/template/resources/pages"
click node_examples "https://github.com/flojoch/robotframework-copiertemplates/tree/master/template/tests"
click node_web "https://github.com/flojoch/robotframework-copiertemplates/blob/master/template/resources/abilities/%7B%25%20if%20use_browser%20%25%7Dbrowser_ability.resource%7B%25%20endif%20%25%7D.jinja"
click node_api "https://github.com/flojoch/robotframework-copiertemplates/blob/master/template/resources/abilities/%7B%25%20if%20include_api%20%25%7Dapi_ability.resource%7B%25%20endif%20%25%7D.jinja"
click node_extended "https://github.com/flojoch/robotframework-copiertemplates/tree/master/template/resources/abilities"
click node_generated "https://github.com/flojoch/robotframework-copiertemplates/tree/master/template"

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_copier,node_answers toneBlue
class node_metadata,node_project_readme,node_robot_config,node_generated toneAmber
class node_main_resource,node_tasks,node_interactions,node_assertions,node_pages toneMint
class node_examples,node_web,node_api,node_extended toneRose
class node_user toneIndigo
```

## Components

### Project creation

- **Copier CLI**
- [Project options](https://github.com/flojoch/robotframework-copiertemplates/blob/master/copier.yml): `copier.yml`

### Generated project

- [Project metadata](https://github.com/flojoch/robotframework-copiertemplates/blob/master/template/pyproject.toml.jinja): `template/pyproject.toml.jinja`
- [Generated README](https://github.com/flojoch/robotframework-copiertemplates/blob/master/template/README.md.jinja): `template/README.md.jinja`
- [Robot configuration](https://github.com/flojoch/robotframework-copiertemplates/blob/master/template/robot.toml.jinja): `template/robot.toml.jinja`
- [Generated project](https://github.com/flojoch/robotframework-copiertemplates/tree/master/template): `template`

### Keyword resources

- [Resource entry](https://github.com/flojoch/robotframework-copiertemplates/blob/master/template/resources/main.resource.jinja): `template/resources/main.resource.jinja`
- [Tasks](https://github.com/flojoch/robotframework-copiertemplates/tree/master/template/resources/tasks): `template/resources/tasks`
- [Interactions](https://github.com/flojoch/robotframework-copiertemplates/tree/master/template/resources/interactions): `template/resources/interactions`
- [Assertions](https://github.com/flojoch/robotframework-copiertemplates/tree/master/template/resources/assertions): `template/resources/assertions`
- [Page objects](https://github.com/flojoch/robotframework-copiertemplates/tree/master/template/resources/pages): `template/resources/pages`

### Test capabilities

- [Example suites](https://github.com/flojoch/robotframework-copiertemplates/tree/master/template/tests): `template/tests`
- [Web testing](https://github.com/flojoch/robotframework-copiertemplates/blob/master/template/resources/abilities/%7B%25%20if%20use_browser%20%25%7Dbrowser_ability.resource%7B%25%20endif%20%25%7D.jinja): `template/resources/abilities/{% if use_browser %}browser_ability.resource{% endif %}.jinja`
- [API testing](https://github.com/flojoch/robotframework-copiertemplates/blob/master/template/resources/abilities/%7B%25%20if%20include_api%20%25%7Dapi_ability.resource%7B%25%20endif%20%25%7D.jinja): `template/resources/abilities/{% if include_api %}api_ability.resource{% endif %}.jinja`
- [Extended testing](https://github.com/flojoch/robotframework-copiertemplates/tree/master/template/resources/abilities): `template/resources/abilities`

### Other components

- **Project author**

## Connections

- Project author → Copier CLI: runs (evidence: `README.md`)
- Copier CLI → Project options: asks options (evidence: `README.md`)
- Copier CLI → Generated project: creates project (evidence: `README.md`)
- Generated project → Project metadata: renders files (evidence: `README.md`)
- Generated project → Generated README: renders files (evidence: `README.md`)
- Generated project → Robot configuration: renders files (evidence: `README.md`)
- Generated project → Example suites: includes tests (evidence: `README.md`)
- Generated project → Web testing: selects libraries (evidence: `README.md`)
- Generated project → API testing: selects libraries (evidence: `README.md`)
- Generated project → Extended testing: selects libraries (evidence: `README.md`)
- Generated project → Resource entry: includes resources (evidence: `README.md`)
- Generated project → Tasks: includes resources (evidence: `README.md`)
- Generated project → Interactions: includes resources (evidence: `README.md`)
- Generated project → Assertions: includes resources (evidence: `README.md`)
- Generated project → Page objects: includes resources (evidence: `README.md`)
