.remote-cache/kreuzberg-shared-rules/.ai-rulez/skills/cicd-pipeline-standards/SKILL.md
______________________________________________________________________ ## priority: critical # CI/CD Pipeline Standards **Architecture**: Stages: Validate (lint/format) → Build → Test (unit/integration) → Deploy. Quality gates: zero warnings, tests pass, coverage thresholds met. **Multi-platform Testing**: linux/amd64, linux/arm64, macOS (Intel/ARM). Docker: multi-stage builds, minimal base images (alpine/distroless). **Artifact Management**: Cache dependencies (Cargo, npm, Maven, Go module
npx skillsauth add kreuzberg-dev/html-to-markdown .remote-cache/kreuzberg-shared-rules/.ai-rulez/skills/cicd-pipeline-standardsInstall 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.
Architecture: Stages: Validate (lint/format) → Build → Test (unit/integration) → Deploy. Quality gates: zero warnings, tests pass, coverage thresholds met.
Multi-platform Testing: linux/amd64, linux/arm64, macOS (Intel/ARM). Docker: multi-stage builds, minimal base images (alpine/distroless).
Artifact Management: Cache dependencies (Cargo, npm, Maven, Go modules). Publish packages (PyPI/npm/crates.io/Maven Central).
CI Workflows Use Task Commands:
Workflows now ALWAYS use task commands, never direct script calls
All CI workflows automatically set BUILD_PROFILE=ci
Example workflow structure:
- name: Setup
run: task setup
- name: Lint
run: task lint:check
- name: Build
run: BUILD_PROFILE=ci task build:all
- name: Test
run: BUILD_PROFILE=ci task test:all
- name: E2E
run: BUILD_PROFILE=ci task e2e:all
BUILD_PROFILE in CI: Always set BUILD_PROFILE=ci in GitHub Actions workflows:
task lint:check for CI-specific linting (fails on issues vs. warnings)Pre-commit Hooks in CI: GitHub Actions runs task pre-commit in validate stage to catch linting/formatting issues early
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