.DS_Store
__pycache__/
*.pyc
.pytest_cache/
.venv/
venv/
node_modules/
*.bak

# Auto-generated by sdlc_engine — should not be committed.
automation/state.json
dashboard/state.json
automation/.context-bundle.md
dashboard/.context-bundle.md
automation/agent-runs.jsonl
automation/.run-state/
automation/notifications.log

# Runtime-generated clarification files (engine writes when stuck).
# Keep example committed for reference; ignore everything else.
automation/clarifications/*.md
!automation/clarifications/EXAMPLE-*.md

# If your global gitignore (~/.gitignore_global) blocks *.md or .cursorrules etc.,
# explicitly un-ignore framework-tracked files so a fresh clone + commit Just Works.
!*.md
!.cursorrules
!.windsurfrules
!.clinerules
!.continuerules
!.aider.conf.yml

# Un-ignore scaffold dot-dirs (multi-tool slash command surfaces shipped
# with the framework). Global ~/.gitignore_global may have .cursor/ etc.
!src/sdlc_framework/scaffold/.cursor/
!src/sdlc_framework/scaffold/.cursor/**
!src/sdlc_framework/scaffold/.github/
!src/sdlc_framework/scaffold/.github/**
!src/sdlc_framework/scaffold/.cline/
!src/sdlc_framework/scaffold/.cline/**
!src/sdlc_framework/scaffold/.windsurf/
!src/sdlc_framework/scaffold/.windsurf/**
!src/sdlc_framework/scaffold/.continue/
!src/sdlc_framework/scaffold/.continue/**

# Re-ignore auto-generated bundle files (the !*.md rule above would otherwise
# unignore them, since they end in .md). These must NEVER be committed.
automation/.context-bundle.md
dashboard/.context-bundle.md

# Python build artifacts
dist/
build/
*.egg-info/

# PR 8 — render-agents output for non-Claude tools.
# Global ~/.gitignore_global may block these dirs; explicitly un-ignore the
# rendered subdirs so they ship with the repo.
!.cursor/
!.cursor/agents/
!.cursor/agents/**
!.cursor/rules/
!.cursor/rules/**
!.copilot/
!.copilot/agents/
!.copilot/agents/**
!.copilot/skills/
!.copilot/skills/**
.superpowers/
.worktrees/
