doctor: Add Claude integration health checks#117
Merged
Conversation
Add repo-root Claude asset inspection to sce doctor using embedded setup asset hashes, including grouped plugin, agent, command, and skill health. Surface missing, mismatched, and unreadable Claude assets through doctor problem kinds and human text integration rows. Co-authored-by: SCE <sce@crocoder.dev>
1820733 to
eae0dde
Compare
…detection Introduce the `integrations` top-level config key with a `target` array that records which integration targets (opencode, claude) a repo has been set up for. - Add `IntegrationsConfig` and `IntegrationTargetId` types, config parser, and resolver merge support for `integrations.target` - Implement `persist_integration_targets()` in setup service: called after successful target install to record the target(s) in `.sce/config.json` (idempotent, deduped, preserves unrelated keys) - Add target-scoped integration detection in doctor: reads `integrations.target` from config, falls back to directory detection when absent, and renders no-integrations guidance when no targets exist - Register `NoIntegrationsInstalled` problem kind in lifecycle types - Update Pkl schema and generated JSON schema for `integrations.target` - Update `.sce/config.json` to record existing `["claude", "opencode"]` targets - Sync context docs to reflect the new config key, persistence behavior, and doctor resolution rules Co-authored-by: SCE <sce@crocoder.dev>
eae0dde to
b5c3d7d
Compare
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.
Summary
Make
sce doctorintegration checks target-aware and add Claude health validation.Changes
Target-aware integration checks
sce doctornow inspects only the integration targets that are configured or detected for the repository, rather than unconditionally checking both OpenCode and Claude.sce setup --opencode,--claude, and--bothpersist the selected target(s) into.sce/config.jsonunderintegrations.target(additive, deduped, preserves unrelated keys)sce doctorresolves targets fromintegrations.targetfirst, falls back to detecting repo-root.opencode//.claude/directoriessce doctoremits actionable guidance ("No integrations installed; runsce setup") instead of false missing-file failuresintegrationskeyClaude doctor integration health checks
sce doctornow validates Claude installed assets alongside the existing OpenCode checks, using the same SHA-256 content comparison pattern:.claude/hooks/**and.claude/settings.json→ClaudeCode plugins.claude/agents/**→ClaudeCode agents.claude/commands/**→ClaudeCode commands.claude/skills/**→ClaudeCode skillsProblemKindvalues for missing, mismatched, and unreadable assets