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

# Projects

> Projects define an application within your organization and connect its environments, configuration, and deployment settings.

## Viewing Projects

To list all projects for the **current organization**, run:

```bash theme={null}
ghostable project list
```

This command displays every project you have access to within your active organization — including
project names, IDs, and associated environments.

<Note>
  Project management now lives under the `project` parent. Legacy colon commands (`ghostable
        project:list`) are deprecated but still available for backwards compatibility.
</Note>

Project-specific settings such as **notifications**, **access control overrides**, and **deployment
settings** can be managed through the [Ghostable web app](https://ghostable.dev).

From there, you can fine-tune project behavior, manage integrations, and review environment activity
in one place.

## Initializing Your Repository

Run the project bootstrapper from the root of your repo:

```bash theme={null}
ghostable init
```

The wizard now captures far more context so the CLI (and dashboard) know how to help you later.
Expect the following flow:

1. **Project selection** – choose an existing project inside the active organization or pick
   `[Create a new project]`.
2. **Name & description** – only shown when creating a new project.
3. **Stack profiling** – three cascading prompts capture your language, framework, and platform:
   * *Primary language*: PHP, JavaScript/TypeScript, Python, Ruby, or Other.
   * *Framework*: filtered list based on your language (e.g., Laravel, Next.js, FastAPI, Rails, or
     “Other / custom”).
   * *Platform / runtime*: options expand based on the framework. Choosing Laravel exposes Vapor,
     Forge, and Cloud, followed by common platforms like Docker, Kubernetes, Vercel, Netlify,
     Render, Fly.io, AWS, DigitalOcean, or “Other / self-hosted.”
4. **Manifest creation** – the CLI writes `.ghostable/ghostable.yaml` with the selected stack,
   deployment provider, and every environment currently on the project.

Example interactive session (trimmed for brevity):

```bash theme={null}
$ ghostable init
? Which project should this directory be linked to?  [Create a new project]
? What is the name of this project?  Redwood API
? Add a short description for this project (optional):  Public API + admin UI
? Which language powers this project?  JavaScript / TypeScript
? Which framework do you use?  Next.js
? Where will you deploy this project?  Vercel
✅ Project created: Redwood API
✅ Redwood API initialized. .ghostable/ghostable.yaml created.
```

The resulting manifest now records the stack profile alongside your environments:

```yaml Example theme={null}
id: 019b6fd8-5c11-7b44-8d62-40a2c4f1b810
name: redwood-api
stack:
    language: javascript_typescript
    framework: nextjs
    platform: vercel
environments:
    development:
        type: development
    production:
        type: production
    staging:
        type: staging
```

If you link to an existing project, the CLI pulls any previously defined stack + environments from
the API and writes the same structure. Commit this manifest—it's safe, contains no secrets, and
keeps future commands (push, pull, deploy, etc.) aware of your project defaults.

***

## Deleting Projects

Projects can only be deleted through the [Ghostable web app](https://ghostable.dev). This action is
not available via the CLI.

When you delete a project, all associated environments and their stored metadata will be permanently
removed. This action is irreversible, so proceed with caution.

Ghostable does not delete any data outside of its own system. If you’ve pulled or synced `.env`
files to your local machine or other services, those copies will remain until removed manually.
