Skip to main content
ClaudeWave
Skill860 estrellas del repoactualizado today

build-and-compile

The build-and-compile skill provides strategies for detecting and executing appropriate build systems across multiple languages including C/C++, Python, Node.js, Rust, and Go. Use this when resolving compilation errors, missing dependencies, or determining the correct build commands for a project by identifying Makefiles, CMakeLists, pyproject.toml, package.json, Cargo.toml, or go.mod files.

Instalar en Claude Code
Copiar
git clone --depth 1 https://github.com/vstorm-co/pydantic-deepagents /tmp/build-and-compile && cp -r /tmp/build-and-compile/pydantic_deep/bundled_skills/build-and-compile ~/.claude/skills/build-and-compile
Después abre una sesión nueva de Claude Code; el skill carga automáticamente.

SKILL.md

# Build & Compile

Strategies for building code and resolving dependency issues.

## Build System Detection

Check for build files in order:
- `Makefile` → `make` (read it first to understand targets)
- `CMakeLists.txt` → `cmake -B build && cmake --build build`
- `pyproject.toml` / `setup.py` → `pip install -e .`
- `package.json` → `npm install && npm run build`
- `Cargo.toml` → `cargo build --release`
- `go.mod` → `go build ./...`
- No build system → compile directly (`gcc`, `g++`, `rustc`, etc.)

## Compilation Strategies

### C/C++
- Always read the Makefile/CMakeLists first
- Common flags: `-O2 -Wall -lm -lpthread`
- Missing headers → `apt-get install lib<name>-dev`
- Linking errors → check library order (dependencies last: `-lfoo -lbar -lm`)

### Python
- Use virtual environments when possible
- `pip install -e .` for editable installs
- Missing modules → check `requirements.txt`, `pyproject.toml`
- Version conflicts → read the actual error, pin versions

### Multi-language projects
- Build dependencies first (C libraries before Python bindings)
- Check for Cython, SWIG, or FFI bridges
- Environment variables often needed: `LD_LIBRARY_PATH`, `PYTHONPATH`

## Dependency Resolution

1. Read the FULL error message — the missing dependency is usually named
2. Search for the package: `apt-cache search <name>`, `pip search <name>`
3. Install the minimum needed — don't install everything
4. If a package is unavailable, check for alternatives or build from source

## Common Build Failures

| Error | Likely Cause | Fix |
|-------|-------------|-----|
| `fatal error: foo.h: No such file` | Missing dev headers | `apt-get install libfoo-dev` |
| `undefined reference to` | Missing library at link time | Add `-lfoo` flag |
| `No module named 'foo'` | Missing Python package | `pip install foo` |
| `command not found: make` | Build tools missing | `apt-get install build-essential` |
| `version 'GLIBC_X.Y' not found` | Binary built for newer system | Rebuild from source |