{"ok":true,"site":{"host":"calavera.schalkneethling.com","url":"https://calavera.schalkneethling.com/","type":"live","desc":"Compose a modern project tooling recipe and export calavera.config.json.","tools":[{"name":"list_profiles","kind":"answer","impl":"imperative","description":"List Calavera profiles, package managers, and default integrations. Use this first when composing a recipe.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_integrations","kind":"answer","impl":"imperative","description":"List available Calavera integration options. Pass a profile to see only integrations valid for that profile.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"profile":{"type":"string","enum":["default","minimal"],"description":"Optional profile filter."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"describe_integration","kind":"answer","impl":"imperative","description":"Describe one Calavera integration, including its profile availability, dependency packages, and included parent integrations.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Integration ID or label from list_integrations."}},"required":["id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_ai_artifacts","kind":"answer","impl":"imperative","description":"List bundled AI skills, hooks, and agents that can be included in a Calavera recipe.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_baseline_targets","kind":"answer","impl":"imperative","description":"List supported moving and fixed Baseline targets with their browser-version matrices.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"describe_baseline_target","kind":"answer","impl":"imperative","description":"Describe a Widely, Newly, or fixed-year Baseline target and its compatible browser versions.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"target":{"oneOf":[{"type":"string","enum":["widely","newly"]},{"type":"integer"}],"description":"Baseline target: widely, newly, or a supported fixed year."}},"required":["target"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"search_baseline_features","kind":"answer","impl":"imperative","description":"Search the CSS-focused WebDX Baseline catalog by feature ID, name, description, or group.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Text used to search the CSS-focused Baseline feature catalog."},"limit":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of Baseline feature search results."}},"required":["query"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"recommend_baseline_target","kind":"answer","impl":"imperative","description":"Recommend the earliest fixed Baseline target compatible with selected CSS feature IDs.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"features":{"type":"array","minItems":1,"items":{"type":"string"},"description":"One or more Baseline feature IDs used to calculate a recommendation."}},"required":["features"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"compose_recipe","kind":"act","impl":"imperative","description":"Compose a schema-valid Calavera recipe from a profile, package manager, integration IDs or labels, and optional AI artifacts.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"profile":{"type":"string","enum":["default","minimal"],"description":"Base Calavera tooling profile."},"packageManager":{"type":"string","enum":["npm","pnpm","yarn","bun"],"default":"npm","description":"Package manager used for dependency installation and generated scripts."},"tools":{"type":"array","items":{"type":"string"},"description":"Integration IDs or labels. Omit to use the selected profile defaults from list_profiles."},"aiArtifacts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"AI artifact ID, source, or label from list_ai_artifacts."},"target":{"type":"string","description":"Optional target directory for hook and agent artifacts."}},"required":["id"],"additionalProperties":false},"description":"Bundled AI skills, hooks, and agents to include in the recipe."},"integrationOptions":{"type":"object","description":"Options keyed by selected integration ID. Stylelint Baseline accepts availability and severity; HTML Validate accepts quality, which is false to leave lint:html out of the generated quality script in a project without static HTML files; GitHub repository controls require repository identity and accept governance policy overrides.","additionalProperties":false,"properties":{"stylelint-baseline":{"type":"object","additionalProperties":false,"required":["available","severity"],"properties":{"available":{"oneOf":[{"type":"string","enum":["widely","newly"]},{"type":"integer"}]},"severity":{"type":"string","enum":["warning","error"]}}},"html-validate":{"type":"object","additionalProperties":false,"properties":{"quality":{"type":"boolean"}}},"github-repository-controls":{"type":"object","additionalProperties":false,"required":["repository"],"properties":{"repository":{"type":"string","pattern":"^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$"},"requiredChecks":{"type":"array","items":{"type":"string"}},"requireCodeqlResults":{"type":"boolean"},"defaultBranch":{"type":"string"},"mergeMethods":{"type":"array","items":{"type":"string","enum":["merge","squash","rebase"]}},"wiki":{"type":"boolean"},"projects":{"type":"boolean"},"autoMerge":{"type":"boolean"},"deleteBranchOnMerge":{"type":"boolean"},"updateBranch":{"type":"boolean"},"dependabotEcosystems":{"type":"array","items":{"type":"string","enum":["npm","github-actions"]}},"codeqlLanguages":{"type":"array","items":{"type":"string","enum":["actions","c-cpp","csharp","go","java-kotlin","javascript-typescript","python","ruby","swift"]}},"codeqlQuerySuite":{"type":"string","enum":["default","extended"]},"releaseEnvironment":{"oneOf":[{"const":false},{"type":"null"},{"type":"object","additionalProperties":false,"required":["reviewers"],"properties":{"name":{"type":"string"},"reviewers":{"type":"array","items":{"type":"string"}},"waitTimer":{"type":"integer","minimum":0,"maximum":43200},"preventSelfReview":{"type":"boolean"},"branches":{"type":"array","items":{"type":"string"}}}}]}}}}}},"required":["profile"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"validate_recipe","kind":"act","impl":"imperative","description":"Validate a Calavera recipe object before previewing, applying, or downloading it. Returns validation status and errors instead of writing files.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"recipe":{"type":"object","description":"A Calavera recipe object."}},"required":["recipe"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"explain_recipe","kind":"act","impl":"imperative","description":"Explain the integrations selected by a Calavera recipe, including profile defaults and automatically included parent integrations.","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"recipe":{"type":"object","description":"A Calavera recipe object."}},"required":["recipe"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"download_recipe","kind":"act","impl":"imperative","description":"Download a Calavera recipe as calavera.config.json. Pass a recipe from compose_recipe, or omit recipe to download the current visible composer recipe.","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"recipe":{"type":"object","description":"Optional Calavera recipe object. When omitted, the current visible composer recipe is downloaded."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Developer Tools","favicon":"/favicons/calavera.schalkneethling.com.png","apiSurface":"spec","toolCount":12}}