From 2258812d4a08f4257d9189780c5700dbd05af116 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Padez?= Date: Sat, 15 Aug 2026 18:08:39 +0000 Subject: [PATCH] untrack marketplace-installed plugins MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous commit's `git add -A` committed plugins/music as a gitlink (mode 160000) — a pointer to a commit in a repository this one does not contain. Anyone cloning the platform would get an empty directory and a broken checkout if they could not reach gitea. That is not a slip to be careful about next time: it is the normal consequence of the marketplace, which puts a clone with its own .git inside this tree on every install. So it is ignored by rule rather than by discipline. /plugins/*/ with the shipped ones re-included by name. Adding an in-tree plugin is deliberate, so maintaining that list by hand is the right friction — an unlisted directory in plugins/ is an install, not source. Verified: music ignored, example and offscale still tracked with all their files. Co-Authored-By: Claude Opus 5 --- .gitignore | 14 ++++++++++++++ plugins/music | 1 - 2 files changed, 14 insertions(+), 1 deletion(-) delete mode 160000 plugins/music diff --git a/.gitignore b/.gitignore index ad23d306..616f512f 100644 --- a/.gitignore +++ b/.gitignore @@ -93,3 +93,17 @@ src/databases/officer_db/src/plugin-schemas.gen.ts # # Generate one locally whenever a diff is useful to read. It stays local. src/databases/officer_db/migrations/ + +# ── Marketplace-installed plugins ── +# +# A plugin fetched from the marketplace is a CLONE with its own .git and its own repository. Left +# tracked, `git add -A` after an install commits it as a gitlink — a pointer to a commit this repo does +# not contain, which then breaks anyone who clones the platform and does not have access to that plugin. +# Happened on 2026-08-15, one commit after the marketplace landed. +# +# The plugins that genuinely ship with the platform are re-included by name below. Adding one is a +# deliberate act, so keeping this list by hand is the right amount of friction — an unlisted plugin +# directory is an install, not a source file. +/plugins/*/ +!/plugins/example/ +!/plugins/offscale/ diff --git a/plugins/music b/plugins/music deleted file mode 160000 index 6e07da7a..00000000 --- a/plugins/music +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6e07da7a3650786e5ef729ee6ae7ff2b6a37862a