Create a high-converting public sales landing page for MergeLater that converts developers to early-access waitlist signups. Single-page format with smooth scroll navigation.
Domain: mergelater.com Project Location: /Users/markshust/Sites/mergelater
Build a multi-tenant Laravel web application that schedules GitHub PR merges at exact times. Users authenticate via GitHub OAuth and can schedule merges for any repo (personal or organization) they have write access to. Deploys to a DigitalOcean droplet managed by Laravel Forge.
- GitHub OAuth login (access user + organization repos)
| #!/bin/bash | |
| # Configuration | |
| MAX_ATTEMPTS=${CLAUDE_FIX_ATTEMPTS:-2} | |
| AUTO_FIX=${CLAUDE_AUTO_FIX:-true} | |
| # Colors for output | |
| RED='\033[0;31m' | |
| GREEN='\033[0;32m' | |
| YELLOW='\033[1;33m' |
A comprehensive avatar management system that allows users to upload custom profile pictures with client-side cropping, stored as optimized WebP images with dynamic size generation and Gravatar fallback.
Users can upload a custom avatar (JPG/PNG, max 2MB, minimum 400x400px) which overrides their default Gravatar. The system provides an intuitive modal interface with real-time cropping preview using Cropper.js. Uploaded images are stored as 400x400 WebP format (85% quality) and served dynamically at any requested size via a dedicated endpoint. The solution uses local storage for development and Digital Ocean Spaces with CDN for production. Users can remove their custom avatar at any time to revert to Gravatar. The interface is accessible by clicking/tapping the user avatar anywhere on the site, providing a seamless editing experience on both desktop and mobile devices.
This guide provides comprehensive instructions for running docker-magento on Windows using WSL2. While docker-magento was primarily designed for Mac and Linux, it can work excellently on Windows with proper configuration.
This guide explains how to set up the required environment variables (GitHub Secrets) for the Laravel deployment GitHub Actions workflow.
The deployment script uses GitHub Secrets to securely store sensitive information like SSH keys and server details. These secrets are referenced in the workflow using the ${{ secrets.SECRET_NAME }} syntax.
TEST-DRIVEN DEVELOPMENT IS NON-NEGOTIABLE. Every single line of production code must be written in response to a failing test. No exceptions. This is not a suggestion or a preference - it is the fundamental practice that enables all other principles in this document.
I follow Test-Driven Development (TDD) with a strong emphasis on behavior-driven testing and functional programming principles. All work should be done in small, incremental changes that maintain a working state throughout development.
| #!/bin/bash | |
| # bin/dbbackuprestore | |
| # Configuration variables for remote server | |
| REMOTE_SERVER="" | |
| REMOTE_SERVER_USER="" # Leave empty if using SSH config or key-based auth | |
| REMOTE_SERVER_PORT="" # Default SSH port | |
| REMOTE_SSH_KEY="" # Path to SSH key file (leave empty if using default) |
composer install- Install dependenciesbin/magento setup:install- Install Magentobin/magento setup:upgrade- Update database schemabin/magento setup:di:compile- Compile dependency injectionbin/magento setup:static-content:deploy- Deploy static assets
| dbx() { | |
| echo "Enter the tag (e.g., markoshust/magento-php:8.4-fpm-0):" | |
| read -r tag | |
| if [ -z "$tag" ]; then | |
| echo "Error: Tag cannot be empty" | |
| return 1 | |
| fi | |
| echo "You entered: $tag" |