audio streaming app
plyr.fm
1---
2name: contribute
3description: Contributing to plyr.fm — an audio streaming app built on ATProto. Use when making changes to the plyr.fm codebase, fixing bugs, adding features, or opening pull requests.
4metadata:
5 author: zzstoatzz
6 repo: https://github.com/zzstoatzz/plyr.fm
7---
8
9# how to contribute to plyr.fm
10
11## step 1: orient yourself
12
13read these files in the repo — they have everything you need:
14
15- `CLAUDE.md` — project rules, stack, structure, conventions
16- `STATUS.md` — active tasks and known issues
17- `backend/.env.example` — all environment variables with comments
18- `docs-internal/local-development/setup.md` — full local dev walkthrough
19
20check [open issues](https://github.com/zzstoatzz/plyr.fm/issues) for things to work on.
21
22## step 2: fork and set up
23
24```bash
25gh repo fork zzstoatzz/plyr.fm --clone
26cd plyr.fm
27uv sync && cd frontend && bun install && cd ..
28cp backend/.env.example backend/.env
29# edit backend/.env — DATABASE_URL is required, see the file for details
30```
31
32if you need to run the full stack locally, read `docs-internal/local-development/setup.md`. for frontend-only changes you may not need the backend running at all.
33
34## step 3: make your change
35
36- branch from `main`
37- for bug fixes, add a regression test
38- run `just --list` to see available commands (linting, tests, etc.)
39
40## step 4: validate
41
42```bash
43just backend lint # python: type check + ruff
44just frontend check # svelte: type check
45just backend test # runs tests with isolated docker postgres + redis
46```
47
48## step 5: open a PR
49
50open a PR from your fork to `zzstoatzz/plyr.fm:main`. describe what changed and why.
51
52PRs are the only way changes land — the main branch is protected.