homelab/.github/prompts/clean-git.prompt.md
nathan 016d38d5ab feat(prompts): add Docker service lifecycle and session management workflows
- Add service management prompts (review, standardize, troubleshoot, integration)
- Add Docker Swarm migration and tutoring workflows (swarm-migration, swarm-tutor)
- Add SSO onboarding guide for Authentik integration (sso-onboarding)
- Add session lifecycle prompts (start, end, status) for context continuity
- Add node bootstrap scripts for Debian Trixie (day0bootstrap.sh) and Ubuntu/Debian (pi_init.sh)

These prompts implement gated, step-by-step workflows with explicit confirmation
requirements to prevent accidental changes during service operations. Bootstrap
scripts standardize IP configuration (10.0.0.200) and install Docker + Ansible
on new nodes.
2026-04-12 16:30:53 -04:00

2.8 KiB

description, trigger
description trigger
Scan for untracked runtime artifacts and update .gitignore patterns. //ignore

<!-- RESTART NOTE (Session end: 2025-12-27 22:00)
         Last context: Protocol refactored for improved artifact analysis and user validation
         Next steps:
             1. Review and commit changes
             2. Validate protocol in live workflow
         Blockers: None
         Reference files: documentation/project-history/SESSION_SNAPSHOT_2025-12-27_2200.md
-->

Git Ignore Maintenance Protocol

Goal

Maintain repository hygiene by identifying untracked runtime artifacts (logs, caches, temp files) and generating precise .gitignore patterns to exclude them, ensuring only source code and config are tracked.

Cognitive Protocol: ReAct (Reason + Act)

Reference: .github/knowledge/example.ReAct.md

Phase 1: Security & User Validation (REQUIRED)

Objective: Ensure all git operations occur as the correct repository owner.

Enforced Workflow:

  1. ACT: Execute whoami.
  2. OBSERVATION:
    • If chester: Proceed to Phase 2.
    • If root (or other):
      • ACT: su - chester
      • ACT: whoami (Verify switch).
      • CONSTRAINT: If switch fails, STOP and report error. Do not touch git.

Phase 2: Artifact Analysis (The Scan)

Objective: Identify what is untracked and why.

  1. ACT: Execute git status --short.
  2. THOUGHT (ReAct): For each ?? (untracked) item, determine its nature:
    • Runtime Artifact? (e.g., *.log, __pycache__, tmp/). -> IGNORE.
    • Generated Data? (e.g., dist/, build/). -> IGNORE.
    • Environment/Secrets? (e.g., .env, id_rsa). -> IGNORE IMMEDIATELY.
    • Source/Config? (e.g., compose.yaml, src/main.py). -> DO NOT IGNORE. (Flag to user).

Phase 3: Pattern Generation (Meta-Prompting)

Objective: Create specific, resilient patterns. Do not use overly broad wildcards.

  • Bad Pattern: *log* (Might ignore logic.py).
  • Good Pattern: *.log or logs/.

Phase 4: Execution & Verification

Action Plan:

  1. Append: Add the identified patterns to the relevant .gitignore (Root or Service-level).
  2. Verify: Run git status again to confirm the files are no longer listed.

Example Output

🛡️ User Validation

  • Current User: chester (Verified)

📋 Analysis

  • _thelab/core/media/ghost/content/logs/ -> Log Directory (Safe to ignore)
  • src/.DS_Store -> OS Garbage (Safe to ignore)
  • config.json -> Configuration (⚠️ User attention required - track or ignore?)

📝 Action Taken

Appended to _thelab/.gitignore:

# Ghost Blog Logs
_thelab/core/media/ghost/content/logs/

# OS Files
.DS_Store

✅ Verification
git status is clean.