Skip to content

docs: bind plugin & agent sync to the release process - #226

Merged
padak merged 1 commit into
mainfrom
docs/plugin-sync-discipline
Apr 28, 2026
Merged

docs: bind plugin & agent sync to the release process#226
padak merged 1 commit into
mainfrom
docs/plugin-sync-discipline

Conversation

@padak

@padak padak commented Apr 27, 2026

Copy link
Copy Markdown
Member

Summary

  • Make CONTRIBUTING.md more binding around the plugin surface in plugins/kbagent/. CI catches drift in SKILL.md (decision table), plugin.json (version), and changelog.py -- but everything else (AGENT_CONTEXT, keboola-expert.md, gotchas.md, commands-reference.md, the ## All CLI Commands block in CLAUDE.md) is a silent-drift surface that ships broken if forgotten.
  • Add a single-glance Plugin synchronization map table and a Releasing a new version checklist so version bumps walk a manual safety net for the surfaces CI cannot see.
  • Tighten CLAUDE.md: new coding convention v0.6.0: Branch lifecycle management + security hardening #17 pointing at the new sections, a heads-up note above ## All CLI Commands, and a rewrite of the Claude Code Plugin (Marketplace) section to remove a stale parallel update list (it still told contributors to bump plugin.json by hand even though the pre-commit hook auto-syncs it).

Why

The highest silent-drift risk in the repo is plugins/kbagent/agents/keboola-expert.md: its Rule 6 VERSION GATE references hard-coded versions (flow update needs 0.22.0+, schedule find needs 0.23.0+), its tool-selection matrix has rows tagged (0.25.0+), and its inline gotchas reflect specific past incidents. Nothing in CI catches when those go stale. If a release adds a command and the keboola-expert subagent is not updated, the AI agent will either refuse the task (false negative) or fall back to MCP tool call with the old shape.

Test plan

  • make check passes (no Python touched -- expected to be a no-op for lint / format / tests)
  • Render CONTRIBUTING.md on GitHub and confirm:
    • ## Plugin synchronization map table renders as a 13-row Markdown table
    • The internal anchor link [Plugin synchronization map](#plugin-synchronization-map) from ## Releasing a new version resolves
    • Nested checkboxes under keboola-expert.md render correctly
  • Render CLAUDE.md on GitHub and confirm convention v0.6.0: Branch lifecycle management + security hardening #17 + the ## All CLI Commands blockquote appear correctly

Expand CONTRIBUTING.md "Documentation changes (mandatory!)" with three
sub-categories (CLI surface / auto-generated / plugin hand-maintained)
and explicit sub-bullets for plugins/kbagent/agents/keboola-expert.md:
Rule 6 VERSION GATE examples, the tool-selection matrix, and inline
gotchas. None of these have CI freshness checks today; the new
"Plugin synchronization map" table makes the silent-drift surface
visible at a glance, and the new "Releasing a new version" checklist
walks the manual review steps that CI cannot perform.

Add CLAUDE.md coding convention #17 that points at these new sections
and lists the silent-drift surfaces by name. Replace the stale parallel
update list under "Claude Code Plugin (Marketplace)" (which still
told contributors to bump plugin.json by hand even though the
pre-commit hook auto-syncs it from pyproject.toml) with a single
pointer to CONTRIBUTING.md, keeping one authoritative source of truth.

Add a heads-up note above CLAUDE.md "## All CLI Commands" so anyone
editing the table sees the cross-file obligations before touching it.
@padak
padak merged commit 18f521d into main Apr 28, 2026
1 check passed
@padak
padak deleted the docs/plugin-sync-discipline branch April 28, 2026 06:36
padak added a commit that referenced this pull request Apr 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant