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

# Interface ProjectCommandExposure

```typescript
interface ProjectCommandExposure {
    catalog: ProjectCommandCatalog;
    dispose(): void;
    ready(): void;
}
```

Types: [catalog](#catalog), [ProjectCommandCatalog](core.ProjectCommandCatalog.md), [dispose](#dispose-1), [ready](#ready-1)

##### Index

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

[catalog](#catalog)

### <a id="methods"></a>Methods

[dispose](#dispose) [ready](#ready)

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

### <a id="catalog"></a>`Readonly`catalog

```typescript
catalog: ProjectCommandCatalog
```

Types: [ProjectCommandCatalog](core.ProjectCommandCatalog.md)

## <a id="methods-1"></a>Methods

### <a id="dispose"></a>dispose

*   <a id="dispose-1"></a>
    
    ```typescript
    dispose(): void
    ```
    
    #### Returns void
    

### <a id="ready"></a>ready

*   <a id="ready-1"></a>
    
    ```typescript
    ready(): void
    ```
    
    Publish one build-bound readiness signal after the command service and all data mirrors it depends on are ready to serve cross-project calls. Idempotent; a disposed exposure cannot publish readiness.
    
    #### Returns void
