Claude-skill-registry-data makefile-generation
Generate language-specific Makefile with common development targets
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry-data
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry-data "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/makefile-generation" ~/.claude/skills/majiayu000-claude-skill-registry-data-makefile-generation && rm -rf "$T"
manifest:
data/makefile-generation/SKILL.mdsource content
Table of Contents
- Use When
- Standard Targets
- Python Makefile
- Rust Makefile
- TypeScript Makefile
- Workflow
- 1. Detect Language
- 2. Load Template
- 3. Collect Project Info
- 4. Render Template
- 5. Verify
- Customization
- Related Skills
Makefile Generation Skill
Generate a Makefile with standard development targets for Python, Rust, or TypeScript projects.
Use When
- Need a Makefile for a project without one
- Want to update Makefile with new targets
- Standardizing build automation across projects
Standard Targets
Python Makefile
Common targets:
- Show available targetshelp
- Install dependencies with uvinstall
- Run ruff lintinglint
- Format code with ruffformat
- Run mypy type checkingtypecheck
- Run pytesttest
- Run tests with coverage reporttest-coverage
- Run all quality checkscheck-all
- Remove generated files and cachesclean
- Build distribution packagesbuild
- Publish to PyPIpublish
Rust Makefile
Common targets:
- Show available targetshelp
- Format with rustfmtfmt
- Run clippylint
- Cargo checkcheck
- Run teststest
- Build release binarybuild
- Clean build artifactsclean
TypeScript Makefile
Common targets:
- Show available targetshelp
- Install npm dependenciesinstall
- Run ESLintlint
- Format with Prettierformat
- Run tsc type checkingtypecheck
- Run Jest teststest
- Build for productionbuild
- Start development serverdev
Workflow
1. Detect Language
# Check for language indicators if [ -f "pyproject.toml" ]; then LANGUAGE="python" elif [ -f "Cargo.toml" ]; then LANGUAGE="rust" elif [ -f "package.json" ]; then LANGUAGE="typescript" fi
Verification: Run the command with
--help flag to verify availability.
2. Load Template
from pathlib import Path template_path = Path("plugins/attune/templates") / language / "Makefile.template"
Verification: Run the command with
--help flag to verify availability.
3. Collect Project Info
metadata = { "PROJECT_NAME": "my-project", "PROJECT_MODULE": "my_project", "PYTHON_VERSION": "3.10", }
Verification: Run the command with
--help flag to verify availability.
4. Render Template
from template_engine import TemplateEngine engine = TemplateEngine(metadata) engine.render_file(template_path, Path("Makefile"))
Verification: Run the command with
--help flag to verify availability.
5. Verify
make help
Verification: Run
make --dry-run to verify build configuration.
Customization
Users can add custom targets after the generated ones:
# ============================================================================ # CUSTOM TARGETS # ============================================================================ deploy: build ## Deploy to production ./scripts/deploy.sh
Verification: Run the command with
--help flag to verify availability.
Related Skills
- Full project initializationSkill(attune:project-init)
- Makefile testing and validationSkill(abstract:makefile-dogfooder)
Troubleshooting
Common Issues
Command not found Ensure all dependencies are installed and in PATH
Permission errors Check file permissions and run with appropriate privileges
Unexpected behavior Enable verbose logging with
--verbose flag