> ISPO SDK documentation. [HTML](https://ispo.ai/docs/interfaces/core.Supporting_types.ProjectCommandSchema.html) · [Documentation index](https://ispo.ai/docs/llms.txt)

# Interface ProjectCommandSchema

The complete supported project-command schema vocabulary.

```typescript
interface ProjectCommandSchema {
    additionalProperties?: boolean | ProjectCommandSchema;
    const?: ProjectCommandJsonValue;
    enum?: readonly ProjectCommandJsonValue[];
    items?: ProjectCommandSchema;
    maximum?: number;
    maxItems?: number;
    maxLength?: number;
    minimum?: number;
    minItems?: number;
    minLength?: number;
    properties?: Readonly<Record<string, ProjectCommandSchema>>;
    required?: readonly string[];
    type?: ProjectCommandSchemaType;
    readonly [keyword: string]: ProjectCommandSchemaKeywordValue;
}
```

Types: [additionalProperties](#additionalproperties), ProjectCommandSchema, [const](#const), [ProjectCommandJsonValue](../types/core.Supporting_types.ProjectCommandJsonValue.md), [enum](#enum), [items](#items), [maximum](#maximum), [maxItems](#maxitems), [maxLength](#maxlength), [minimum](#minimum), [minItems](#minitems), [minLength](#minlength), [properties](#properties), [required](#required), [type](#type), [ProjectCommandSchemaType](../types/core.Supporting_types.ProjectCommandSchemaType.md), [ProjectCommandSchemaKeywordValue](../types/core.Supporting_types.ProjectCommandSchemaKeywordValue.md)

#### Indexable

*   ```typescript
    readonly [keyword: string]: ProjectCommandSchemaKeywordValue
    ```
    
    Types: [ProjectCommandSchemaKeywordValue](../types/core.Supporting_types.ProjectCommandSchemaKeywordValue.md)
    
    Structural compatibility for consumers that render schema metadata as a generic record. Runtime/catalog admission still rejects every key outside `PROJECT_COMMAND_SCHEMA_KEYWORDS`.
    

##### Index

### <a id="properties-1"></a>Properties

[additionalProperties?](#additionalproperties) [const?](#const) [enum?](#enum) [items?](#items) [maximum?](#maximum) [maxItems?](#maxitems) [maxLength?](#maxlength) [minimum?](#minimum) [minItems?](#minitems) [minLength?](#minlength) [properties?](#properties) [required?](#required) [type?](#type)

## <a id="properties-2"></a>Properties

### <a id="additionalproperties"></a>`Optional` `Readonly`additionalProperties

```typescript
additionalProperties?: boolean | ProjectCommandSchema
```

Types: ProjectCommandSchema

### <a id="const"></a>`Optional` `Readonly`const

```typescript
const?: ProjectCommandJsonValue
```

Types: [ProjectCommandJsonValue](../types/core.Supporting_types.ProjectCommandJsonValue.md)

### <a id="enum"></a>`Optional` `Readonly`enum

```typescript
enum?: readonly ProjectCommandJsonValue[]
```

Types: [ProjectCommandJsonValue](../types/core.Supporting_types.ProjectCommandJsonValue.md)

### <a id="items"></a>`Optional` `Readonly`items

```typescript
items?: ProjectCommandSchema
```

Types: ProjectCommandSchema

### <a id="maximum"></a>`Optional` `Readonly`maximum

```typescript
maximum?: number
```

### <a id="maxitems"></a>`Optional` `Readonly`maxItems

```typescript
maxItems?: number
```

### <a id="maxlength"></a>`Optional` `Readonly`maxLength

```typescript
maxLength?: number
```

### <a id="minimum"></a>`Optional` `Readonly`minimum

```typescript
minimum?: number
```

### <a id="minitems"></a>`Optional` `Readonly`minItems

```typescript
minItems?: number
```

### <a id="minlength"></a>`Optional` `Readonly`minLength

```typescript
minLength?: number
```

### <a id="properties"></a>`Optional` `Readonly`properties

```typescript
properties?: Readonly<Record<string, ProjectCommandSchema>>
```

Types: ProjectCommandSchema

### <a id="required"></a>`Optional` `Readonly`required

```typescript
required?: readonly string[]
```

### <a id="type"></a>`Optional` `Readonly`type

```typescript
type?: ProjectCommandSchemaType
```

Types: [ProjectCommandSchemaType](../types/core.Supporting_types.ProjectCommandSchemaType.md)
