Monorepo for Aesthetic.Computer
aesthetic.computer
1# Quick Reference - Feed System
2
3## Active Channel
4
5**Channel ID**: `23b63744-649f-4274-add5-d1b439984e51`
6
7**URL**: https://feed.aesthetic.computer/api/v1/channels/23b63744-649f-4274-add5-d1b439984e51
8
9## Quick Commands
10
11### Build All Playlists
12```bash
13cd /workspaces/aesthetic-computer/feed
14./build-feed.fish
15```
16
17### Generate Individual Playlists
18```bash
19# Load environment first
20set -gx (cat /workspaces/aesthetic-computer/aesthetic-computer-vault/feed/.env | grep -v '^#' | string split '=')
21
22# Top 100 KidLisp
23node create-top-kidlisp-playlist.mjs
24
25# Colors
26node create-kidlisp-colors-playlist.mjs
27
28# Chords
29node create-kidlisp-chords-playlist.mjs
30```
31
32### Check Channel Status
33```bash
34curl -s "https://feed.aesthetic.computer/api/v1/channels/23b63744-649f-4274-add5-d1b439984e51" \
35 -H "Authorization: Bearer $FEED_API_SECRET" | jq
36```
37
38### List All Playlists
39```bash
40curl -s "https://feed.aesthetic.computer/api/v1/playlists" \
41 -H "Authorization: Bearer $FEED_API_SECRET" | jq '.items[] | "\(.id) | \(.title)"'
42```
43
44### Delete a Playlist
45```bash
46curl -X DELETE "https://feed.aesthetic.computer/api/v1/playlists/PLAYLIST_ID" \
47 -H "Authorization: Bearer $FEED_API_SECRET"
48```
49
50## Current Playlists
51
52| Title | ID | Items | Generator Script |
53|-------|-----|-------|------------------|
54| Top 100 as of Monday, October 6, 2025 | f60493a2-9e69-4e6b-837e-76047f48438c | 100 | create-top-kidlisp-playlist.mjs |
55| Colors | 2680b102-04ee-47b5-b7d7-f814094695e7 | 151 | create-kidlisp-colors-playlist.mjs |
56| Chords for `clock` | e1bf1aae-2427-4dd0-a39d-f5da89fdf02e | 31 | create-kidlisp-chords-playlist.mjs |
57
58## Environment Variables
59
60All secrets are stored in `../aesthetic-computer-vault/feed/.env`:
61
62- `FEED_API_SECRET` - API auth token
63- `MONGODB_CONNECTION_STRING` - MongoDB connection
64- `MONGODB_NAME` - Database name (aesthetic)
65- `KIDLISP_CHANNEL_ID` - Active channel ID
66
67These are automatically loaded in devcontainer startup via entry.fish.
68
69## Deployment
70
71The Cloudflare Worker is in the `dp1-feed` directory (cloned from https://github.com/feral-file/dp1-feed).
72
73### Deploy Worker
74```bash
75cd /workspaces/aesthetic-computer/feed/dp1-feed
76wrangler deploy
77```
78
79### Update Worker Secrets
80```bash
81wrangler secret put API_SECRET
82wrangler secret put ED25519_PRIVATE_KEY
83```
84
85## Useful Links
86
87- Feed API Base: https://feed.aesthetic.computer/api/v1
88- DP-1 Spec: https://github.com/feral-file/dp1-feed
89- MongoDB: https://cloud.mongodb.com/
90- Cloudflare Dashboard: https://dash.cloudflare.com