2026-03-07 01:14:10 -08:00
2026-03-07 01:09:00 -08:00
2026-03-07 01:09:00 -08:00
2026-03-07 01:09:00 -08:00
2026-03-07 01:09:00 -08:00
2026-03-07 01:09:00 -08:00
2026-03-07 01:09:00 -08:00
2026-03-07 01:09:00 -08:00
2026-03-07 01:09:00 -08:00
2026-03-07 01:09:00 -08:00
2026-03-07 01:09:00 -08:00
2026-03-07 01:14:10 -08:00

![Tarot Time Preview](https://code.glowers.club/goyimnose/tarot-time/raw/branch/master/asset/img/index.webp)

# Tarot Time

A web-based esoteric correspondence app for tarot, astrology, calendars, symbols, and related systems.

[![Node.js](https://img.shields.io/badge/Node.js-18%2B-5FA04E?logo=node.js&logoColor=white)](https://nodejs.org/)
[![Git](https://img.shields.io/badge/VCS-Git-F05032?logo=git&logoColor=white)](https://git-scm.com/)
[![Forgejo Repo](https://img.shields.io/badge/Forgejo-tarot--time-0E9384?logo=forgejo&logoColor=white)](https://code.glowers.club/goyimnose/tarot-time)
[![Deck Repository](https://img.shields.io/badge/Decks-tarot--deck-1D4ED8)](https://code.glowers.club/goyimnose/tarot-deck)

## Features

- Correspondence explorer for multiple occult/esoteric systems.
- Tarot deck support via a generated deck registry.
- Pluggable deck structure using per-deck `deck.json` manifests.
- Fast local static serving with `http-server`.

## Quick Start

1. Install Node.js: https://nodejs.org/en/download
2. Clone this repository.
3. Install dependencies.
4. Start the app.

```powershell
git clone https://code.glowers.club/goyimnose/tarot-time.git
Set-Location .\tarot-time
npm install
npm run start
```

The app opens in your browser (typically at `http://127.0.0.1:8080`).

## Deck Repository (Install Ready)

Use this companion repository for downloadable decks:

- https://code.glowers.club/goyimnose/tarot-deck

Typical flow:

1. Clone the deck repository somewhere local.
2. Copy one or more deck folders into `asset/tarot deck/`.
3. Validate and regenerate the deck registry.

```powershell
git clone https://code.glowers.club/goyimnose/tarot-deck.git
# Copy selected deck folder(s) into Tarot Time deck directory.
npm run validate:decks
npm run start
```

## Deck Authoring and Validation

Deck discovery is registry-driven and generated automatically.

1. Copy `asset/tarot deck/_template/` to a new folder under `asset/tarot deck/`.
2. Rename the new folder and update its `deck.json`.
3. Add card image files matching the naming rules in the manifest.
4. Run `npm run validate:decks` before publishing/testing.
5. Run `npm run start` (or `npm run generate:decks`) to rebuild `asset/tarot deck/decks.json`.

Rules and behavior:

- Folders without `deck.json` are ignored.
- Folders beginning with `_` or `.` are ignored (safe for `_template`).
- `_template` includes `deck.canonical-map.example.json` for explicit major-card file mapping.
- `_template/STRUCTURE.md` documents recommended `majors/` and `minors/` layouts.
- Manifests may override labels with `nameOverrides` and `minorNameOverrides`.
- Invalid manifests or missing mapped files are skipped with terminal warnings.

## NPM Scripts

| Command | Description |
| --- | --- |
| `npm run start` | Generate deck registry, then serve the app locally and open `index.html`. |
| `npm run dev` | Alias of `npm run start`. |
| `npm run generate:decks` | Rebuild `asset/tarot deck/decks.json`. |
| `npm run validate:decks` | Strict validation only (no write), exits on manifest/file problems. |

## Project Links

- Main app: https://code.glowers.club/goyimnose/tarot-time
- Deck repo: https://code.glowers.club/goyimnose/tarot-deck
Description
No description provided
Readme 3.4 MiB
Languages
JavaScript 84.7%
CSS 11.2%
HTML 4.1%