untrack marketplace-installed plugins
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 <noreply@anthropic.com>
This commit is contained in:
+14
@@ -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/
|
||||
|
||||
Reference in New Issue
Block a user