[v0.8.1] Release: MCP Host Support (3 more), CI Streamlining, #51
Merged
LittleCoinCoin merged 84 commits intomainfrom Apr 1, 2026
Merged
[v0.8.1] Release: MCP Host Support (3 more), CI Streamlining, #51LittleCoinCoin merged 84 commits intomainfrom
LittleCoinCoin merged 84 commits intomainfrom
Conversation
Remove committed report meant to be temporarily
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Document MCPHostStrategy interface, @register_host_strategy decorator, and ClaudeAdapter variant pattern. Clarify validate() deprecation in BaseAdapter Protocol section and update error handling example to use validate_filtered(). Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Rewrite Testing Strategy section to document HostSpec, HostRegistry, generator functions, assertion functions, canonical_configs.json structure, steps for adding a new host, and deprecated test files. Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Reports: skill design analysis + discovery questionnaire Roadmap: 5 parallel content leaves + packaging step Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-Authored-By: Claude Opus 4.6 <[email protected]>
From the `__design__/` to `.claude/`
Replace the sequential tool priority ladder with a parallel research approach: web search, Context7, and codebase retrieval are now used together rather than as ordered fallbacks. Add output file requirements (00-parameter_analysis and 01-architecture_analysis under __reports__/<host-name>/) so discoveries are captured as artifacts rather than only in chat.
## <small>0.8.1-dev.2 (2026-03-04)</small> * Merge branch 'feat/augment-mcp-host-support' into dev ([67bb767](67bb767)) * Merge branch `milestone/fix-logging-clutter` into dev ([5fd15dd](5fd15dd)) * Merge pull request #48 from LittleCoinCoin/dev ([0bc06fb](0bc06fb)), closes [#48](#48) * docs(adding-mcp-hosts): add test_adapter_protocol.py to fixture guide ([3a58908](3a58908)) * docs(logging): expose --log-level flag in CLI reference global options ([5aa2e9d](5aa2e9d)) * feat(cli): add --log-level flag and default log output to WARNING ([1e3817f](1e3817f)) * feat(mcp-augment): add enum value and constant ([8b22594](8b22594)) * feat(mcp-augment): implement AugmentAdapter ([5af34d1](5af34d1)) * feat(mcp-augment): implement AugmentHostStrategy ([b13d9d0](b13d9d0)) * feat(mcp-augment): wire AugmentAdapter into integration points ([367b736](367b736)) * feat(registry): add transient dim status on cache refresh ([09dd517](09dd517)) * refactor(logging): remove forced setLevel(INFO) from all module loggers ([fb2ee4c](fb2ee4c)) * refactor(registry): demote startup and fetch INFO logs to DEBUG ([df97e58](df97e58)) * fix(mcp-hosts): close validation and test coverage gaps ([9d7f0e5](9d7f0e5)) * test(mcp-augment): register test fixtures and update tests ([294d0d8](294d0d8)) * chore: clean up temporary reports ([038be8c](038be8c))
Agent-Id: agent-f1f3a32a-cf6a-4d05-b1be-28d9269e7688
Add the adapter, strategy, model wiring, and core validations needed to treat Mistral Vibe as a first-class MCP host inside the shared host-configuration layer.
Reuse the existing MCP configure flags where possible and map them onto Mistral Vibe's native transport and auth fields so the host works through the same CLI workflow as the other integrations.
Extend the canonical fixture registry and generated filtering matrix so future MCP host changes exercise Mistral Vibe through the same shared coverage paths as the other supported hosts.
Keep the implementation notes for the new host in a dedicated reports commit so the code history stays focused while the discovery context remains available for later review.
Agent-Id: agent-7d172f15-6b95-455e-a27a-bc58509026fe
- Replace 'Mistral Vibe IDE with MCP support' with 'Mistral Vibe CLI coding agent' - Ensure accurate description across all documentation files - Maintain consistency in host identifier (mistral-vibe)
Agent-Id: agent-4b2c06a4-05c6-47fd-84e7-4c704eb9fa05 Linked-Note-Id: 3d4ca15e-5b56-430d-9ea4-f5b77e4207aa
Agent-Id: agent-4b2c06a4-05c6-47fd-84e7-4c704eb9fa05 Linked-Note-Id: 3d4ca15e-5b56-430d-9ea4-f5b77e4207aa
Agent-Id: agent-3a5c1a45-c9cd-44cf-8caf-a2ba36ec4cd7 Linked-Note-Id: de87f08e-40a3-4c70-8f99-833526ed8cd5
Agent-Id: agent-ab465f6f-4347-4a55-a0d3-064e4d929c77
Mistral Vibe MCP config support
## <small>0.8.1-dev.3 (2026-03-23)</small> * Merge pull request #49 from LittleCoinCoin/dev ([73666d9](73666d9)), closes [#49](#49) * fix(mcp-hosts): add explicit HTTP transport type for Claude URL-based co ([62f99cf](62f99cf)) * fix(mcp-hosts): always set HTTP transport type for Claude URL-based conf ([904f22b](904f22b)) * fix(mcp-hosts): remove redundant Claude Desktop/Code URL validation ([d6a75a8](d6a75a8)) * test(mcp-hosts): keep mistral vibe in shared adapter coverage ([1a81ae0](1a81ae0)) * test(mcp): add fixture for claude remote setup ([d1cc2b0](d1cc2b0)) * test(mcp): fix whitespace in Claude transport serialization test ([b5c7191](b5c7191)) * docs: correct Mistral Vibe terminology to CLI coding agent ([bfa8b9b](bfa8b9b)) * docs(mcp-hosts): add mistral vibe to supported platforms ([5130c84](5130c84)) * docs(mcp-hosts): capture mistral vibe host analysis ([4ff2758](4ff2758)) * feat(cli): let shared mcp configure target mistral vibe ([0e801d0](0e801d0)) * feat(mcp-hosts): let hatch manage mistral vibe configs ([f213971](f213971)) * ci: semantic-release streamlining ([db0fb91](db0fb91))
GITHUB_WORKFLOW_REF in a reusable workflow resolves to the calling workflow, not the called one. After the streamlining refactor, the top-level trigger was semantic-release.yml, so sigstore attestations embedded that path — PyPI rejected them because its trusted publisher was configured for publish.yml. Renamed: - semantic-release.yml → publish.yml (top-level trigger, now matches PyPI) - publish.yml → pypi-publish.yml (reusable sub-workflow) Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
PyPI Trusted Publishing does not support reusable workflows — the publish step must run directly in the calling workflow so the OIDC token's job_workflow_ref matches the trusted publisher config. Removed the reusable pypi-publish.yml and inlined its two jobs (publish-test, publish-pypi) directly into publish.yml. Updated notify-discord to depend on publish-pypi instead of the former reusable publish job. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Agent-Id: agent-194600e5-7319-4944-9b73-3a08259f3c10 Linked-Note-Id: 4472a8ad-d181-4bfc-bfa6-5bc08de20c29
Agent-Id: agent-7ce7b78d-8589-4359-b7a6-af17b627c47a
- Updated CLI reference documentation to match actual code state in hatch/cli/ package - Removed outdated/deprecated commands (hatch env list hosts, hatch env list servers) - Added missing commands (hatch env current) - Updated syntax, parameters, and example outputs for all commands - Reorganized Table of Contents to reflect current CLI structure - Verified against actual CLI handlers in cli_env.py, cli_package.py, cli_mcp.py, and cli_system.py" Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <[email protected]>
Remove two issues resolved since v0.4.2: non-interactive TTY handling (now detects isatty() and HATCH_AUTO_APPROVE) and external dependency coupling (hatch-validator is now a standard PyPI package). Update stale line references throughout — all cited locations shifted due to refactoring. Fix wrong cache clear path in workaround (~/.hatch/cache/* → ~/.hatch/packages/*). Correct two misframed descriptions: registry one-day fallback is intentional timezone coverage, not a robustness gap; simulation mode is a deferred planned feature with infrastructure ready, not broken. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Both hosts were fully implemented in code but absent from every doc page that enumerates supported platforms, making them undiscoverable to users. Also corrects the lm-studio identifier typo in the API CLI reference (canonical name is lmstudio, matching MCPHostType.LMSTUDIO). Files updated: - MCPHostConfiguration.md (user article) - tutorials/04.../01-host-platform-overview.md - api/cli/mcp.md (+ lmstudio fix) - devs/architecture/mcp_host_configuration.md (overview paragraph)
The README and docs landing page were positioning Hatch as a package manager, burying the multi-host configuration feature that is most useful to users today. The package system is functional but still being reworked for MCP registry integration, so it should not lead. Also adds OpenCode and Augment Code (Auggie CLI and Intent) to the supported host lists, which were missing despite being implemented.
Documentation refresh & CI pipeline streamlining
## <small>0.8.1-dev.6 (2026-04-01)</small> * Merge pull request #50 from LittleCoinCoin/dev ([8f6c5f8](8f6c5f8)), closes [#50](#50) * docs(cli): update to match current CLI state ([2d75bcd](2d75bcd)) * docs(entry-docs): refresh content for primary use case identification ([d4d0bb9](d4d0bb9)) * docs(known-issues): sync appendix with v0.8.1 codebase state ([ed98ea4](ed98ea4)) * docs(mcp-host-config): surface opencode and augment in all host lists ([dbdba35](dbdba35)) * style(docs): add CrackingShells brand theme stylesheets for MkDocs ([c5cec5b](c5cec5b)) * style(docs): apply CrackingShells org theme to MkDocs ([7749d48](7749d48)) * chore(git): add .DS_Store to .gitignore ([cff376a](cff376a))
cracking-shells-semantic-release bot
pushed a commit
that referenced
this pull request
Apr 1, 2026
## <small>0.8.1 (2026-04-01)</small> * Merge branch 'feat/augment-mcp-host-support' into dev ([67bb767](67bb767)) * Merge branch 'feat/opencode-mcp-host-support' into dev ([793707d](793707d)) * Merge branch 'milestone/adding-mcp-hosts-skill' into dev ([bce3851](bce3851)) * Merge branch 'task/update-extension-guide' into milestone/mcp-docs-refresh ([d2a0df9](d2a0df9)) * Merge branch 'task/write-adapter-contract' into milestone/adding-mcp-hosts-skill ([c639322](c639322)) * Merge branch 'task/write-skill-md' into milestone/adding-mcp-hosts-skill ([d618f71](d618f71)) * Merge branch 'task/write-strategy-contract' into milestone/adding-mcp-hosts-skill ([13b195c](13b195c)) * Merge branch 'task/write-testing-fixtures' into milestone/adding-mcp-hosts-skill ([3cc4175](3cc4175)) * Merge branch `milestone/fix-logging-clutter` into dev ([5fd15dd](5fd15dd)) * Merge pull request #47 from LittleCoinCoin/dev ([9d873aa](9d873aa)), closes [#47](#47) * Merge pull request #48 from LittleCoinCoin/dev ([0bc06fb](0bc06fb)), closes [#48](#48) * Merge pull request #49 from LittleCoinCoin/dev ([73666d9](73666d9)), closes [#49](#49) * Merge pull request #50 from LittleCoinCoin/dev ([8f6c5f8](8f6c5f8)), closes [#50](#50) * Merge pull request #51 from CrackingShells/dev ([dfbe031](dfbe031)), closes [#51](#51) * chore: clean up temporary reports ([038be8c](038be8c)) * chore: cleanup `__reports__/` ([1056e52](1056e52)) * chore: move skills directory location ([f739fed](f739fed)) * chore: update cs-playbook submodule ([c544cb3](c544cb3)) * chore(git): add .DS_Store to .gitignore ([cff376a](cff376a)) * chore(release): 0.8.1-dev.1 ([e31b347](e31b347)) * chore(release): 0.8.1-dev.2 ([3f58954](3f58954)) * chore(release): 0.8.1-dev.3 [skip ci] ([7aaa6eb](7aaa6eb)) * chore(release): 0.8.1-dev.4 [skip ci] ([f7221c3](f7221c3)) * chore(release): 0.8.1-dev.5 [skip ci] ([c605bc7](c605bc7)) * chore(release): 0.8.1-dev.6 [skip ci] ([10a2e48](10a2e48)) * chore(roadmap): add adding-mcp-hosts-skill campaign ([e48ea10](e48ea10)) * chore(skill): package adding-mcp-hosts skill ([e5fbfa2](e5fbfa2)) * docs: correct Mistral Vibe terminology to CLI coding agent ([bfa8b9b](bfa8b9b)) * docs(adding-mcp-hosts): add test_adapter_protocol.py to fixture guide ([3a58908](3a58908)) * docs(adding-mcp-hosts): use parallel research over priority ladder ([6f6165a](6f6165a)) * docs(cli): update to match current CLI state ([2d75bcd](2d75bcd)) * docs(entry-docs): refresh content for primary use case identification ([d4d0bb9](d4d0bb9)) * docs(known-issues): sync appendix with v0.8.1 codebase state ([ed98ea4](ed98ea4)) * docs(logging): expose --log-level flag in CLI reference global options ([5aa2e9d](5aa2e9d)) * docs(mcp-host-config): surface opencode and augment in all host lists ([dbdba35](dbdba35)) * docs(mcp-hosts): add mistral vibe to supported platforms ([5130c84](5130c84)) * docs(mcp-hosts): capture mistral vibe host analysis ([4ff2758](4ff2758)) * docs(mcp): document strategy, registration, and variant pattern ([21c30d5](21c30d5)) * docs(mcp): rewrite testing section with data-driven docs ([5fc6f97](5fc6f97)) * docs(mcp): rewrite testing section with data-driven infra ([24c6ebf](24c6ebf)) * docs(mcp): update adapter template to validate_filtered() ([69d61cc](69d61cc)) * docs(mcp): update field support matrix and field mapping documentation ([c08e064](c08e064)) * docs(mcp): update strategy template with interface docs ([0b83b6e](0b83b6e)) * docs(roadmap): add mcp-docs-refresh task files and gap analysis ([896f4d2](896f4d2)) * docs(roadmap): mark adding-mcp-hosts-skill campaign as done ([b7e6c95](b7e6c95)) * docs(roadmap): mark mcp-docs-refresh tasks as done ([fc07cd1](fc07cd1)) * style(docs): add CrackingShells brand theme stylesheets for MkDocs ([c5cec5b](c5cec5b)) * style(docs): apply CrackingShells org theme to MkDocs ([7749d48](7749d48)) * fix(ci): inline pypi publish jobs to satisfy trusted publishing ([fc81e78](fc81e78)) * fix(ci): rename caller workflow to match pypi trusted publisher ([7d2634d](7d2634d)) * fix(mcp-hosts): add explicit HTTP transport type for Claude URL-based co ([62f99cf](62f99cf)) * fix(mcp-hosts): always set HTTP transport type for Claude URL-based conf ([904f22b](904f22b)) * fix(mcp-hosts): close validation and test coverage gaps ([9d7f0e5](9d7f0e5)) * fix(mcp-hosts): remove redundant Claude Desktop/Code URL validation ([d6a75a8](d6a75a8)) * fix(mcp-opencode): anchor JSONC comment regex in write_configuration ([a35d3a2](a35d3a2)) * fix(mcp-opencode): anchor JSONC comment regex to line start ([d8f3a75](d8f3a75)) * fix(mcp-opencode): make serialize() canonical-form; add test fixes ([ee1d915](ee1d915)) * test(mcp-augment): register test fixtures and update tests ([294d0d8](294d0d8)) * test(mcp-fixtures): add opencode entry to canonical_configs.json ([5ae3b57](5ae3b57)) * test(mcp-fixtures): register opencode in host_registry.py ([734b3c0](734b3c0)) * test(mcp-hosts): keep mistral vibe in shared adapter coverage ([1a81ae0](1a81ae0)) * test(mcp): add fixture for claude remote setup ([d1cc2b0](d1cc2b0)) * test(mcp): fix whitespace in Claude transport serialization test ([b5c7191](b5c7191)) * feat(cli): add --log-level flag and default log output to WARNING ([1e3817f](1e3817f)) * feat(cli): let shared mcp configure target mistral vibe ([0e801d0](0e801d0)) * feat(mcp-adapter): add OpenCodeAdapter with serialize transforms ([28e3bdf](28e3bdf)) * feat(mcp-augment): add enum value and constant ([8b22594](8b22594)) * feat(mcp-augment): implement AugmentAdapter ([5af34d1](5af34d1)) * feat(mcp-augment): implement AugmentHostStrategy ([b13d9d0](b13d9d0)) * feat(mcp-augment): wire AugmentAdapter into integration points ([367b736](367b736)) * feat(mcp-fields): add OPENCODE_FIELDS constant ([b9ddf43](b9ddf43)) * feat(mcp-hosts): let hatch manage mistral vibe configs ([f213971](f213971)) * feat(mcp-models): add opencode oauth fields to MCPServerConfig ([2bae600](2bae600)) * feat(mcp-registry): register OpenCodeAdapter in adapter registry ([20e0fc8](20e0fc8)) * feat(mcp-strategy): add OpenCodeHostStrategy with JSONC read/write ([8bb590a](8bb590a)) * feat(mcp-wiring): add opencode to backup and reporting ([7d0b075](7d0b075)) * feat(registry): add transient dim status on cache refresh ([09dd517](09dd517)) * feat(skill): add adapter contract reference ([336fced](336fced)) * feat(skill): add discovery guide reference ([8061c5f](8061c5f)) * feat(skill): add strategy contract reference ([cf9b807](cf9b807)) * feat(skill): add testing fixtures reference ([070894c](070894c)) * feat(skill): write SKILL.md with 5-step workflow ([8984a3a](8984a3a)) * ci: semantic-release streamlining ([db0fb91](db0fb91)) * refactor(logging): remove forced setLevel(INFO) from all module loggers ([fb2ee4c](fb2ee4c)) * refactor(registry): demote startup and fetch INFO logs to DEBUG ([df97e58](df97e58))
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Features
MCP Host Support Additions
Adds full adapter + strategy implementation for OpenCode with JSONC read/write, OAuth field support, and canonical-form serialization. Includes new fields (
opencode_oauth_scope,opencode_oauth_disable) and auto-generates 20+ test cases.Implements full adapter contract for Augment Code with field validation, test coverage, and integration across all host points. Adds missing validations for Codex host detection.
Introduces complete MCP host support with new discriminator fields (
transport,prompt,sampling_enabled,api_key_env, etc.), cross-host sync capabilities, and CLI flag mappings. Adds 10+ new test cases.Bug Fixes
ClaudeAdapter.serialize()now explicitly includes"type": "http"for URL-based remote configurations, fixing downstream consumer compatibility.Anchored regex to line start (
^\s*#) inwrite_configuration()to prevent stripping#characters from inline string values.EnvironmentPackageEntry.validate_host_names()missing"codex"host support restored; adapter registry mappings updated for new hosts.Documentation Updates
Added OpenCode and Augment Code to all host list pages and API CLI reference; corrected LM Studio canonical name (
lmstudioinstead oflm-studio) to matchMCPHostType.LMSTUDIO.Updated architecture and extension guides to match current adapter pattern (
validate_filtered()pipeline), testing infrastructure (canonical_configs.json,host_registry.py), and 4-step extension workflow.Removed resolved v0.4.2 issues (TTY detection, hatch-validator dependency) and updated cache path references (
.hatch/cache/*→.hatch/packages/*).Developer Experience
Packages a skill that enables an LLM agent to autonomously add support for any new MCP host platform to Hatch. The skill follows a 5-step structured process: Discover, Declare, Adapt, Strategize, Wire & Test. This was dogfooded to add support for OpenCode, Mistral Vibe, and Augment Code's Auggie and Intent
Consolidated release/publish/Discord notification workflows into a single orchestrated pipeline (
semantic-release.yml). Renamedpublish.yml→pypi-publish.ymlto satisfy PyPI trusted publisher requirements.--log-levelflag ([v0.8.1-dev.2] Augment MCP host support & CLI logging improvements #48)New top-level flag accepted by all commands:
hatch --log-level {DEBUG,INFO,WARNING,ERROR} <command>WARNING; operationalINFOlogs available without output clutter.Brief status line (
Refreshing registry cache...) appears onstderrduring stale cache refresh and auto-clears on completion.