# mattyinc/abide architecture

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

## Overview

Abide is an offline, single-file daily discipline tracker. The user opens the app, completes six brief domain exercises, and can review progress or take a weekly Sabbath; settings support customization and JSON backup/restore. The README documents localStorage as the sole state store. No source excerpts were available, so internal wiring among the documented screens and state operations is not shown.

Main entry points: [`abide.html`](https://github.com/mattyinc/abide/blob/main/abide.html) (Abide app)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_daily["Daily practice"]
  node_today["Today exercises<br/>[abide.html]"]
  node_xp["XP and levels<br/>[abide.html]"]
end

subgraph group_reflection["Progress and rest"]
  node_progress["Progress views<br/>[abide.html]"]
  node_sabbath["Sabbath review<br/>[abide.html]"]
end

subgraph group_personalization["Settings and backup"]
  node_settings["Settings<br/>[abide.html]"]
  node_backup["JSON backup<br/>[abide.html]"]
end

node_user(("User"))
node_app["Abide app<br/>[abide.html]"]
node_storage[("Browser localStorage")]

node_user -->|"opens"| node_app
node_app -->|"presents"| node_today
node_app -->|"presents"| node_xp
node_app -->|"presents"| node_progress
node_app -->|"presents"| node_sabbath
node_app -->|"presents"| node_settings
node_settings -->|"offers"| node_backup
node_app -->|"reads and writes"| node_storage
node_user -->|"completes exercises"| node_today
node_user -->|"reviews week"| node_sabbath
node_user -->|"customizes"| node_settings
node_user -->|"exports or imports"| node_backup

click node_app "https://github.com/mattyinc/abide/blob/main/abide.html"
click node_today "https://github.com/mattyinc/abide/blob/main/abide.html"
click node_xp "https://github.com/mattyinc/abide/blob/main/abide.html"
click node_progress "https://github.com/mattyinc/abide/blob/main/abide.html"
click node_sabbath "https://github.com/mattyinc/abide/blob/main/abide.html"
click node_settings "https://github.com/mattyinc/abide/blob/main/abide.html"
click node_backup "https://github.com/mattyinc/abide/blob/main/abide.html"

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_today,node_xp,node_user toneBlue
class node_progress,node_sabbath,node_storage toneAmber
class node_settings,node_backup toneMint
class node_app toneTeal
```

## Components

### Daily practice

- [Today exercises](https://github.com/mattyinc/abide/blob/main/abide.html): `abide.html`
- [XP and levels](https://github.com/mattyinc/abide/blob/main/abide.html): `abide.html`

### Progress and rest

- [Progress views](https://github.com/mattyinc/abide/blob/main/abide.html): `abide.html`
- [Sabbath review](https://github.com/mattyinc/abide/blob/main/abide.html): `abide.html`

### Settings and backup

- [Settings](https://github.com/mattyinc/abide/blob/main/abide.html): `abide.html`
- [JSON backup](https://github.com/mattyinc/abide/blob/main/abide.html): `abide.html`

### Other components

- **User**
- [Abide app](https://github.com/mattyinc/abide/blob/main/abide.html): `abide.html`
- **Browser localStorage**

## Connections

- User → Abide app: opens
- Abide app → Today exercises: presents
- Abide app → XP and levels: presents
- Abide app → Progress views: presents
- Abide app → Sabbath review: presents
- Abide app → Settings: presents
- Settings → JSON backup: offers
- Abide app → Browser localStorage: reads and writes
- User → Today exercises: completes exercises
- User → Sabbath review: reviews week
- User → Settings: customizes
- User → JSON backup: exports or imports
