Skip to content

Gitignore Templates — middag-io

Standard .gitignore per project type. References: ADR-001.

The root .gitignore in this repository is the most complete practical reference for MIDDAG repositories. The templates below are family-specific excerpts.

For local AI agents and plugins, also see Local AI Agent Setup.

How to use

Copy the relevant template into your repo's .gitignore. Combine sections if your project spans multiple types (e.g., Docker + WordPress).


WordPress Plugin (wp-plugin-*)

bash
# Dependencies
/vendor/
/node_modules/

# Build artifacts
/ui/node_modules/
/assets/dist/

# Dev tools
.php-cs-fixer.cache
.phpunit.result.cache
.phpstan-cache/
phpstan-baseline.neon

# IDE
.idea/
.vscode/
*.sublime-*

# OS
.DS_Store
Thumbs.db

# Secrets
auth.json
.env
.env.*
!.env.example

# CI/release
.release-please-manifest.json

# Claude Code
.claude/

WordPress Theme (wp-theme-*)

bash
# Dependencies
/vendor/
/node_modules/

# Dev tools
.php-cs-fixer.cache
.phpunit.result.cache
.phpstan-cache/

# IDE
.idea/
.vscode/

# OS
.DS_Store
Thumbs.db

# Secrets
auth.json
.env
.env.*
!.env.example

# Claude Code
.claude/

Docker Site (docker-*)

bash
# Environment files (secrets)
.env
.env.*
!.env.example
!.env.*.tpl

# Docker volumes (local dev)
/data/
/volumes/
/backups/

# WP uploads (if mounted)
/wordpress/wp-content/uploads/

# Dependencies (if present)
/vendor/
/node_modules/

# IDE
.idea/
.vscode/

# OS
.DS_Store
Thumbs.db

# Claude Code
.claude/

Moodle Plugin (moodle-*)

bash
# Dependencies
/vendor/
/node_modules/

# Dev tools
.php-cs-fixer.cache
.phpunit.result.cache

# Moodle test output
/phpunit/
/behat/

# IDE
.idea/
.vscode/

# OS
.DS_Store
Thumbs.db

# Secrets
auth.json
.env

# Claude Code
.claude/

Moodle Site (docker-moodle-*)

bash
# Environment files (secrets)
.env
.env.*
!.env.example
!.env.*.tpl

# Docker volumes
/data/
/volumes/
/moodledata/
/backups/

# Database dumps
*.sql
*.sql.gz

# Dependencies
/vendor/
/node_modules/

# IDE
.idea/
.vscode/

# OS
.DS_Store
Thumbs.db

# Claude Code
.claude/

PHP Library (middag-php-*)

bash
# Dependencies
/vendor/

# Dev tools
.php-cs-fixer.cache
.phpunit.result.cache
.phpstan-cache/
phpstan-baseline.neon
coverage/

# Build
/build/
/dist/

# IDE
.idea/
.vscode/

# OS
.DS_Store
Thumbs.db

# Secrets
auth.json

# Claude Code
.claude/

App — Next.js (app-nextjs-*)

bash
# Dependencies
/node_modules/

# Build
/.next/
/out/
/build/

# Environment
.env
.env.*
!.env.example
!.env.local.example

# Testing
/coverage/
/.nyc_output/

# IDE
.idea/
.vscode/

# OS
.DS_Store
Thumbs.db

# Misc
*.tsbuildinfo
next-env.d.ts

# Claude Code
.claude/

App — Vite/React (app-vite-*)

bash
# Dependencies
/node_modules/

# Build
/dist/
/build/

# Environment
.env
.env.*
!.env.example

# Testing
/coverage/

# IDE
.idea/
.vscode/

# OS
.DS_Store
Thumbs.db

# Misc
*.tsbuildinfo

# Claude Code
.claude/

Infrastructure (infra-*)

bash
# Dependencies
/vendor/
/node_modules/

# Environment files
.env
.env.*
!.env.example
!.env.*.tpl

# Cache
/cache/
/.cache/

# Build output
/build/
/dist/

# IDE
.idea/
.vscode/

# OS
.DS_Store
Thumbs.db

# Claude Code
.claude/

Common Rules (all projects)

Every .gitignore should include:

bash
# IDE
.idea/
.vscode/

# OS
.DS_Store
Thumbs.db

# Claude Code
.claude/

What NOT to gitignore

FileKeep trackedReason
composer.lockYesReproducible builds
package-lock.jsonYesReproducible builds
.php-cs-fixer.phpYesShared code style config
phpstan.neonYesShared static analysis config
rector.phpYesShared refactoring config
.env.exampleYesDocuments required env vars
.env.*.tplYes1Password templates for CI/deploy
docker-compose.ymlYesService definitions
MakefileYesDeploy/ops commands

MIDDAG Tecnologia