maylyn
/maylyn-test
*.log
.maylyn/
.maylyn-work/
/boneyard/
dist/

# website/get/ self-hosts the release downloads (see website/get/README.md) —
# the binaries themselves are build output, same reasoning as dist/ above:
# committing ~250MB of them would bloat repo history forever, and every new
# release would add another copy on top. manifest.json + README.md are small
# text and describe what's supposed to be there, so those stay tracked; the
# actual files just need to be on disk when `kamal deploy -c
# config/deploy.website.yml` builds the image — git tracking is irrelevant to
# what Docker COPYs into the image.
/website/get/*
!/website/get/manifest.json
!/website/get/README.md

# local secrets
.env
.env.*
!.env.example

# Kamal: the committed .kamal/secrets-common and .kamal/secrets.production
# only reference env vars, same as any other destination file — safe to
# track. Only a file with real literal values (a per-machine or ad hoc
# override) stays local.
.kamal/secrets.local
.kamal/secrets.*.local

# @playwright/mcp writes page snapshots and screenshots into the working
# directory on every capture, so driving the browser panel from the repo root
# leaves a trail of PNG/YAML here. They are per-action artifacts, never sources.
.playwright-mcp/

# generated gold sets contain real (possibly personal) transcript prompts
docs/eval/goldset.generated*.jsonl
# eval run transcripts are per-run artifacts
docs/eval/*.transcript.jsonl

.vscode/*
!.vscode/mcp.json

# One-off local runners for backend entrypoints.
.artdeploy/
.sdinstall/
.iconrun/

# Generated images. The sandbox writes every render here, so these are outputs
# of running the app, never sources — a working afternoon leaves dozens.
/artifacts/
/artifacts_preview/

# npm owns these; package-lock.json is the tracked source of truth.
node_modules/

# Scratch sandbox from live end-to-end runs.
.maylyn-live-test/

# Python virtualenvs for the LoRA training pipeline (scripts/lora*). Hundreds of
# MB of installed wheels; recreate with `make lora-style-setup`.
.venv/
.venv-*/
__pycache__/
*.pyc

# Sprite sheets fed to the LoRA dataset builder. Licensed/ripped source material
# the user supplies — inputs to a tool, never repo sources.
/zelda-sprites/

# wget writes this next to the model it is downloading.
wget-log
wget-log.*

# Tauri updater signing key — private, never commit
src-tauri/.keys/
src-tauri/binaries/
src-tauri/target/
src-tauri/gen/
src-tauri/frontend-placeholder/

# A paid RPG icon pack used as a local source library for curating achievement
# badge art (backend/webapp/icons/achievements/*.png, which IS tracked — those
# are the specific files chosen for shipping). Everything else here is the raw
# pack: not ours to redistribute, so it stays local-only. See
# backend/webapp/icons/achievements/README.md.
/backend/webapp/icons/*/
!/backend/webapp/icons/achievements/
!/backend/webapp/icons/weather/
