Skip to content

feat: Add Hermes Desktop integration for Spec-Kit - #5104

Open
justinbrenton wants to merge 16 commits into
github:mainfrom
justinbrenton:main
Open

justinbrenton wants to merge 16 commits into
github:mainfrom
justinbrenton:main

Conversation

@justinbrenton

Copy link
Copy Markdown

Summary

Add Hermes Desktop integration for Spec-Kit — interactive panes, Kanban sync, and Constitution Wizard.

Distribution Layer (justinbrenton/spec-kit fork)

  • presets/hermes-desktop: 5 templates + 10 commands (specify, clarify, plan, tasks, analyze, implement, converge, checklist, constitution, taskstoissues)
  • extensions/hermes-desktop: 4 hooks (git branch creation, constitution check, auto-convergence, PR preparation)
  • workflows/hermes-desktop: Visual SDD workflow with 9 gates
  • bundles/hermes-desktop: Base bundle for one-click setup

Plugin Scaffold (hermes-desktop-plugin-spec-kit)

  • plugin.yaml: config_schema for catalog URLs, 3 panes, 2 commands
  • 3 panes (.jsx, not .tsx per SDK):
    • SpecBuilder: Interactive spec.md editor with FRs, scenarios, entities, [NEEDS CLARIFICATION] markers, constitution gate validation
    • TaskBoard: Kanban from tasks.md with drag-reorder, [P] parallel groups, [US#] labels, implement button → Hermes skill dispatch
    • ConstitutionWizard: Guided 5-step decision tree (Purpose 9 → Principles 3-5 → Architecture 25 → Governance → Ratify)
  • 4 services:
    • SpecParser: Round-trip spec.md ↔ model using remark/MDX AST
    • TasksParser: Round-trip tasks.md ↔ Kanban model via host.request('kanban.*')
    • HermesDispatch: Skill invocation abstraction (CLI v1 / internal API v2)
    • SpecifyCLIBridge: Spawns

Documentation

Complete design document ( + ) with 24 sections:

  • Architecture, data flows, multi-harness strategy (6 harnesses analyzed)
  • All 3 verification spikes complete:
    1. Hermes Desktop SDK (panes, routes, nav, status bar, palette, keybinds, themes, host.request, host.skills, host.composer, host.settings, host.navigate, host.onEvent, ctx.rest, UI Kit, plugin settings)
    2. Kanban JSON-RPC (16 methods verified with full param/response schemas)
    3. Plugin load test (disk plugin auto-load + hot-reload verified)

Verification Status

All critical gaps resolved:

  • ✅ Hermes Desktop SDK verified
  • ✅ Kanban API verified (16 methods)
  • ✅ Skill invocation syntax corrected ()
  • ✅ Plugin.yaml config_schema validated
  • ✅ Profile path convention clarified
  • ⏳ Extension hook commands (implementation task)

Testing

  • Design document: 24 sections, 29 tables, 24 code blocks
  • HTML presentation: 95KB, full parity
  • Round-trip sync prototype: SpecBuilder ↔ spec.md ↔ VS Code verified
  • Plugin disk load: auto-load + hot-reload verified via githermes reference

Follow-up

Extension hook commands need implementation as skills in :

Ready for v1 build and Hermes Desktop runtime verification.

Add interactive Spec-Kit integration for Hermes Desktop with three panes:
- SpecBuilder: Interactive spec.md editor with FRs, scenarios, entities, and constitution gates
- TaskBoard: Kanban board from tasks.md with drag-reorder, parallel groups, and implement dispatch
- ConstitutionWizard: Guided 5-step decision tree (Purpose 9 -> Principles 5 -> Architecture 25 -> Governance -> Ratify)

Distribution layer (justinbrenton/spec-kit fork):
- presets/hermes-desktop: 5 templates + 10 commands
- extensions/hermes-desktop: 4 hooks (git branch, constitution check, auto-converge, PR prepare)
- workflows/hermes-desktop: Visual SDD workflow with 9 gates
- bundles/hermes-desktop: Base bundle for one-click setup

Plugin scaffold (hermes-desktop-plugin-spec-kit):
- plugin.yaml with config_schema for catalog URLs
- 3 panes (SpecBuilder, TaskBoard, ConstitutionWizard) as .jsx
- 4 services (SpecParser, TasksParser, HermesDispatch, SpecifyCLIBridge)
- Round-trip sync via host.request('kanban.*') JSON-RPC

Docs: Complete design document (design.md + design.html) with:
- 24 sections covering architecture, data flows, multi-harness strategy
- All 3 verification spikes complete (SDK, Kanban API, plugin load)
- 16 verified Kanban JSON-RPC methods with full schemas
- Plugin type clarification (disk vs agent vs unified)

All verification spikes complete. Ready for v1 build.
@justinbrenton
justinbrenton requested a review from mnriem as a code owner October 24, 2026 00:45
justinbrenton and others added 15 commits October 23, 2026 21:46
Updated logo image in README.md
Add 4 hook command skills for the hermes-desktop extension:
- speckit.git.create-branch: Create feature branch before specification
- speckit.constitution.check: Validate spec against constitution before planning
- speckit.converge.auto: Auto-run convergence check after implementation
- speckit.pr.prepare: Prepare PR with spec-kit context after convergence

These are invoked via extension hooks at each SDD phase boundary.
Updated logo image format in README.

This branch has not been deployed

No deployments
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