CLI and API polish

This commit is contained in:
2026-05-04 21:56:19 +02:00
parent 6744cc66e9
commit 539bb9b754
15 changed files with 2401 additions and 2 deletions

View File

@@ -0,0 +1,65 @@
from click.testing import CliRunner
import markitect_tool as api
from markitect_tool.cli import main
def test_mkt_completion_generates_bash_script():
result = CliRunner().invoke(main, ["completion", "bash"])
assert result.exit_code == 0, result.output
assert "_mkt_completion" in result.output
assert "_MKT_COMPLETE=bash_complete" in result.output
def test_mkt_completion_instructions_are_unix_shell_friendly():
result = CliRunner().invoke(main, ["completion", "zsh", "--instructions"])
assert result.exit_code == 0, result.output
assert "_MKT_COMPLETE=zsh_source mkt" in result.output
assert "~/.zshrc" in result.output
def test_mkt_extension_commands_exposes_builtin_cli_affordances():
result = CliRunner().invoke(main, ["extension", "commands", "--format", "json"])
assert result.exit_code == 0, result.output
assert '"command": "mkt query"' in result.output
assert '"command": "mkt extension commands"' in result.output
assert '"command": "mkt docs api"' in result.output
def test_mkt_extension_inspect_explains_descriptor():
result = CliRunner().invoke(main, ["extension", "inspect", "memory.context-package"])
assert result.exit_code == 0, result.output
assert "memory.context-package" in result.output
assert "mkt context pack" in result.output
def test_mkt_docs_cli_generates_command_reference():
result = CliRunner().invoke(main, ["docs", "cli"])
assert result.exit_code == 0, result.output
assert "# Markitect CLI Reference" in result.output
assert "## `mkt extension commands`" in result.output
assert "## `mkt docs api`" in result.output
def test_mkt_docs_api_generates_public_api_reference():
result = CliRunner().invoke(main, ["docs", "api"])
assert result.exit_code == 0, result.output
assert "# Markitect API Reference" in result.output
assert "query_document_jsonpath" in result.output
assert "ExtensionDescriptor" in result.output
assert "LocalSnapshotStore" in result.output
def test_top_level_api_exports_newer_architecture_surfaces():
assert api.query_document_jsonpath
assert api.extract_document_with_engine
assert api.LocalSnapshotStore
assert api.ExtensionDescriptor
assert api.builtin_extension_registry
assert api.validate_schema