MCPcopy Index your code
hub / github.com/github/spec-kit / check_compatibility

Method check_compatibility

src/specify_cli/presets/__init__.py:557–587  ·  view source on GitHub ↗

Check if preset is compatible with current spec-kit version. Args: manifest: Preset manifest speckit_version: Current spec-kit version Returns: True if compatible Raises: PresetCompatibilityError: If pack is incompatible

(
        self,
        manifest: PresetManifest,
        speckit_version: str
    )

Source from the content-addressed store, hash-verified

555 self.registry = PresetRegistry(self.presets_dir)
556
557 def check_compatibility(
558 self,
559 manifest: PresetManifest,
560 speckit_version: str
561 ) -> bool:
562 """Check if preset is compatible with current spec-kit version.
563
564 Args:
565 manifest: Preset manifest
566 speckit_version: Current spec-kit version
567
568 Returns:
569 True if compatible
570
571 Raises:
572 PresetCompatibilityError: If pack is incompatible
573 """
574 required = manifest.requires_speckit_version
575 try:
576 SpecifierSet(required) # Just to validate
577 except InvalidSpecifier:
578 raise PresetCompatibilityError(f"Invalid version specifier: {required}")
579
580 if not version_satisfies(speckit_version, required):
581 raise PresetCompatibilityError(
582 f"Preset requires spec-kit {required}, "
583 f"but {speckit_version} is installed.\n"
584 f"Upgrade spec-kit with: {REINSTALL_COMMAND}"
585 )
586
587 return True
588
589 def _register_commands(
590 self,

Calls 2

version_satisfiesFunction · 0.85