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

# vibe status

> Check the status of your VibeHub repository

## Usage

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

## Description

Display the current status of your VibeHub repository, including sync state, connected project, and pending changes.

## Options

<ParamField query="--verbose" type="boolean">
  Show detailed status information including file lists.
</ParamField>

<ParamField query="--json" type="boolean">
  Output status in JSON format for scripting.
</ParamField>

## Examples

### Basic Status

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

### Verbose Status

```bash theme={null}
vibe status --verbose
```

### JSON Output

```bash theme={null}
vibe status --json
```

## Output

### Connected and Synced

```
VibeHub Status
─────────────
Project:    username/my-project
Branch:     main
Status:     ✓ Up to date

Last push:  2 hours ago
Last pull:  2 hours ago
```

### Changes Pending

```
VibeHub Status
─────────────
Project:    username/my-project
Branch:     main
Status:     ⚠ Changes not pushed

Local changes:
  • 3 commits ahead
  • 5 files modified

Run 'vibe push' to sync.
```

### Not Connected

```
VibeHub Status
─────────────
Status:     ✗ Not connected

Run 'vibe set <project-url>' to connect to a project.
```

### Not Initialized

```
VibeHub Status
─────────────
Status:     ✗ Not initialized

Run 'vibe init' to set up VibeHub in this directory.
```

## Status Indicators

| Indicator            | Meaning                              |
| -------------------- | ------------------------------------ |
| ✓ Up to date         | Local and remote are in sync         |
| ⚠ Changes not pushed | Local commits need to be pushed      |
| ⚠ Behind remote      | Remote has commits you don't have    |
| ✗ Not connected      | No VibeHub project connected         |
| ✗ Not initialized    | VibeHub not set up in this directory |

## Verbose Output

With `--verbose`, you'll also see:

```
VibeHub Status (verbose)
───────────────────────
Project:    username/my-project
URL:        https://vibehub.co.in/username/my-project
Branch:     main
Status:     ⚠ Changes not pushed

Local commits (not pushed):
  • abc1234 - Add user authentication
  • def5678 - Fix login bug
  • ghi9012 - Update readme

Modified files:
  • src/auth.js
  • src/login.js
  • README.md
  • package.json
  • tests/auth.test.js

Run 'vibe push' to sync.
```

## JSON Output

For scripting and automation:

```bash theme={null}
vibe status --json
```

```json theme={null}
{
  "initialized": true,
  "connected": true,
  "project": {
    "name": "my-project",
    "owner": "username",
    "url": "https://vibehub.co.in/username/my-project"
  },
  "branch": "main",
  "synced": false,
  "commitsAhead": 3,
  "commitsBehind": 0,
  "modifiedFiles": 5
}
```

## Use Cases

<AccordionGroup>
  <Accordion title="Before Pushing" icon="cloud-arrow-up">
    Check status to see what will be pushed:

    ```bash theme={null}
    vibe status --verbose
    vibe push
    ```
  </Accordion>

  <Accordion title="Debugging Sync Issues" icon="bug">
    Use verbose mode to understand sync state:

    ```bash theme={null}
    vibe status --verbose
    ```
  </Accordion>

  <Accordion title="Scripting" icon="code">
    Use JSON output in scripts:

    ```bash theme={null}
    if vibe status --json | jq -e '.synced == false'; then
      vibe push
    fi
    ```
  </Accordion>
</AccordionGroup>

## Related Commands

* [vibe push](/cli/commands/push) - Push local changes
* [vibe pull](/cli/commands/pull) - Pull remote changes
* [vibe init](/cli/commands/init) - Initialize repository
