2026-11-06 07:09:25 +00:00
|
|
|
|
# Ratatoskr
|
2021-07-28 18:45:52 +05:30
|
|
|
|
|
2026-11-06 07:09:25 +00:00
|
|
|
|
GameCult's Matrix chat client, a fork of [Cinny](https://github.com/cinnyapp/cinny).
|
|
|
|
|
|
It opens on GameCult's estate (spaces, project rooms grouped by steward, Minds,
|
|
|
|
|
|
and your own place in it) instead of an invite list. Mobile first.
|
2021-07-28 18:45:52 +05:30
|
|
|
|
|
2026-11-06 07:09:25 +00:00
|
|
|
|
**Live now:** the Cinny engine (matrix-js-sdk, Rust crypto, sync) under a
|
|
|
|
|
|
Ratatoskr UI: branding, GameCult theme, estate navigation, pose portraits
|
|
|
|
|
|
(opt-in setting), a background scene and soundscape (opt-in, off by default).
|
|
|
|
|
|
**Planned:** see [`docs/gamecult/ratatoskr-target.md`](docs/gamecult/ratatoskr-target.md)
|
|
|
|
|
|
for the target and cut sequence. Internal names that are protocol or stored
|
|
|
|
|
|
state (`cinny_*` localStorage keys, the `in.cinny.room.power_level_tags` event
|
|
|
|
|
|
type, `CINNY_BASE`) are unchanged on purpose.
|
2026-09-10 17:03:36 +10:00
|
|
|
|
|
2026-11-06 07:09:25 +00:00
|
|
|
|
Entry points: `src/app/` (client UI), `src/app/features/scene/` (background
|
|
|
|
|
|
scene), `src/app/features/soundscape/` (audio socket), `harness/` (estate
|
|
|
|
|
|
drive scripts), `scripts/gen-brand.mjs` (regenerates the logo and icons).
|
2026-03-25 12:10:15 +11:00
|
|
|
|
|
2026-11-06 07:09:25 +00:00
|
|
|
|
## Upstream
|
|
|
|
|
|
Ratatoskr is based on Cinny by Ajay Bura and contributors, licensed AGPL-3.0.
|
|
|
|
|
|
Cinny's own README, desktop app and releases live at
|
|
|
|
|
|
<https://github.com/cinnyapp/cinny>. We do not ship its releases or images.
|
2023-02-26 14:22:05 +05:30
|
|
|
|
|
2026-11-06 07:09:25 +00:00
|
|
|
|
## Developing
|
|
|
|
|
|
See [HACKING.md](HACKING.md). Contribution notes are in [CONTRIBUTING.md](CONTRIBUTING.md).
|
2021-09-15 17:17:31 +05:30
|
|
|
|
|
2025-02-28 07:39:10 +00:00
|
|
|
|
## Self-hosting
|
2026-11-06 07:09:25 +00:00
|
|
|
|
Build with `npm ci && npm run build` and serve `dist/` with your webserver.
|
2024-08-01 23:42:45 +10:00
|
|
|
|
|
2025-02-28 07:39:10 +00:00
|
|
|
|
* The default homeservers and explore pages are defined in [`config.json`](config.json).
|
2026-11-06 07:09:25 +00:00
|
|
|
|
* Serving the assets needs redirects to `index.html`. Examples:
|
|
|
|
|
|
[netlify](netlify.toml), [nginx](contrib/nginx/ratatoskr.domain.tld.conf),
|
|
|
|
|
|
[caddy](contrib/caddy/caddyfile). Without them you can
|
|
|
|
|
|
[enable hash routing](config.json) (`hashRouter`); URLs then carry `/#/`.
|
|
|
|
|
|
* To deploy on a subdirectory, rebuild with the `base` path set, either in
|
|
|
|
|
|
[`build.config.ts`](build.config.ts) or through `CINNY_BASE`
|
|
|
|
|
|
(for example `CINNY_BASE=/app/ npm run build`).
|
2022-05-27 13:09:36 +05:30
|
|
|
|
|
2026-09-10 17:03:36 +10:00
|
|
|
|
## License
|
2026-11-06 07:09:25 +00:00
|
|
|
|
Ratatoskr is a fork of the Cinny project
|
2026-09-10 17:03:36 +10:00
|
|
|
|
Copyright © 2024–present Ajay Bura
|
|
|
|
|
|
https://cinny.in
|
2021-08-01 08:51:58 -07:00
|
|
|
|
|
2026-09-10 17:03:36 +10:00
|
|
|
|
Cinny is licensed under the GNU Affero General Public License,
|
|
|
|
|
|
Version 3 of the License (AGPL-3.0-only).
|
|
|
|
|
|
You may obtain a copy of the License at https://www.gnu.org/licenses/agpl-3.0.html
|