.codex/skills/ci-cd-multi-platform-matrix/SKILL.md
CI/CD matrix strategies for multi-platform and multi-language builds
npx skillsauth add kreuzberg-dev/html-to-markdown ci-cd-multi-platform-matrixInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use strategy.matrix with include for specific OS/arch/language combinations. Always fail-fast: false.
Platform targets: Linux x86_64 + ARM64, macOS x86_64 + ARM64, Windows x86_64. ARM64 Linux uses cross crate.
| Language | Versions | Action |
|----------|----------|--------|
| Rust | MSRV, stable, nightly | dtolnay/rust-toolchain |
| Python | 3.8-3.12 | actions/setup-python |
| Node.js | 18, 20, 22 | actions/setup-node |
| Ruby | 3.0-3.3 | ruby/setup-ruby |
| Java | 11, 17, 21 | actions/setup-java (temurin) |
| Go | 1.20-1.22 | actions/setup-go |
Swatinem/rust-cache with cache-targets: trueactions/setup-node with cache: 'npm'actions/cache on ~/.cache/pipcache-from: type=gha)Separate ci-rust.yaml, ci-python.yaml, ci-node.yaml, etc. with path filters on relevant directories. Each runs lint -> build -> test -> coverage.
task commands (never direct scripts): task setup, task lint:check, task build:all, task test:allBUILD_PROFILE=ci in GitHub Actionsinclude to select specific combos)fail-fast: false (one failure hides others)tools
Convert HTML to Markdown, Djot, or plain text with structured extraction. Use when writing code that calls html-to-markdown APIs in Rust, Python, TypeScript, Go, Ruby, PHP, Java, C#, Elixir, R, C, or WASM. Covers installation, conversion, configuration, metadata extraction, document structure, and CLI usage.
development
Developer quick start guide with prerequisites, setup, and workflow commands
development
Common task runner commands for build, test, lint, and format workflows
tools
______________________________________________________________________ ## priority: high # Workspace Structure & Project Organization **Rust workspace** (Cargo.toml): crates/{kreuzberg,kreuzberg-py,kreuzberg-node,kreuzberg-ffi,kreuzberg-cli}, packages/ruby/ext/kreuzberg_rb/native, tools/{benchmark-harness,e2e-generator}, e2e/{rust,go}. **Language packages**: packages/{python,typescript,ruby,java,go} - thin wrappers around Rust core. **E2E tests**: Auto-generated from fixtures/ via tools/e2e