# Ignore everything by default
*

# Committed goat-flow files
!.gitignore
!config.yaml
!architecture.md
!code-map.md
!glossary.md
!patterns/
!patterns/**
!security-policy.md

# Committed goat-flow directories
!decisions/
!decisions/**
!footguns/
!footguns/**
!lessons/
!lessons/**
!skill-reference/
!skill-reference/**
!skill-playbooks/
!skill-playbooks/**
# Keep the local-workspace directories themselves committed so tools can rely on the paths.
# Their own nested .gitignore files decide which contents stay local-only.
!tasks/
!tasks/**
!scratchpad/
!scratchpad/**
# Keep the session-log path and anchor file, but ignore the actual markdown logs.
# `logs/sessions/*.md` is workspace-local continuity state for the current checkout.
!logs/
!logs/sessions/
!logs/sessions/.gitkeep
logs/sessions/*.md
# Keep the quality-history path and README committed, but ignore captured reports.
# Order matters: the `logs/quality/*.md` rule must come BEFORE the README re-include
# so the last matching pattern keeps `README.md` tracked.
!logs/quality/
logs/quality/*.json
logs/quality/*.md
!logs/quality/README.md
# Keep the evidence-event path and README committed, but ignore runtime JSONL.
!logs/events/
logs/events/*.jsonl
!logs/events/README.md
# Keep the critique-history path and README committed, but ignore run snapshots.
!logs/critiques/
logs/critiques/*.md
!logs/critiques/README.md
# Keep the security-log path and README, but ignore captured reports.
!logs/security/
logs/security/*.md
logs/security/*.json
!logs/security/README.md
