.remote-cache/kreuzberg-shared-rules/.ai-rulez/skills/test-apps-published-package-validation/SKILL.md
______________________________________________________________________ ## priority: high # Test Apps - Published Package Validation **Purpose**: tests/test_apps validates PUBLISHED/RELEASED packages from npm, PyPI, RubyGems, Maven Central, Docker Hub, and Homebrew. NOT for local development testing. **Location**: tests/test_apps/{python,node,wasm,ruby,go,java,csharp,rust,docker,homebrew,browser-vite-svelte} **Version sync**: Included in `task sync-versions` - automatically updates all test
npx skillsauth add kreuzberg-dev/html-to-markdown .remote-cache/kreuzberg-shared-rules/.ai-rulez/skills/test-apps-published-package-validationInstall 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.
Purpose: tests/test_apps validates PUBLISHED/RELEASED packages from npm, PyPI, RubyGems, Maven Central, Docker Hub, and Homebrew. NOT for local development testing.
Location: tests/test_apps/{python,node,wasm,ruby,go,java,csharp,rust,docker,homebrew,browser-vite-svelte}
Version sync: Included in task sync-versions - automatically updates all test app manifests to match Cargo.toml version. Supports all package formats: pyproject.toml, package.json, Gemfile, go.mod, pom.xml, .csproj, Cargo.toml.
Linting: Pre-commit hooks (biome, shellcheck, ruff) apply to test_apps. CPD checks excluded (intentional duplication for testing).
Usage: Each test app installs the published package and runs comprehensive tests. Run from kreuzberg repo root: cd tests/test_apps/{language} && {language-specific-test-command}
Documentation: tests/test_apps/README.md contains full details on running tests for each language.
Critical: Test apps are for validating releases, not development. Use e2e/ tests for development validation.
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