-
Notifications
You must be signed in to change notification settings - Fork 176
Open
Labels
apiItems related to the APIItems related to the APIcliChanges that impact CLI functionalityChanges that impact CLI functionalityenhancementNew feature or requestNew feature or requestskillsSkills lifecycle managementSkills lifecycle managementtoolhive-platformToolHive Platform teamToolHive Platform team
Description
Description
Wire the SkillService into the ServerBuilder, initialize all skill dependencies when thv serve starts, and add E2E tests covering the full skill lifecycle.
Context
Part of the Skills Lifecycle Management epic. This is the final integration task that brings all components together and validates the full workflow end-to-end.
Dependencies: REST API skills handlers, Groups integration for skills
Blocks: None (final task)
Acceptance Criteria
-
thv serveinitializes skill dependencies (OCI store, registry client, packager, state manager, installer, skill service) -
ServerBuilder.Build()wiresSkillServiceinto the skills router -
createDefaultManagers()or equivalent creates skill service with all dependencies - E2E tests cover full lifecycle:
- Build a test skill → push to test registry → install → list (verify present) → info → uninstall → list (verify absent)
- Validate command with valid/invalid skill directories
- Overwrite protection (install over unmanaged skill fails without --force)
- Group assignment on install, group-filtered listing
- E2E tests verify CLI → REST API → service flow
- All tests pass, SPDX headers present
Technical Approach
Follow existing thv serve initialization patterns. E2E tests follow test/e2e/ patterns.
Code Pointers
pkg/api/server.go—createDefaultManagers()for initialization patterncmd/thv/app/serve.go— serve command setuptest/e2e/— E2E test patterns
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
apiItems related to the APIItems related to the APIcliChanges that impact CLI functionalityChanges that impact CLI functionalityenhancementNew feature or requestNew feature or requestskillsSkills lifecycle managementSkills lifecycle managementtoolhive-platformToolHive Platform teamToolHive Platform team