Insolitum Developers

Validation Checklist

Complete validation checklist for marketplace submission. Required and recommended checks for your module.

Validation Checklist

Use this checklist before submitting your module to the marketplace. You can also use the Module Validator tool to run automated checks.

Required

These checks must pass for your module to be approved:

  • Module ID — Unique slug matching /^[a-z][a-z0-9-]{2,30}$/
  • Health endpointGET /api/health returns { status: "ok" } with 200
  • HTTPS — Deploy URL uses HTTPS in production
  • Iframe embedding — No X-Frame-Options: DENY header
  • Shell auth — Uses ShellAuthProvider + useShellAuth() for authentication
  • At least 1 screenshot (recommended 3+)
  • Short description — 20-200 characters
  • Full description — At least 50 characters with feature list
  • At least 1 pricing tier > €0 (or clearly free)
  • Support email provided

These improve your validation score and marketplace ranking:

  • Unit tests (Vitest/Jest)
  • E2E tests (Playwright)
  • Documentation URL provided
  • Repository URL provided (public or private)
  • At least 2 tags for discoverability
  • i18n support (Polish + English minimum)
  • CI/CD pipeline (GitHub Actions)
  • Security headers:
    • X-Content-Type-Options: nosniff
    • Strict-Transport-Security (HSTS)
    • Referrer-Policy
    • X-XSS-Protection

Module ID Rules

The module ID (slug) must:

  • Start with a lowercase letter
  • Contain only lowercase letters, digits, and hyphens
  • Be 3-31 characters long
  • Not be a reserved slug

Reserved Slugs

These cannot be used as module IDs:

admin, super-admin, partner, auth, login,
register, api, system, internal

Performance Targets

MetricIdealMaximum
Health endpoint response< 500ms5000ms
Page load time< 2000ms5000ms

Modules that exceed the maximum load time will fail validation. Optimize your bundle size and use output: 'standalone' in next.config.ts.

Validation Score

The automated validator calculates a score from 0-100 based on weighted checks:

CategoryWeightChecks
Security2xHTTPS, security headers
Compatibility2xHealth endpoint, iframe embedding, Shell version
Performance1.5xPage load time
Quality1xModule ID, screenshots, metadata
  • Passed check = full weight
  • Warning check = 50% weight
  • Failed check = 0% weight

A module must have zero failed checks to be eligible for submission.

On this page