feat: native plugin architecture with interactive courses and changelog reports (v1.1.0)#20
feat: native plugin architecture with interactive courses and changelog reports (v1.1.0)#20
Conversation
Collapse dual plugin/script-install architecture into single plugin system. Port Python search intelligence to shell scripts within dedicated skills, maintaining zero-dependency promise for users. New skills: - claude-docs/ — auto-discovery + 4-tier search (direct, scoped, content, fuzzy) - claude-docs-validate/ — doc health checks with parallel HTTP validation Shell scripts replacing Python user-facing layer: - content-search.sh — keyword search via .search_index.json or grep fallback - fuzzy-search.sh — token-based filename matching with scoring - validate-paths.sh — parallel curl-based URL reachability checks Rewrites: - /docs command → lean router delegating to skills (86 → 36 lines) - install.sh → migration wrapper routing to plugin (779 → 115 lines) - uninstall.sh → plugin uninstall pointer (136 → 45 lines) - CLAUDE.md → streamlined for plugin-only architecture (527 → 190 lines) CI scripts (scripts/, tests/, .github/) untouched — repo infrastructure only.
…5 edge-case tests
…ame matching for stop-word keywords
…dd filename matching for stop-word keywords" This reverts commit b3bfdfd.
…3 more search tests
…arch + 2 new tests
…for __) + 5 URL tests
…nded routing + 3 tests
…ting + 2 more tests
… filter + 2 tests
…ulti-keyword tests
Validation tests failed daily because they hardcoded category names and count ranges that drifted as Anthropic's sitemaps changed. Replace with invariant-based checks that hold regardless of upstream doc structure. Test fixes: - test_sitemap_consistency: check structural categories exist (not exact list) - test_sitemap_consistency: validate all categories non-empty (dynamic) - test_sitemap_consistency: assert total >= 200 and api_reference > 50% - test_manifest_validation: compare search index to files on disk (not manifest) Cleanup: - Remove enhancements/ (obsolete pre-v1.0.0 docs) - Remove verify-skills.sh (completed autoresearch metric) Docs alignment: - Fix skill name claude-docs-search → claude-docs in CLAUDE.md - Remove hardcoded counts from CONTRIBUTING.md, README.md, index.html - Fix stale filename convention examples in CONTRIBUTING.md - Remove legacy claude-docs-helper.sh references from CONTRIBUTING.md - Remove legacy curl|bash install from landing page - Bump pyproject.toml version 0.5.0 → 1.0.0
- Fix docs.md router referencing old skill name claude-docs-search → claude-docs - Remove remaining hardcoded "6 categories" in CLAUDE.md Key Files section - Remove !enhancements/ gitignore exception for deleted directory
Add two new plugin skills that transform documentation into rich visual experiences: - claude-docs-course: generates self-contained HTML courses on any Claude topic with scroll-based modules, protocol conversations, code translations, quizzes, and glossary tooltips. Features the Obsidian & Amber design theme (dark obsidian backgrounds, Instrument Serif typography, warm amber accents, grain textures). - claude-docs-changelog: generates HTML reports of recent doc changes via git history, with categorized cards and "Create Course" buttons that copy course commands to clipboard. Routes added to /docs command: --course <topic> and --report [timeframe]. Post-response course prompt added to claude-docs search skill.
- Bump plugin version to 1.1.0 in plugin.json and CLAUDE.md - Fix course example referencing wrong font stack (Bricolage → Instrument Serif) - Fix color label mismatches in interactive-elements.md (vermillion → amber, forest → sky blue) to match Obsidian & Amber design-system.md - Replace stale hardcoded rgba(217,79,48) with var(--color-accent-glow) - Unify blue color value between changelog and design system (#60A0E0)
|
hello test |
Claude Code Documentation Mirror - Enhanced Edition
This repository contains local copies of Claude documentation from multiple Anthropic sources:
The docs are periodically updated via GitHub Actions with safeguards to prevent mass deletion. Architecture: Plugin-Based Documentation SystemThis repository delivers documentation via a Claude Code plugin. The plugin provides:
Plugin StructureSearch intelligence lives in the skills, not in CLAUDE.md. See For /docs CommandThe
Search intelligence, synthesis rules, and URL generation live in CI/CD Scripts (Python, repo-only)The
These require Python 3.9+ and are only executed in GitHub Actions workflows. Repository StructureKey FilesWhen working on this repository, read these files as needed (not auto-loaded to save context): Plugin Files
CI/CD Scripts (Python)
Automation
Documentation Deletion SafeguardsThe automated sync system includes multiple safeguards to prevent catastrophic documentation loss. These were implemented after a critical bug where 80%+ of documentation was deleted due to broken sitemap URLs. Safety Thresholds (in
|
| Constant | Value | Purpose |
|---|---|---|
MIN_DISCOVERY_THRESHOLD |
200 | Minimum paths that must be discovered from sitemaps |
MAX_DELETION_PERCENT |
10 | Maximum percentage of files that can be deleted in one sync |
MIN_EXPECTED_FILES |
250 | Minimum files that must remain after sync |
How Safeguards Work
- Discovery Validation: Before fetching, validates that sitemap discovery found enough paths
- Deletion Limiting:
cleanup_old_files()refuses to delete more than 10% of existing files - File Count Validation: Refuses to proceed if result would have fewer than 250 files
- Workflow Validation: GitHub Actions validates sync success before committing
Sitemap Sources
Documentation is discovered from two sitemaps:
https://platform.claude.com/sitemap.xml- Platform documentation (API, guides, etc.)https://code.claude.com/docs/sitemap.xml- Claude Code CLI documentation
Filename Conventions
Files are named based on their source:
- Claude Code CLI docs:
claude-code__<page>.md(e.g.,claude-code__hooks.md) →https://code.claude.com/docs/en/<page> - Platform docs:
docs__en__<section>__<page>.md(e.g.,docs__en__agent-sdk__python.md) →https://platform.claude.com/en/docs/<section>/<page>
Working on This Repository
Development Setup
# Install Python dependencies for CI scripts (uses uv)
uv sync --group devTesting
# Test plugin search scripts manually
DOCS_DIR=./docs ./plugin/skills/claude-docs/scripts/content-search.sh "hooks"
DOCS_DIR=./docs ./plugin/skills/claude-docs/scripts/fuzzy-search.sh "agent sdk"
DOCS_DIR=./docs ./plugin/skills/claude-docs-validate/scripts/validate-paths.sh --quick
# Test CI Python scripts
python3 scripts/lookup_paths.py --search "mcp"
pytest tests/ -v
# Run full CI test suite
pytest tests/ -qUpstream Compatibility
This enhanced edition maintains compatibility with upstream (ericbuess/claude-code-docs):
- Same installation location (~/.claude-code-docs)
- Same
/docscommand interface - Plugin features are additive, not breaking
Changelog - Enhanced EditionAll notable changes to the enhanced edition of claude-code-docs will be documented in this file. The format is based on Keep a Changelog, [1.1.0] - 2026-03-28Added
Changed
[1.0.0] - 2026-03-28Breaking Changes
Added
Changed
Removed
[0.6.0] - 2026-02-28Added
Changed
Fixed
[0.5.1] - 2026-02-27Fixed
Added
Changed
Updated
[0.5.0] - 2025-12-06Breaking Changes
Added
Changed
Upgrade Notes
[0.4.2] - 2025-11-25Fixed
Removed
Added
Changed
[0.4.1] - 2025-11-24Fixed
Changed
[0.4.0] - 2025-11-24Note: This tag was created but version strings in code were not updated (still showed v0.3.4). Fixed in v0.4.1. [0.3.4] - 2025-11-06Added
Changed
Improved
Fixed
Removed
[0.3.3] - Upstream BaselineInherited from Upstream
ContributingSee CONTRIBUTING.md for guidelines on contributing to this enhanced edition. For upstream contributions, see ericbuess/claude-code-docs. |
1 similar comment
Changelog - Enhanced EditionAll notable changes to the enhanced edition of claude-code-docs will be documented in this file. The format is based on Keep a Changelog, [1.1.0] - 2026-03-28Added
Changed
[1.0.0] - 2026-03-28Breaking Changes
Added
Changed
Removed
[0.6.0] - 2026-02-28Added
Changed
Fixed
[0.5.1] - 2026-02-27Fixed
Added
Changed
Updated
[0.5.0] - 2025-12-06Breaking Changes
Added
Changed
Upgrade Notes
[0.4.2] - 2025-11-25Fixed
Removed
Added
Changed
[0.4.1] - 2025-11-24Fixed
Changed
[0.4.0] - 2025-11-24Note: This tag was created but version strings in code were not updated (still showed v0.3.4). Fixed in v0.4.1. [0.3.4] - 2025-11-06Added
Changed
Improved
Fixed
Removed
[0.3.3] - Upstream BaselineInherited from Upstream
ContributingSee CONTRIBUTING.md for guidelines on contributing to this enhanced edition. For upstream contributions, see ericbuess/claude-code-docs. |
|
test cleanup - this comment will be deleted |
Summary
Transforms claude-code-docs from a script-based tool into a native Claude Code Plugin with a 4-skill architecture:
claude-docs— 4-tier search skill (direct → scoped → content → fuzzy) with shell scripts, worked examples, and SDK language disambiguationclaude-docs-validate— HTTP reachability checks with--quickmodeclaude-docs-course— Interactive HTML course generator with Obsidian & Amber design theme (Instrument Serif + Outfit typography, dark obsidian backgrounds, warm amber accents, grain textures, 18 interactive element patterns including Protocol Conversations)claude-docs-changelog— HTML changelog reports of recent doc changes via git history, with "Create Course" buttons that copy course commands to clipboardKey changes
/docscommand rewritten as lean skill router (~54 lines) with routes:--course <topic>,--report [timeframe],-t,--stats, and default search.gitignoreupdated to exclude reference projects and generated HTMLNew files (8)
plugin/skills/claude-docs-course/SKILL.mdplugin/skills/claude-docs-course/references/design-system.mdplugin/skills/claude-docs-course/references/interactive-elements.mdplugin/skills/claude-docs-course/examples/course-from-docs.mdplugin/skills/claude-docs-changelog/SKILL.mdplugin/skills/claude-docs-changelog/examples/changelog-report.mdplugin/skills/claude-docs/scripts/content-search.shplugin/skills/claude-docs/scripts/fuzzy-search.shTest plan
DOCS_DIR=./docs ./plugin/skills/claude-docs/scripts/content-search.sh "hooks"DOCS_DIR=./docs ./plugin/skills/claude-docs/scripts/fuzzy-search.sh "agent sdk"🤖 Generated with Claude Code