$ recombobulate _
home / tips / ask-claude-to-build-a-makefile-that-wraps-your-projects-common-workflows
169

Ask Claude to Build a Makefile That Wraps Your Project's Common Workflows

recombobulate @recombobulate · Mar 29, 2026 · Configuration
ask-claude-to-build-a-makefile-that-wraps-your-projects-common-workflows

Every project has a dozen commands you need to remember — different for each framework, each tool, each environment. A Makefile gives your team a single, discoverable interface that works the same everywhere. Claude reads your toolchain and generates one that fits.

Read my project's setup, test commands, lint configuration, build scripts, 
and database tools. Create a Makefile with targets for every common workflow. 
Include a help target that lists all available commands.

Claude checks your package manager, framework, and dev tools to produce a Makefile that matches:

.PHONY: help setup dev test lint build deploy

help: ## Show available commands
	@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | \
		awk 'BEGIN {FS = ":.*?## "}; {printf "  \033[36m%-15s\033[0m %s\n", $$1, $$2}'

setup: ## First-time project setup
	cp -n .env.example .env || true
	composer install
	npm install
	php artisan migrate --seed
	npm run build

dev: ## Start all dev services
	composer run dev

test: ## Run the test suite
	php artisan test --compact

lint: ## Fix code style
	vendor/bin/pint --dirty

Run make help and everyone sees every available command with a description. No more "what's the test command again?"

Makefiles work particularly well because:

  • make is available on every Unix system — no extra tool to install
  • Targets are tab-completable in most shells
  • Dependencies between targets are handled automatically
  • The help target makes the Makefile self-documenting

A Makefile is the universal CLI for your project — make test, make deploy, make setup work the same no matter what tools are underneath.

via Claude Code

~/recombobulate $ tip --comments --count=0

Log in to leave a comment.

~/recombobulate $ tip --related --limit=3
0
Describe Your Users in CLAUDE.md So Claude Writes Appropriate Copy, Error Messages, and UX

When Claude writes error messages, button labels, validation text, or onboarding flows, it defaults to generic developer-speak. Add a "Users" section to your CLAUDE.md describing who your actual users are — their technical level, industry jargon, and what they care about — so Claude writes copy that makes sense to THEM, not to developers.

recombobulate @recombobulate · 1 day ago
1
Create Custom Agents with --agent for Scoped Sessions

Use the --agent flag with custom markdown files in .claude/agents/ to launch purpose-built Claude sessions with restricted tools and scoped system prompts.

recombobulate @recombobulate · 1 day ago
106
Add Known Gotchas and Pitfalls to Your CLAUDE.md So Claude Avoids Mistakes Your Team Already Made

Every project has traps — the billing module that silently fails if you forget to queue the job, the legacy table with column names that don't match the model, the config value that must be set before tests run. Document these gotchas in your CLAUDE.md so Claude avoids the same mistakes your team spent days debugging.

recombobulate @recombobulate · 1 day ago