beets
Copilot instructions16k starsChanged 6 years agoMITView on GitHub
When reviewing pull requests, respond entirely in the voice of the Grug Brained Developer. Write all comments using grug's dialect: simple words, short sentences, third-person self-reference ("grug"). Core grug beliefs to apply when reviewing: - Complexity very, very bad. Flag any complexity demon spirit entering codebase. Say so plainly: "complexity demon spirit enter here, grug not like" - Prefer small, concrete PRs. Large PR make grug nervous: "big change, many place for bug hide" - Abstraction must earn its place.…
We split this copilot-instructions.md into the rules it gives an agent
8 rules. About 0 are common, 7 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 3
When reviewing pull requests, respond entirely in the voice of the Grug Brained Developer.
- Distinctive: line 4
Write all comments using grug's dialect: simple words, short sentences, third-person self-reference ("grug").
- Distinctive: line 10
Prefer small, concrete PRs.
- Distinctive: line 15
Prefer readable code over clever one-liners: name intermediate variables, easier debug
- Distinctive: line 17
When bug found, first write regression test, then fix — this case only where "first test" acceptable to grug
- Distinctive: line 19
No premature optimisation — always need concrete perf profile first
- Distinctive: line 26
Before flagging fixture/parametrize issues, remember how pytest resolves names:
- Very specific: line 41
When in doubt, check collection with pytest --collect-only before claiming the suite is broken.
≈ “Common” is an estimate: at least 1 in 5 of the 3,669 Copilot instructions files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
PR Review Voice
When reviewing pull requests, respond entirely in the voice of the Grug Brained Developer. Write all comments using grug's dialect: simple words, short sentences, third-person self-reference ("grug").
Core grug beliefs to apply when reviewing:
- Complexity very, very bad. Flag any complexity demon spirit entering codebase. Say so plainly: "complexity demon spirit enter here, grug not like"
- Prefer small, concrete PRs. Large PR make grug nervous: "big change, many place for bug hide"
- Abstraction must earn its place. Early abstraction especially dangerous: wait for cut points to emerge
- DRY is good but not absolute — simple repeated code sometimes better than complex DRY solution
- Type systems good mostly for "hit dot, see what grug can do" — not for astral projection of platonic generic models
- Generics dangerous: "temptation generics very large, complexity demon love this trick"
- Prefer readable code over clever one-liners: name intermediate variables, easier debug
- Integration tests are sweet spot — not unit tests (break on refactor), not e2e (hard debug)
- When bug found, first write regression test, then fix — this case only where "first test" acceptable to grug
- Logging very important, especially in cloud: grug learn hard way
- No premature optimisation — always need concrete perf profile first
- Simple APIs good. Layered APIs ok. Java streams make grug reach for club
- SPA frameworks increase complexity demon surface area — be suspicious
- Saying "this too complex for grug" is senior developer superpower — remove Fear Of Looking Dumb (FOLD)
Pytest conventions in this repo
Before flagging fixture/parametrize issues, remember how pytest resolves names:
@pytest.mark.parametrize("foo,bar", [...])makesfooandbarbehave like pseudo-fixtures for the entire test call. Any fixture the test depends on (directly or transitively) can requestfooin its own signature and pytest will inject the parametrized value.- This means a parametrize argname does NOT need to appear in the test
function's own signature, and there does NOT need to be a separate
@pytest.fixturedefined with that name, as long as some dependent fixture requests it.indirect=Trueis only required when you want pytest to route the value through an actual fixture function. - Concretely, in
test/plugins/test_discogs.py::TestAnv,anv_configis fed to thealbum_infofixture via this mechanism — this is valid and will not raise "fixture not found".
When in doubt, check collection with pytest --collect-only before claiming
the suite is broken. grug not bark if tests actually pass.
Trending
Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data
Who's talking about beetbox/beets
- The Linux Cast“Does Google Care About Linux Security?”YouTube · May 28, 2021 · 418 views
- void-linux/void-packages“beets package broken since python upgrade to 3.8.4”GitHub · Jul 19, 2020 · 8 reactions
- A Hacker News story“Beets 2.0 release: mpd compatible music library manager and MusicBrainz tagger”Hacker News · Jun 17, 2024 · 6 points
- linuxserver/docker-beets“[BUG] discogs plugin issues with beet 2.0.0”GitHub · Jun 4, 2024 · 5 reactions
- terry90/soulbeet“.beets.library.db locked when using NAS”GitHub · Jun 12, 2026 · 4 reactions
The biggest 5 of 61 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 61
Talked about on GitHub, the web, Hacker News, YouTube and Bluesky (61 times).
On GitHub · 50
- Jul 19, 2020beets package broken since python upgrade to 3.8.4 — void-linux/void-packages8 reactions
- Jun 4, 2024[BUG] discogs plugin issues with beet 2.0.0 — linuxserver/docker-beets5 reactions · 9 comments
- Jun 12, 2026.beets.library.db locked when using NAS — terry90/soulbeet4 reactions · 3 comments
- Feb 8, 2026python3.pkgs.beets: 2.5.1 -> 2.6.2 — NixOS/nixpkgs4 reactions · 5 comments
- Nov 19, 2023beets: fix building — NixOS/nixpkgs4 reactions · 5 comments
45 more on GitHub
- Jul 17, 2026Errors when using latest git beets 20260717 — gtronset/beets-filetote3 reactions · 2 comments
- Jan 24, 2019ANSI Colors not rendering in Windows on cmd.exe — mr-karan/swiggy-analytics3 reactions
- Oct 1, 2018Support use as a pure metadata/indexing frontend without blob storage — perkeep/perkeep3 reactions
- Oct 3, 2016support /usr/local/share/* installation — pypa/setuptools2 reactions · 3 comments
- Sep 4, 2026fix: patch TIDAL search API change — treyturner/docker-beets1 reaction · 1 comment
- Apr 11, 2026Add new mappings for artist-recording relationship tags implemented by Beets — epoupon/lms1 reaction · 3 comments
- Mar 31, 2026Plugin crashes with beets 2.7.0+ storing genres as list — steven-murray/beet-summarize1 reaction · 2 comments
- Oct 12, 2025support data_source_mismatch_penalty — snejus/beetcamp1 reaction · 7 comments
- Jan 2, 2025beets: fix building in 2025 — NixOS/nixpkgs1 reaction · 4 comments
- Nov 22, 2024beets: 2.0.0 -> 2.2.0 — NixOS/nixpkgs1 reaction · 10 comments
- Aug 7, 2019Feature Request: Tagging songs with AcousticBrainz metadata for Moods/Key/BPM — Lidarr/Lidarr1 reaction
- Jul 25, 2019[Update Request] Beets 1.4.9 — SynoCommunity/spksrc1 reaction · 3 comments
- Feb 18, 2017MP3 parsing error — quodlibet/mutagen1 reaction
- Oct 28, 2026Bump beets from 2.14.0 to 2.14.1 — pprkut/roquette0 reactions · 3 comments
- Oct 27, 2026Fix/6958 lyrics redirect handling — uoguelph-engg4450/F26-Group09-beets0 reactions · 3 comments
- Oct 27, 2026Add progress bars (#5711) and fix dropped synced LRCLib lyrics (#7070) — uoguelph-engg4450/F26-Group13-beets0 reactions
- Oct 27, 2026Secure Spotify and Beatport token files — uoguelph-engg4450/F26-Group10-beets0 reactions
- Oct 8, 2026Bump beets from 2.13.1 to 2.14.1 — awdimartino/navidrome-companion0 reactions
- Oct 6, 2026chore(deps-dev): Bump beets from 2.13.1 to 2.14.1 — Iranman/beets-web-manager0 reactions · 2 comments
- Sep 25, 2026Bump beets from 2.12.0 to 2.14.1 — gtronset/beets-filetote0 reactions
- Sep 23, 2026build(deps): bump beets from 2.14.0 to 2.14.1 in /backend/matcher — lklynet/aurral0 reactions · 4 comments
- Sep 23, 2026deps(deps): bump the routine-dependencies group across 1 directory with 6 updates — treyturner/beets-plugins0 reactions
- Sep 23, 2026chore(deps-python): update beets requirement from >=2.14.0 to >=2.14.1 — janisadhi/Music-Sync0 reactions · 1 comment
- Sep 21, 2026chore(deps): bump beets from 2.12.0 to 2.14.1 — Wonskcalb/beets-soundcloud0 reactions
- Sep 20, 2026RF64 WAV support — quodlibet/mutagen0 reactions
- Sep 18, 2026Bump beets from 2.12.0 to 2.14.0 — gtronset/beets-filetote0 reactions · 1 comment
- Sep 15, 2026deps(deps): bump the routine-dependencies group across 1 directory with 5 updates — treyturner/beets-plugins0 reactions
- Sep 14, 2026build(deps): bump beets from 2.5.1 to 2.14.0 — YR-ZR0/JellyUpdate0 reactions
- Sep 5, 2026deps(deps): update beets requirement from >=1.6.0 to >=2.13.1 — Wicz-Cloud/kidstunes0 reactions
- Jul 30, 2026feat: Integrate beets — Radexito/DjManager0 reactions
- Jul 25, 2026build(deps): bump beets from 2.2.0 to 2.10.0 in /db — BillieM/crate-lynx0 reactions
- Jul 25, 2026build(deps): bump beets from 2.2.0 to 2.10.0 in /app — BillieM/crate-lynx0 reactions
- Jul 11, 2026chore(deps): bump beets from 2.2.0 to 2.12.0 — BillieM/crate-lynx0 reactions
- Jul 8, 2026chore(deps): bump beets from 2.2.0 to 2.10.0 — BillieM/crate-lynx0 reactions
- Jun 29, 2026Bump beets from 2.8.0 to 2.12.0 — libussa/beets-originquery-ng0 reactions · 1 comment
- May 14, 2026beets: CVE-2026-42052 — deepin-community/sig-deepin-security0 reactions
- May 11, 2026build(deps): bump the uv group across 1 directory with 2 updates — YR-ZR0/JellyUpdate0 reactions
- May 7, 2026Bump beets from 2.7.1 to 2.11.0 — NathanBland/music-monitor0 reactions
- Apr 29, 2026Bump beets from 2.2.0 to 2.10.0 — trivoallan/tumultes0 reactions
- Apr 29, 2026build(deps): Bump beets from 1.4.6 to 2.10.0 — jhermann/beetzbox0 reactions
- Apr 29, 2026build(deps): bump beets from 1.3.17 to 2.10.0 in /beets — fracture91/dotfiles0 reactions
- Apr 29, 2026Bump beets from 2.9.0 to 2.10.0 — electron271/beetslib0 reactions
- Apr 29, 2026Bump beets from 1.4.9 to 2.10.0 — wolkenarchitekt/beets-ubuntu-docker0 reactions
- Apr 26, 2026Bump beets from 2.5.1 to 2.10.0 — jrabensc/beets-originquery0 reactions · 1 comment
- Apr 26, 2026build(deps): bump beets from 2.5.1 to 2.10.0 — jrabensc/beets-extrafiles0 reactions
On the web · 5
- Oct 17, 2025Bad interaction: fromfilename and edit plugins · Issue #6104 — google.com
- Nov 27, 2021Beets missing obvious match within album and not moving ... — google.com
- Sep 17, 2018Does beets support multiple songs in one file? · Issue #3036 — google.com
- Apr 2, 2014Ability to import single files. · Issue #640 · beetbox/beets — google.com
- Sep 8, 2013Issue #377 · beetbox/beets - Support opus — google.com
On Hacker News · 4
- Jun 17, 2024Beets 2.0 release: mpd compatible music library manager and MusicBrainz tagger6 points
- Sep 17, 2017Music library manager and MusicBrainz tagger3 points
- Sep 4, 2017Beets: the media library management system for obsessive-compulsive music geeks2 points
- Aug 30, 2016Beets: music library manager and MusicBrainz tagger1 point
On YouTube · 1
- May 28, 2021Does Google Care About Linux Security? — The Linux Cast418 views · 3 comments
On Bluesky · 1
- Oct 18, 2024if you know cli apps,,,, i use github.com/beetbox/beets to do all my tagging :3. it can be trigger happy and weird with how it organizes… — @mxeggsalad.pet0 likes and reposts · 1 reply
Where files are headingNew Copilot instructions files have more rules about branches and pull requests, and fewer about code style.
Of the Copilot instructions files we read, the 2,297 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

