team-mate-pro / make
Modular Makefile snippets for Symfony projects with Docker Compose integration. Provides standardized development workflows for Team Mate Pro projects.
Installs: 36
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Language:Shell
pkg:composer/team-mate-pro/make
Requires
- php: >=8.1
This package is not auto-updated.
Last update: 2025-10-30 14:41:53 UTC
README
This repository contains re-usable make file commands that should work as aliased for a project maintained by "Team Mate Pro" software company.
All projects should follow internal conventions.
Installation
Install via Composer:
composer require --dev team-mate-pro/make
The installation will automatically:
- Copy the reference
Makefileto your project root if one doesn't exist - Create/update
Makefile.exampleif aMakefilealready exists
Then customize your Makefile and include the desired modules:
# Define mandatory variables docker-compose=docker compose main-container-name=app # Include desired modules from vendor include vendor/team-mate-pro/make/git/MAKE_GIT_v1 include vendor/team-mate-pro/make/docker/MAKE_DOCKER_v1 include vendor/team-mate-pro/make/sf-7/MAKE_SYMFONY_v1 include vendor/team-mate-pro/make/phpcs/MAKE_PHPCS_v1 include vendor/team-mate-pro/make/phpunit/MAKE_PHPUNIT_v1 include vendor/team-mate-pro/make/phpstan/MAKE_PHPSTAN_v1 include vendor/team-mate-pro/make/nuxt-3/MAKE_NUXT_v1 include vendor/team-mate-pro/make/nuxt-3/MAKE_NUXT_TESTS_v1 include vendor/team-mate-pro/make/nuxt-3/MAKE_NUXT_QA_v1
Available Modules
Backend (PHP/Symfony)
- git/ - Git workflow commands
- docker/ - Docker and Docker Compose commands
- sf-7/ - Symfony 7 specific commands
- phpcs/ - PHP CodeSniffer commands
- phpunit/ - PHPUnit testing commands
- phpstan/ - PHPStan static analysis commands
Frontend (JavaScript/Vue)
- nuxt-3/ - Nuxt 3 development, testing, and QA commands
Conventions
1. Docker
All projects must be run using docker and docker compose. Main container should be named app.
2. Each project must have Makefile that defines mandatory variables
## --- Mandatory variables --- docker-compose=docker compose main-container-name=app # ... ## --- Mandatory aliases --- start: ### Full start and rebuild of the container echo "./tools/dev/start.sh" fast: ### Fast start already built containers echo "./tools/dev/fast.sh" stop: ### Stop all existing containers echo "./tools/dev/fast.sh" check: ### [c] Should run all mandatory checks that run in CI and CD process echo "alias to makefile for example: make check: phpstan phpcs etc" check_fast: ### [cf] Should run all mandatory checks that run in CI and CD process skiping heavy ones like functional tests echo "alias to makefile for example: make check: phpstan phpcs etc" fix: ### [f] Should run auto fix checks that run in CI and CD process echo "alias to makefile for example: make check: phpcs_fix"
Docker tools
Each project should have tools/{env}/ directory that contains mandatory and re-usable component for defined
environments. Sample output:
tools/
├── dev
│ ├── check.sh
│ ├── init-s3.sh
│ ├── fast.sh
│ ├── start.sh
│ └── stop.sh
├── prod
│ ├── post_deploy.sh
│ └── sync_permissions.sh
├── qa
│ └── git-checker.sh
└── test
├── application-tests-coverage.sh
└── test.sh