{"id":50402019,"url":"https://github.com/syraenix/reliquaint","last_synced_at":"2026-05-31T00:01:01.637Z","repository":{"id":360531496,"uuid":"918847904","full_name":"syraenix/reliquaint","owner":"syraenix","description":"A preservation-focused launcher for classic DOS and Amiga games on Linux. Curated catalog, sane defaults, no telemetry.","archived":false,"fork":false,"pushed_at":"2026-05-26T20:48:34.000Z","size":4422,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2026-05-26T21:15:59.858Z","etag":null,"topics":["amiga","dos","dosbox","fs-uae","launcher","linux","preservation","retro-gaming","rust","tauri"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/syraenix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-01-19T02:35:39.000Z","updated_at":"2026-05-26T19:23:14.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/syraenix/reliquaint","commit_stats":null,"previous_names":["syraenix/reliquaint"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/syraenix/reliquaint","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syraenix%2Freliquaint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syraenix%2Freliquaint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syraenix%2Freliquaint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syraenix%2Freliquaint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/syraenix","download_url":"https://codeload.github.com/syraenix/reliquaint/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syraenix%2Freliquaint/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33714033,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amiga","dos","dosbox","fs-uae","launcher","linux","preservation","retro-gaming","rust","tauri"],"created_at":"2026-05-31T00:01:00.954Z","updated_at":"2026-05-31T00:01:01.622Z","avatar_url":"https://github.com/syraenix.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Reliquaint\n\n\u003e *REL-i-kwaynt* — a portmanteau of *relic* and *quaint*.\n\n[![CI](https://github.com/syraenix/reliquaint/actions/workflows/ci.yml/badge.svg)](https://github.com/syraenix/reliquaint/actions/workflows/ci.yml)\n[![Release](https://github.com/syraenix/reliquaint/actions/workflows/release.yml/badge.svg)](https://github.com/syraenix/reliquaint/actions/workflows/release.yml)\n[![Latest release](https://img.shields.io/github/v/release/syraenix/reliquaint)](https://github.com/syraenix/reliquaint/releases/latest)\n[![License: MPL 2.0](https://img.shields.io/badge/license-MPL--2.0-blue.svg)](LICENSE)\n\nA preservation hub for classic DOS and Amiga games that happens to launch. One catalog, one install command, one launch button — plus the future scaffolding for the maps, hint sheets, and manuals that gave these games their flavour.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"launcher/src-tauri/icons/icon.png\" alt=\"Reliquaint\" /\u003e\n\u003c/p\u003e\n\n## What it is\n\nReliquaint is a Linux launcher built on top of [DOSBox-Staging](https://www.dosbox-staging.org/) (DOS) and [FS-UAE](https://fs-uae.net/) (Amiga). You bring your own legally-acquired game files; Reliquaint handles the configuration, mounting, sidecars (FluidSynth for MIDI), and a small catalog of curated metadata.\n\nSubscribe to the official [`reliquaint-core`](https://github.com/syraenix/reliquaint-core) tap to get a curated starter set of classic DOS and Amiga titles — Quest for Glory I–IV, King's Quest I–V, Space Quest I–VI, Police Quest 1–4, and the Amiga single-disk *Fatman: The Caped Consumer*. The launcher's tap model (per [ADR-0003](docs/adr-0003-tap-based-distribution.md)) supports multiple community-maintained taps with priority-based conflict resolution.\n\nIt does **not** acquire game files for you. It does **not** circumvent DRM. The user provides their own copies; the launcher tells them where to put them.\n\n## Status\n\n**v0.3.** Tap subscriptions are fully implemented. Subscribe to community-maintained taps via `reliquaint tap add \u003cname\u003e` or the Taps panel in the GUI. The CLI has `list`, `run`, `install`, `migrate-installs`, `doctor`, `add`, `tap add/remove/list/sync/reorder/validate`, and `upgrade`. The GUI supports browsing, installing, launching, tap management, and a first-run prompt for new installs. Companion content (walkthroughs, maps, hint files) remains a v0.4 goal per the [PRD](docs/prd.md).\n\n\u003e **Upgrading from v0.2?** The `reliquaint-core` catalog that used to ship inside the launcher has **moved to its own repository** ([`syraenix/reliquaint-core`](https://github.com/syraenix/reliquaint-core)); the launcher no longer bundles any catalog content. Your existing installs keep working — just subscribe so the launcher can find their catalog entries again:\n\u003e\n\u003e ```bash\n\u003e reliquaint upgrade            # detects installs whose tap is no longer subscribed and tells you what to add\n\u003e reliquaint tap add reliquaint-core\n\u003e ```\n\u003e\n\u003e See [Migrating from v0.2](#migrating-from-v02) below for the full story.\n\nThe project is Linux-only by design (Flatpak DOSBox-Staging, apt-installed FluidSynth/FS-UAE). Cross-platform support is a non-goal for v0.1.\n\n## Installing the launcher\n\nPrerequisites are documented in [`docs/prerequisites.md`](docs/prerequisites.md) — DOSBox-Staging (Flatpak), FluidSynth, FS-UAE, and the Rust toolchain.\n\n```bash\ngit clone https://github.com/syraenix/reliquaint.git\ncd reliquaint\ncargo install --path launcher/src-tauri\n```\n\nThis installs the `reliquaint` binary to `~/.cargo/bin/`. Make sure that's on your `PATH`.\n\nFor the GUI, you'll additionally need Node.js + pnpm + GTK/webkit system libs:\n\n```bash\ncd launcher \u0026\u0026 pnpm install \u0026\u0026 pnpm tauri build\n```\n\n## Adding a game you own\n\nThe launcher doesn't ship game files. Once you've obtained your own copy (see each entry's \"How to obtain\" buttons in the GUI for legitimate sources):\n\n```bash\n# Extract / copy the game's files into a directory of your choice, then:\nreliquaint install qfg1-ega ~/games/qfg1-ega\nreliquaint run qfg1-ega\n```\n\nIf you have games already laid out at `~/games/\u003cid\u003e/` from before:\n\n```bash\nreliquaint migrate-installs\n```\n\nThis scans for any catalog entry whose id matches a subdirectory of `~/games/` and registers each one in a single pass.\n\n### Adding a game *not* in a subscribed tap\n\nFor DOS or Amiga games we don't have a manifest for, point the wizard at the directory and it will inspect, propose a draft, and write it to your local tap at `${XDG_CONFIG_HOME:-$HOME/.config}/reliquaint/tap/`:\n\n```bash\nreliquaint add ~/games/my-custom-game            # interactive prompt\nreliquaint add ~/games/my-custom-game --yes      # accept the draft as-is\nreliquaint add ~/games/my-custom-game --platform amiga   # override detection\n```\n\nOr in the GUI: click the **+ Add game** button in the header, pick the directory, review the form, save.\n\nThe new entry shows up alongside subscribed-tap games with a small **CUSTOM** badge. Tweak it later via:\n\n```bash\nreliquaint where my-custom-game     # print on-disk paths for hand-editing\nreliquaint remove my-custom-game    # delete the manifest, sibling .conf, and install record\n```\n\nWhen the manifest works well for you, send it upstream so others can use it:\n\n```bash\nreliquaint submit my-custom-game --clipboard\n# Then paste into tap/catalog/\u003cplatform\u003e/\u003cid\u003e.toml in a PR against this repo.\n```\n\nOr in the GUI: open the entry's detail view and click **Submit upstream** — it copies the canonical manifest to your clipboard and opens GitHub on the right \"new file\" path.\n\n## Browsing the catalog\n\n```bash\nreliquaint list                       # tabular, grouped by collection\nreliquaint list --platform dos\nreliquaint list --installed\nreliquaint list --format json         # for scripting\nreliquaint                            # opens the GUI\n```\n\nThe GUI gives you per-entry cards with year + developer, full metadata + description on detail view, \"Get on GOG / Steam / …\" buttons drawn from the catalog's `[acquisition]` block, and a live diagnostic panel that streams launcher tracing events alongside the emulator's own stdout/stderr.\n\n## Diagnostics\n\n```bash\nreliquaint doctor          # host deps + per-install checks + orphan records\nreliquaint -v list         # tracing at DEBUG; use -vv for TRACE\nRUST_LOG=trace reliquaint list\n```\n\nIn the GUI, the ⚕ Doctor button in the header surfaces the same checks plus per-row \"Fix this\" buttons for missing apt/flatpak dependencies.\n\n## Subscribing to taps\n\nThe first time you run Reliquaint, a prompt offers to subscribe to the official `reliquaint-core` tap. You can also manage subscriptions manually:\n\n```bash\nreliquaint tap add reliquaint-core      # subscribe to the official tap\nreliquaint tap add https://github.com/…/my-tap   # or any URL\nreliquaint tap list                     # show subscribed taps\nreliquaint tap sync                     # pull latest commits for all taps\nreliquaint tap remove my-tap            # unsubscribe\n```\n\nThe Taps panel (⊞ Taps button in the GUI) provides the same controls visually.\n\n## Migrating from v0.2\n\nIn v0.2 the `reliquaint-core` catalog shipped *inside* the launcher. As of v0.3 it lives in its own repository, [`syraenix/reliquaint-core`](https://github.com/syraenix/reliquaint-core), and the launcher ships no bundled catalog content — everything comes from taps you subscribe to.\n\nNothing about your installed games changes on disk. Each install record points at the `(tap, game)` it was installed against, so the only thing missing after upgrading is the subscription that provides those catalog entries. Restore it in one step:\n\n```bash\nreliquaint upgrade\n```\n\nThis scans your install records, finds any whose tap you are not subscribed to, and — when the tap is a known one like `reliquaint-core` — prints the exact `reliquaint tap add` command to run. Then:\n\n```bash\nreliquaint tap add reliquaint-core\nreliquaint list            # your games are back, now sourced from the subscribed tap\n```\n\nIn the GUI, the same situation surfaces as a first-run/empty-catalog prompt offering to subscribe to `reliquaint-core`, and `⚕ Doctor` lists any orphaned installs with the suggested fix.\n\n## Contributing a catalog entry\n\nCatalog contributions go to the [`reliquaint-core`](https://github.com/syraenix/reliquaint-core) repository. Clone it, drop a TOML file into `catalog/\u003cplatform\u003e/\u003cid\u003e.toml` matching the schema in [`docs/schema.md`](docs/schema.md), add any per-game shipped `.conf` next to it, and open a PR there. See [`CONTRIBUTING.md`](CONTRIBUTING.md) for the full walkthrough.\n\n## Further reading\n\n- [`docs/prd.md`](docs/prd.md) — product vision and scope\n- [`docs/schema.md`](docs/schema.md) — TOML schemas (catalog entries, install records, tap metadata, user config)\n- [`docs/v0.1-tasks.md`](docs/v0.1-tasks.md) — the v0.1 task list (kept for historical reference)\n- ADRs in [`docs/`](docs/): two-layer manifest model (0001), split DOSBox config (0002), tap-based distribution (0003), logging (0004), error handling (0005)\n\n## License\n\n- **Code** — [MPL-2.0](LICENSE). Weak copyleft: file-level, lets the launcher integrate with proprietary or other-licensed code while keeping modifications to Reliquaint's own files open.\n- **Catalog content** — catalog entries and shipped configs live in the [`reliquaint-core`](https://github.com/syraenix/reliquaint-core) repository under [CC-BY-SA-4.0](https://creativecommons.org/licenses/by-sa/4.0/): reuse with attribution; derivative tap repositories must share-alike.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyraenix%2Freliquaint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyraenix%2Freliquaint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyraenix%2Freliquaint/lists"}