Skip to content
Development
Command

/make-dogfood

Analyze and enhance Makefiles for complete functionality coverage with auto-generation capability

From plugin
claude-night-market
325163 skills59 agents163 commands1 MCP
Install
$ npx -y skills add athola/claude-night-market --agent claude-code

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/make-dogfood

Context preview

What this command does when you run it.

Analyze and enhance Makefiles for complete functionality coverage with auto-generation capability

Command definition

make-dogfood.md
name: make-dogfood
description: Analyze and enhance Makefiles for complete functionality coverage with auto-generation capability
usage: /make-dogfood [--mode analyze|generate|apply] [--plugin <name>] [--dry-run] [--generate-makefiles] [--preflight-check] [--verbose]

Makefile Dogfooding Command

Use the makefile-dogfooder script to analyze, test, and enhance Makefiles across the claude-night-market project with thorough safety checks and auto-generation capabilities.

When To Use

Use this command when you need to:

  • Analyzing Makefile completeness
  • Testing existing make targets
  • Generating missing targets
  • Preparing plugins for release
  • Auditing Makefile coverage across plugins
  • Creating Makefiles for plugins without them

When NOT To Use

Avoid this command if:

  • Writing initial Makefiles from scratch (use --generate-makefiles instead)
  • Debugging specific build failures
  • Creating custom build systems

Parameters

  • `--mode`: Operation mode (default: analyze)
  • `analyze`: Only analyze and report gaps (SAFE - no changes)
  • `generate`: Show generated targets without writing files
  • `apply`: Write targets to Makefiles (use with --dry-run first)
  • `--plugin`: Restrict to specific plugin (e.g., `--plugin sanctum`)
  • Recommended: Test on one plugin before applying to all
  • `--dry-run`: Preview changes without writing files (HIGHLY RECOMMENDED)
  • Always use this before applying changes for real
  • Shows what will be generated/modified
  • `--generate-makefiles`: Generate Makefiles for plugins that don't have them
  • Follows attune:makefile-generation pattern
  • Auto-detects language (Python/Rust/TypeScript)
  • Creates standard targets for detected language
  • `--preflight-check`: Run validation checks before processing
  • Validates directories exist
  • Checks write permissions
  • Detects git repository for rollback
  • `--verbose`: Show detailed progress and error messages
  • `--output`: Output format (text|json, default: text)

Workflow

1. Discovery Phase

Scan all Makefiles and build an inventory of existing targets:

  • Find all Makefile and .mk files
  • Extract target definitions and metadata
  • Build dependency graphs
  • Identify plugin type (leaf vs aggregator)

2. Analysis Phase

Evaluate Makefiles against best practices:

  • Check for essential targets (help, clean, test, lint)
  • Identify missing convenience targets (demo, quick-run)
  • Detect anti-patterns and inconsistencies
  • Score each Makefile on completeness (0-100)

3. Testing Phase

Safely validate existing targets:

  • Run `make -n` for dry-run validation
  • Test help targets and documentation coverage
  • Verify target dependencies exist
  • Check for common runtime issues

4. Generation Phase

Create missing targets based on analysis:

  • Generate **LIVE demo targets** that run actual CLI tools/scripts
  • Add dogfood targets that run plugin tools on the plugin itself
  • Create quick-run targets for common workflows
  • Ensure demos show REAL output, not static echoes
  • Maintain consistency with existing patterns

**Generation Checklist:**

  • [ ] Does `demo-*` target run an actual script/tool?
  • [ ] Does output show real, dynamic data?
  • [ ] Would a user learn something by running this?
  • [ ] Is the plugin "eating its own dogfood"?

Examples

# SAFE WORKFLOW (Recommended)

# 1. Analyze all plugins to see what's missing
python3 plugins/abstract/scripts/makefile_dogfooder.py --mode analyze

# 2. Generate for a single plugin (see what would be created)
python3 plugins/abstract/scripts/makefile_dogfooder.py --plugin sanctum --mode generate

# 3. Dry-run to preview changes
python3 plugins/abstract/scripts/makefile_dogfooder.py --plugin sanctum --mode apply --dry-run

# 4. Apply for real
python3 plugins/abstract/scripts/makefile_dogfooder.py --plugin sanctum --mode apply

# 5. Generate Makefiles for plugins missing them
python3 plugins/abstract/scripts/makefile_dogfooder.py --generate-makefiles --mode analyze

# 6. Bulk workflow with safety
python3 plugins/abstract/scripts/makefile_dogfooder.py --mode apply --dry-run  # Test all
python3 plugins/abstract/scripts/makefile_dogfooder.py --mode apply  # Apply all

Safety Features

The script includes thorough safety checks:

1. **Preflight Validation** (automatic in apply mode)

  • Directory existence checks
  • Write permission verification
  • Git repository detection

2. **Working Directory Validation**

  • Automatic normalization
  • Prevents "file not found" errors

3. **Confirmation Prompt**

  • Prompts before applying without --dry-run
  • Prevents accidental changes

4. **Duplicate Detection**

  • Checks for existing targets
  • Prevents conflicts and warnings

What This Command Does

1. **Creates detailed inventory** of all Makefile targets across the project 2. **Identifies gaps** in user-facing functionality using pattern matching 3. **Tests safely** without modifying files or running risky operations 4. **Generates missing targets** with contextually appropriate templates 5. **Maintains consistency** with existing project patterns and conventions

CRITICAL: Demo Target Philosophy

**Demo targets must run ACTUAL functionality, not just echo static information.**

| ❌ BAD (Static/Informational) | ✅ GOOD (Live/Functional) | |-------------------------------|---------------------------| | `@echo "Skills: 5"` | `$(UV_RUN) python scripts/validator.py --scan` | | `@find skills/ \| wc -l` | `$(UV_RUN) python scripts/cli.py analyze .` | | `@echo "Feature: validation"` | `$(UV_RUN) python scripts/validator.py --target .` |

**Reference Pattern** (from ragentop project):

demo-detection: build  ## Demonstrate agent session detection (LIVE)
	@echo "=== Agent Session Detection Demo (LIVE) ==="
	@./target/release/ragentop detect --verbose

This runs the actual tool and shows REAL output that users would see.

Good Demo Targets:

  • **Run plugin's own CLI tools** on itself (dogfooding)
  • **Execute valida
Read more
Ships withclaude-night-market

A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.

Get the whole plugin, auto-invoked
Stats
325
Stars
0
Views
35
Forks
Active
Maintenance
Python
Language
MIT
License
1d ago
Last commit
8mo ago
Created

Repo: athola/claude-night-market