Skip to content

cipher813/the-cyphering

Repository files navigation

the cyphering

everything you are made of was forged in a dying star, and will be scattered into infinite others. the cyphering is the soundtrack for the parts in between.

not background music. the cyphering turns the deepest questions — reality, the cosmos, the self — into something you can lose yourself to at full volume.

created with AI · psytrance · hardstyle · drum and bass · progressive trance · melodic techno

thecyphering.com

listen / follow

Instagram Spotify Apple Music YouTube SoundCloud Suno

spotify is the main / primary platform; instagram is the social hub.

decode@thecyphering.com


about this repo

ci license: MIT built with astro

The artist site for thecyphering.com — a single page that doubles as the link hub for the instagram bio link. it shows upcoming pre-saves, a two-line intro, and a continuously-playing spotify embed.

Built with Astro + Tailwind CSS v4, deployed as a static site on Cloudflare Pages.

develop

npm install
npm run dev      # http://localhost:4321
npm test         # releases.json + links.ts contract tests (vitest)
npm run check    # astro type check

CI (.github/workflows/ci.yml) runs check → test → build on every push/PR.

edit the links

All platform destinations live in src/data/links.ts (LINKS). Platform roles:

  • spotify — main / primary
  • instagram — the social hub
  • soundcloud, apple music — secondary
  • youtube — visuals
  • suno — generation source

The spotify embed (the always-on player) is configured in src/consts.ts.

releases / pre-saves

Pre-saves are handled by DistroKid HyperFollow (free, OAuth-backed). The queue renders from src/data/releases.json — a GENERATED artifact; do not hand-edit it. The single source of truth is the-cyphering-ops/releases.yaml. A card shows as an upcoming pre-save before its releaseAt, spotlights as "out now" for a week after, then drops off — all advanced client-side, so the queue rolls over at the real release moment with no redeploy.

To add a release: drop the hyperfollow URL into the "➕ add a release" form on signal (signal.thecyphering.com), or run python -m release.add_release <url> --push in the-cyphering-ops. Either way it appends to releases.yaml, regenerates this releases.json, and commits both to main — Cloudflare Pages rebuilds and the card appears. Covers are auto-fetched from the hyperfollow og:image; site-hosted covers live in public/covers/<slug>.webp.

build & deploy (Cloudflare Pages)

npm run build    # outputs to dist/

Cloudflare Pages settings:

  • Build command: npm run build
  • Output directory: dist
  • Custom domain: thecyphering.com

Push to main and Pages rebuilds automatically.

TODO: add a real public/og.png (1200×630) for social-share cards.

About

the cyphering — everything you are made of was forged in a dying star, and will be scattered into infinite others. the soundtrack for the parts in between.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors