Skip to content
PACKS

Testing and Publishing Packs

How to test Cognithor packs locally, write unit tests with mocked contexts, debug loading issues, and prepare for marketplace submission.

Local testing

Install your pack directly from its directory:

cognithor pack install ./my-pack/

Then start Cognithor and test your tools:

cognithor --log-level debug

The --log-level debug flag shows pack loading, tool registration, and any errors.

Unit tests

Write tests that mock the PackContext to verify your pack registers correctly:

from unittest.mock import MagicMock
from pack import Pack
from cognithor.packs.interface import PackManifest, PackContext


def test_register_creates_tools():
    manifest = PackManifest(
        namespace="test", pack_id="test", version="0.1.0",
        display_name="Test", description="Test pack",
        eula_sha256="0" * 64,
        license="apache-2.0", min_cognithor_version=">=0.92.0",
        publisher={"id": "test", "display_name": "Test"},
    )
    mcp = MagicMock()
    ctx = PackContext(mcp_client=mcp)

    pack = Pack(manifest)
    pack.register(ctx)

    mcp.register_builtin_handler.assert_called_once()
    call_args = mcp.register_builtin_handler.call_args
    assert call_args[0][0] == "my_tool_name"

Run tests from your pack directory:

cd my-pack/
python -m pytest tests/ -v

Debugging

Symptom Likely cause Fix
Pack not loaded EULA not accepted cognithor pack accept-eula namespace/pack-id
Pack not loaded Version mismatch Check min_cognithor_version in manifest
Tool not found register() not wiring tool Add register_builtin_handler() call
Import error sys.path missing src/ Add sys.path.insert(0, str(Path(__file__).parent / "src")) in pack.py

Pre-publish checklist

Before submitting your pack:

  • pack_manifest.json is valid (run cognithor pack install ./ to check)
  • eula_sha256 matches eula.md (re-compute after any edit)
  • Version bumped from previous release
  • tools and lead_sources arrays list all registered names
  • Unit tests pass
  • catalog/catalog.mdx written with description, screenshots, use cases

Marketplace submission (Q4 2026)

The Cognithor creator marketplace launches in Q4 2026. To submit:

  1. Push your pack to the cognithor-packs repository
  2. CI validates manifest, EULA hash, and runs tests
  3. Review team checks catalog/catalog.mdx content
  4. Pack goes live on cognithor.ai/packs

Revenue split: 70% creator / 30% platform (configurable in revenue_share).