|
2 | 2 | setup-git-hooks: |
3 | 3 | @echo "SETUP: Installing Git hooks..." |
4 | 4 | cp -r .githooks/ .git/hooks/ |
5 | | - chmod +x .git/hooks/pre-commit && chmod +x .git/hooks/pre-push && chmod +x .git/hooks/prepare-commit-msg |
| 5 | + chmod +x .git/hooks/pre-commit && chmod +x .git/hooks/pre-push && chmod +x .git/hooks/prepare-commit-msg && chmod +x .git/hooks/commit-msg |
6 | 6 | @echo "SUCCESS: Git hooks installed!" |
7 | 7 |
|
| 8 | +# Install Node.js dependencies for commit tools |
| 9 | +install-commit-tools: |
| 10 | + @echo "SETUP: Installing commit tools..." |
| 11 | + npm install |
| 12 | + @echo "SUCCESS: Commit tools installed!" |
| 13 | + |
| 14 | +# Interactive semantic commit |
| 15 | +commit: |
| 16 | + @echo "🚀 Starting interactive semantic commit..." |
| 17 | + npm run commit |
| 18 | + |
| 19 | +# Validate commit message format |
| 20 | +validate-commit: |
| 21 | + @echo "VALIDATE: Checking commit message format..." |
| 22 | + npm run lint:commit |
| 23 | + |
| 24 | +# Setup complete development environment |
| 25 | +setup-dev: install-commit-tools setup-git-hooks |
| 26 | + @echo "SUCCESS: Development environment setup complete!" |
| 27 | + @echo "" |
| 28 | + @echo "🎉 You're all set! Use the following commands:" |
| 29 | + @echo " make commit - Create a semantic commit interactively" |
| 30 | + @echo " make validate-commit - Validate the last commit message" |
| 31 | + @echo " make release - Create a release (maintainers only)" |
| 32 | + @echo "" |
| 33 | + |
| 34 | +# Create a release (for maintainers) |
| 35 | +release: |
| 36 | + @echo "RELEASE: Creating release with release-please..." |
| 37 | + npm run release |
| 38 | + |
8 | 39 | # Run Code Linting in Docker |
9 | 40 | docker-lint: |
10 | 41 | @echo "LINT: Running Pint linter in Docker..." |
@@ -400,6 +431,30 @@ docker-sonarqube-clean: |
400 | 431 | cd containers && docker-compose -f docker-compose.sonarqube.yml down -v |
401 | 432 | @echo "SUCCESS: SonarQube data cleaned!" |
402 | 433 |
|
| 434 | +# Docker-based commit workflow |
| 435 | +docker-commit: |
| 436 | + @echo "🚀 Starting Docker-based semantic commit..." |
| 437 | + docker-compose -f containers/docker-compose.dev.yml exec dev-tools npm run commit |
| 438 | + |
| 439 | +# Setup development environment with Docker |
| 440 | +docker-setup-dev: |
| 441 | + @echo "SETUP: Setting up development environment with Docker..." |
| 442 | + docker-compose -f containers/docker-compose.dev.yml up -d |
| 443 | + docker-compose -f containers/docker-compose.dev.yml exec dev-tools npm install |
| 444 | + @$(MAKE) setup-git-hooks |
| 445 | + @echo "SUCCESS: Docker development environment setup complete!" |
| 446 | + |
| 447 | +# Validate commit in Docker |
| 448 | +docker-validate-commit: |
| 449 | + @echo "VALIDATE: Checking commit message format in Docker..." |
| 450 | + docker-compose -f containers/docker-compose.dev.yml exec dev-tools npm run lint:commit |
| 451 | + |
| 452 | +# Clean up development environment |
| 453 | +docker-cleanup-dev: |
| 454 | + @echo "CLEANUP: Removing development containers..." |
| 455 | + docker-compose -f containers/docker-compose.dev.yml down |
| 456 | + @echo "SUCCESS: Development environment cleaned up!" |
| 457 | + |
403 | 458 | # Show available commands and usage |
404 | 459 | help: |
405 | 460 | @echo "Laravel Blog API - Docker-based Development Environment" |
|
0 commit comments