{"$id": "https://hypna.space/hypnospec/draft/2025-07/schemas/feature/", "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "title": "HypnoSpec Feature Descriptor, Draft Version 2025-07", "description": "The Feature Descriptor is used to standardize unique features enabled in the Project and Sessions.", "properties": {"id": {"type": "string", "description": "A unique identifier for the project. Current standard is java-inspired. ex. 'space.hypna.feature.variables'"}, "creator": {"type": "string", "description": "Name or ID of the Creator of this Feature."}, "version": {"type": "string", "description": "Version of this Feature."}, "required": {"type": "boolean", "description": "Flag to determine if the feature is required or not."}, "useProjectLevelConfiguration": {"type": "boolean", "description": "If this schema is used in a Session Container, and this value is true, the system should read the configuration from the Project-Level Feature Schema with the same key. If the key cannot be found, fall back to this configuration."}, "dependencies": {"type": "array", "description": "List of features that are required to enable this feature. An exclamation mark in front of the string denotes an optional requirement that should raise a warning.", "items": {"type": "string"}}, "configuration": {"type": "object", "description": "The configuration of this feature. Can be any free-form configuration in this space, but should be documented somewhere for feature comparison. It is recommended that this spec be used as the base for other feature specs."}}}