Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages