feat(plantuml): add plantuml plugin with maintenance layer#6
Merged
MrBogomips merged 11 commits intomainfrom Apr 25, 2026
Merged
feat(plantuml): add plantuml plugin with maintenance layer#6MrBogomips merged 11 commits intomainfrom
MrBogomips merged 11 commits intomainfrom
Conversation
…ema doc
- plantuml/skills/plantuml-bootstrap/SKILL.md: ports ~/.claude/commands/plantuml-init.md
to plugin-scoped skill; resolves templates via ${CLAUDE_PLUGIN_ROOT}; dispatches
mode=bootstrap (default) and mode=reverse
- plantuml/commands/plantuml-init.md: thin command wrapper that delegates to the
plantuml-bootstrap skill with --reverse flag mapping
- plantuml/docs/policy-schema.md: copy of plantuml-authoring/project-config.md exposed
as reference doc under docs/ (original left in place for skill progressive disclosure)
- plantuml/tests/smoke/test-bootstrap.sh: TDD red→green static smoke test validating
SKILL.md frontmatter, ${CLAUDE_PLUGIN_ROOT} reference, and mode argument
Add Phase 4 components for render-aware validation: - plantuml-validate skill (orchestrator): mode=check|bless, level=checkonly|svg-hash|png-perceptual, parallel Task dispatch to puml-renderer in batches of ≤8, optional puml-visual-checker on bless - puml-renderer agent (Haiku): handles checkonly and svg-hash levels, returns JSON status per (file, target) cell - puml-visual-checker agent (Sonnet): vision-capable smoke check for color, font, layout on rendered PNG baselines - test-validate.sh: static smoke test (TDD red→green)
…ision, renderer fail diff
Add plantuml-review and plantuml-advisor skills with explicit model:sonnet, no Task dispatch, structured output sections, and static smoke tests (TDD red→green for both).
…detection Implements Phase 6: - plantuml-migrate skill (Sonnet orchestrator): reads Policy from CLAUDE.md, computes expected .plantuml/ content in-memory, detects manual edits via SHA-256 hash divergence (shasum -a 256, BSD-compatible), presents three options on divergence (promote-to-policy / overwrite / abort), dispatches puml-migrator per .puml file in parallel, and runs plantuml -checkonly. - puml-migrator agent (Haiku worker): applies declarative edit plans (replace_include, rename_var, update_target_directive) and returns a JSON status with applied/skipped arrays. - Static smoke test (TDD red→green).
…ormalization, agent contract
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
plantumlplugin to the marketplace, packaging the existing user-global PlantUML assets into a portable, distributable component.plantuml-authoringandplantuml-convertskills with a maintenance layer: lint, validate, review, advisor, and migrate.Components
plantuml-authoring,plantuml-convert,plantuml-bootstrap,plantuml-lint,plantuml-validate,plantuml-review,plantuml-advisor,plantuml-migratepuml-linter,puml-renderer,puml-migrator,puml-visual-checker/plantuml-init(thin wrapper delegating toplantuml-bootstrap)plantuml/tests/smoke/test-*.shminimal-projectfixture for smoke testingProcess
11 commits, alternating
feat(per phase) andfix(post-review polish):Implementation followed brainstorming → spec → plan → subagent-driven execution with two-stage review (spec compliance + code quality) per phase. Spec at
.docs/specs/2026-04-25-plantuml-plugin-design.md, plan at.docs/plans/2026-04-25-plantuml-plugin.md(both gitignored, working-doc convention).Test plan
bash tests/ci/run-structural-tests.sh— passesmarketplace.jsonandplantuml/.claude-plugin/plugin.jsonversions aligned at1.0.0/plantuml-init→ authoring → lint → validate (bless) → migrate → validate (check) → review/advisorpuml-visual-checkeron a sample PNG renderplantuml-v1.0.0after manual verificationKnown limitations (v1.0.0)
plantuml-validate level=png-perceptualis unimplemented (returnsunsupported)plantuml-migratehas no concurrent-edit lockingpuml-visual-checkeris build-time only (not user-facing)level=svg-hashrequires pinned fonts; defaultlevel=checkonlyis the safest option