New Projects | Ghostable CLI 3.x | Ghostable                              Menu

 New Projects

   Initialize interactively
------------------------

Run setup from the project root:

 Initialize Ghostable     Copy

 ```
$ ghostable setup

```

 Setup asks for a project name and device label, creates a `default` environment, and detects an existing root `.env`. If one exists, you can import it immediately. The importing device becomes the first project owner.

 Explicit team setup
-------------------

For a reproducible non-interactive initialization, pass every decision as a flag:

 Initialize a team project     Copy

 ```
$ ghostable setup --name "Acme API" --device-name "Jordan MacBook" --env default --env staging --env production --language php --framework laravel --package-manager composer --seed-dotenv --create-example --agent-instructions

```

 `--seed-dotenv` imports the root `.env` into `default`. Additional initial environments receive their own keys but are not automatically given the default environment's values. Use `env create --from-env` or individual promotions to seed them intentionally.

  Keep plaintext out of Git

 Setup does not make an existing `.env` safe to commit. Keep `.env` and environment-specific plaintext files in `.gitignore`; commit the generated `.env.example` and `.ghostable/` state instead.

 Review generated files
----------------------

Use status and Git to inspect the baseline before committing it:

 Inspect the baseline     Copy

 ```
$ ghostable status
$ git status --short
$ ghostable validate --env default

```

 The new `.ghostable/` directory contains a manifest, signed policy, public device record, environment keys and grants, encrypted values, key metadata, and signed events. Your private device keys are stored outside the repository.

 Commit the baseline
-------------------

 Commit Ghostable state     Copy

 ```
$ git add .ghostable .env.example AGENTS.md
$ git commit -m "Initialize Ghostable v3"

```

 Review `.ghostable/` diffs with the same care as application code. The values are encrypted, but device names, environment names, change reasons, annotations, and timestamps are intentionally visible metadata.

 Create more environments
------------------------

Create an empty environment, seed only its key layout, or copy non-sensitive values from an existing environment:

 Create environments     Copy

 ```
$ ghostable env create preview --type preview
$ ghostable env create staging --type staging --from-env default --seed keys-only
$ ghostable env create production --type production --from-env staging --seed non-sensitive

```

Use `--seed all` only when copying every value is an intentional and reviewed decision.

    On this page

    [ ![Ghostable](https://ghostable.dev/images/logo-dark.svg) ![Ghostable](https://ghostable.dev/images/logo-light.svg) ](https://ghostable.dev)

   CLI 3.x     [   CLI 3.x ](https://ghostable.dev/docs/3.x) [   Desktop ](https://ghostable.dev/docs/desktop)

  CLI 3.x introduction Documentation local first no login encrypted repository plaintext hosted service

  Installation Documentation brew homebrew npm npx linux windows PATH version update

  Start a new project Getting Started setup seed dotenv owner initialize

  Adopt an existing project Getting Started existing env import authoritative source adopt

  Onboard a team member Getting Started join request approve roles offboarding pull request

  Repository and storage Core Concepts .ghostable git conflict merge worktree private identity metadata

  Environments Core Concepts protected production preview staging push sync pull replace run mask-output

  Variables and promotions Core Concepts var promote copy context annotation key

  Access and devices Core Concepts identity reader writer grantor owner revoke rotate leave delete

  Daily development workflow Workflows pull diff validate review clean daily

  Review and secret scanning Workflows scan sarif github suppress secrets drift

  Hygiene and rotation Workflows rotation stale unused suppression environment key

  Automation credentials Automation &amp; CI GHOSTABLE\_CI\_TOKEN ci deploy credential powershell revoke replace

  Continuous integration Automation &amp; CI GitHub Actions fork pull request JSON stdout stderr exit codes mask-output

  Deployments Automation &amp; CI Forge Vapor Cloud provider CLI dry-run preserve remote keys temporary files

  Validation Reference schema required nullable regex min max different\_from

  Command reference Reference --help --json NO\_COLOR flags aliases exit code automation

  Configuration Reference ghostable.yaml activity mode auditEnvironments scan ignores deployTarget dotenv syntax

  Security Reference cryptography XChaCha20 Poly1305 HKDF user presence threat model

  Backups &amp; Offline Reference recovery offline restore clone key identity

  Agent integration Reference AGENTS.md capabilities allowlist coding agent

  Troubleshooting Reference no project found revoked identity stale policy user presence invalid CI token provider CLI git conflict diagnostics

  Ghostable Desktop overview Desktop

  Installation Desktop

  Projects and setup Desktop

  Interface tour Desktop

  Environments and variables Desktop

  Local environment files Desktop

  Validation and review Desktop

  Activity Desktop

  Access and automation Desktop

  Project settings Desktop

  Application settings Desktop

  Licensing and updates Desktop

  Security and storage Desktop

  Troubleshooting Desktop    No results found
