> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cirron.com/llms.txt
> Use this file to discover all available pages before exploring further.

# status

> Check project status, local and remote.

# cirron status

Check the status of your Cirron project, including local git/build status and remote deployment status.

## Usage

```bash theme={null}
cirron status [options]
```

## Options

| Option         | Description                   | Default |
| -------------- | ----------------------------- | ------- |
| `--remote, -r` | Show remote deployment status | false   |

## What It Shows

* **Local Status**
  * Current git branch
  * Git status (clean or uncommitted changes)
  * Last build status (success based on output directory existence)
* **Remote Status** (with `--remote`)
  * Last deployment status (success/failed/pending)
  * Deployment environment and timestamp
  * Deployment URL (if available)
* **Environments**
  * List of configured environments and their deployment status

## Examples

### Check Local Status

```bash theme={null}
cirron status
```

### Check Local and Remote Status

```bash theme={null}
cirron status --remote
```

## Output

* Local status includes git branch, build status, and uncommitted changes
* Remote status shows the most recent deployment (limit: 1)
* Environments section shows deployment status for each configured environment

#### Example Output

```bash theme={null}
Project Status: my-model

Local Status
Current branch: main
Git status: clean
Last build: success

Remote Status
Last deployment: success
Environment: production
Deployed: 6/10/2024, 2:34:56 PM
URL: https://my-model.cirron.app

Environments
  development: configured
  staging: deployed (https://staging.cirron.app)
  production: deployed (https://my-model.cirron.app)
```

## How It Works

### Local Status Check

* **Git Status**: Uses `git status --porcelain` to check for uncommitted changes
* **Current Branch**: Uses `git branch --show-current` to get the active branch
* **Build Status**: Checks if the configured `outputDir` exists in the project
* **Git Repository**: Gracefully handles cases where git is not available or not a git repo

### Remote Status Check

* **Authentication**: Requires valid API token to fetch remote data
* **Last Deployment**: Fetches only the most recent deployment (limit: 1)
* **Environment Status**: Shows deployment status for environments that match the last deployment
* **Error Handling**: Silently fails if remote status cannot be fetched

### Environment Display

* Shows all configured environments from `cirron.yaml`
* Displays deployment status for environments that match the last deployment
* Shows environment URLs if configured

## Troubleshooting

* **No cirron.yaml**: Run `cirron init` to create a project config.
* **Not Authenticated**: Run `cirron auth login` to authenticate for remote status.
* **Not a Git Repo**: Local status will skip git info if not in a git repository.
* **No Deployments**: Remote status will show 'No deployments found' if none exist.
* **Build Status Unknown**: Build status is based on output directory existence, not actual build success.

## Best Practices

* Use `status` before deploying to check for uncommitted changes
* Use `--remote` to verify last deployment before pushing updates
* Check environment URLs for correct deployment targets
* Ensure your `cirron.yaml` has proper build configuration for accurate build status

## Related

* [Deploy Command](./deploy)
* [Logs Command](./logs)
