A rig is a copy of rig/ renamed after the environment it models, so its k8s files spell out a real architecture — the one thing that must not be committed here. rig/.gitignore already refuses them, but only within rig/: a copy is a SIBLING of rig/, where that file has no reach. spr had no rule at all, so the first `git add -A` after the fold would have committed one. Anchored at the root, and the negation names the full path because `*-rig/` is unanchored and would otherwise match rig/sample-rig too. Verified both ways: a file under client-rig/ is ignored, one under rig/sample-rig/ is not. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
47 lines
1.4 KiB
Plaintext
47 lines
1.4 KiB
Plaintext
# Previous attempts and drafts
|
|
fails/
|
|
def/
|
|
|
|
# Python
|
|
__pycache__/
|
|
*.pyc
|
|
*.pyo
|
|
.venv/
|
|
venv/
|
|
|
|
# Secrets. There was no rule here, which is how a real API key ended up tracked
|
|
# in station/tools/tester/.env. Templates still ship.
|
|
.env
|
|
!.env.example
|
|
|
|
# Node
|
|
node_modules/
|
|
|
|
# Built library bundles (regenerate with `pnpm build` in the package).
|
|
# The dist is what a container boots; it is an artifact, not source.
|
|
dist/
|
|
|
|
# Generated runnable instance (entirely gitignored - regenerate with build.py)
|
|
gen/
|
|
|
|
# Specs and sheets uploaded through shuntgen's UI. Inputs someone dropped in a
|
|
# browser, not source — and often a client's real data.
|
|
soleprint/station/tools/shuntgen/uploads/
|
|
|
|
# Room configurations (separate repo - contains credentials and room-specific data)
|
|
# Keep cfg/standalone/ and cfg/sample/ as templates, ignore actual rooms
|
|
cfg/amar/
|
|
cfg/dlt/
|
|
# Add new rooms here as they are created
|
|
# cfg/<room>/
|
|
|
|
# Client rigs. A rig is a copy of rig/ renamed after the environment it models,
|
|
# so its k8s files spell out a real architecture — exactly the thing that must
|
|
# not land here. They are versioned in their own repo.
|
|
#
|
|
# Anchored at the ROOT on purpose: a copy is a SIBLING of rig/, so a rule inside
|
|
# rig/.gitignore cannot see it. The negation must name the full path for the same
|
|
# reason — `*-rig/` is unanchored and matches at any depth, including rig/sample-rig.
|
|
*-rig/
|
|
!rig/sample-rig/
|