✅ DDEV is running: ddev start
✅ You have a Packagist account at https://packagist.org
✅ Your GitHub repository is public
ddev composer validate --strict --no-check-allddev composer install --no-dev --optimize-autoloader# Verify all required files exist
ls -la src/
ls -la config/
ls -la check/
cat composer.json | head -20git status
git add .
git commit -m "Prepare package for Packagist release"git checkout master
git merge feature/develop
git push origin master# Create semantic version tag
git tag v1.0.0
git push origin v1.0.0- Open: https://packagist.org/packages/submit
- Log in with your Packagist account
- Enter your GitHub repository URL:
https://github.com/ndestates/laravel-model-schema-checker - Click "Check"
- If validation passes, click "Submit"
# Go to a different directory
cd ~/projects
composer create-project laravel/laravel test-package-install
cd test-package-installcomposer require ndestates/laravel-model-schema-checker --devphp vendor/ndestates/laravel-model-schema-checker/check.php --help
php artisan vendor:publish --provider="NDEstates\\LaravelModelSchemaChecker\\ModelSchemaCheckerServiceProvider"- Go to your GitHub repository
- Settings → Webhooks
- Add webhook:
https://packagist.org/api/github?username=YOUR_PACKAGIST_USERNAME
Here are all the commands in order:
# 1. Start DDEV and validate
ddev start
ddev composer validate --strict
# 2. Prepare repository
git add .
git commit -m "Ready for Packagist release"
git checkout master
git merge feature/develop
git push origin master
# 3. Create release tag
git tag v1.0.0
git push origin v1.0.0
# 4. Submit to Packagist (manual step on website)
# Visit: https://packagist.org/packages/submit
# Enter: https://github.com/ndestates/laravel-model-schema-checker
# 5. Test installation (in different directory)
cd ~/projects
composer create-project laravel/laravel test-install
cd test-install
composer require ndestates/laravel-model-schema-checker --dev
php vendor/ndestates/laravel-model-schema-checker/check.php --helpddev composer validate --strict --no-check-all
# Fix any issues shown and re-run- Wait 5-10 minutes after submission
- Check repository is public
- Verify GitHub URL is correct
- Test in completely fresh Laravel project
- Check Laravel version compatibility
- Ensure all dependencies are correctly specified
✅ ddev composer validate passes
✅ Git tag created and pushed
✅ Packagist shows your package
✅ Test installation works
✅ Package commands execute successfully
Your package is now live on Packagist! 🚀