File tree Expand file tree Collapse file tree
src/specify_cli/integrations Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -516,6 +516,22 @@ def _validate(self) -> None:
516516 raise IntegrationDescriptorError (
517517 "requires.speckit_version must be a non-empty string"
518518 )
519+ tools = requires .get ("tools" )
520+ if tools is not None :
521+ if not isinstance (tools , list ):
522+ raise IntegrationDescriptorError (
523+ "requires.tools must be a list"
524+ )
525+ for tool in tools :
526+ if not isinstance (tool , dict ):
527+ raise IntegrationDescriptorError (
528+ "Each requires.tools entry must be a mapping"
529+ )
530+ tool_name = tool .get ("name" )
531+ if not isinstance (tool_name , str ) or not tool_name .strip ():
532+ raise IntegrationDescriptorError (
533+ "requires.tools entry 'name' must be a non-empty string"
534+ )
519535
520536 provides = self .data ["provides" ]
521537 if not isinstance (provides , dict ):
You can’t perform that action at this time.
0 commit comments