Configuration | Ghostable CLI 3.x | Ghostable                              Menu

 Configuration

   Project manifest
----------------

`.ghostable/ghostable.yaml` identifies the project and its stable operational defaults:

 ```
schema: ghostable.project.v1
id: project_01example
name: Acme API
language: php
framework: laravel
packageManager: composer
deployTarget: laravel-forge
activity:
  mode: minimal
  auditEnvironments:
    - production
    - staging
environments:
  default:
    type: local
  staging:
    type: staging
  production:
    type: production
scan:
  level: standard
  ignores:
    - .git/**
    - node_modules/**
    - vendor/**
    - .ghostable/environments/**/values/**
    - .ghostable/environments/**/keys/**
```

 Manifest fields
---------------

   `schema`  Manifest format identifier; v3 currently writes ghostable.project.v1.

  `id`  Stable cryptographic project identifier. Do not copy it to create a separate project.

  `name`  Human-readable project name.

  `language / framework / packageManager`  Optional project hints captured during setup.

  `deployTarget`  Optional default target: local, laravel-forge, laravel-vapor, or laravel-cloud.

  `activity.mode`  Records the requested activity detail level: off, minimal, or full. Required signed security and mutation events are still written in v3; do not use off as an audit-disable control.

  `activity.auditEnvironments`  Default environment scope used by review and hygiene when --env is omitted; defaults to production and staging when those environments exist.

  `environments`  Map of environment names to intent-bearing type labels.

  `scan.level`  Default hard-coded secret scan level: relaxed, standard, or strict.

  `scan.ignores`  Glob patterns excluded from local review and related reference scans.

 Scan defaults
-------------

 New manifests ignore Git internals, `node_modules`, `vendor`, `dist`, `build`, encrypted value records, and environment key records. Add project-specific generated or fixture paths only after confirming they do not need scanning.

Per-run `review --level` and `--ignore` flags override or extend the manifest behavior without changing the committed default.

 Schema and hygiene files
------------------------

- `.ghostable/schema.yaml` declares project-wide validation rules.
- `.ghostable/schemas/.yaml` adds environment-specific rules.
- `.ghostable/hygiene.yaml` declares project and environment-specific variable rotation intervals.

These files are plaintext policy and must not contain credentials or confidential operational notes.

 Runtime environment
-------------------

   `GHOSTABLE_CI_TOKEN`  Scoped non-interactive automation credential loaded instead of a local device identity.

  `GHOSTABLE_KEYSTORE`  Overrides the local file-backed identity-store directory.

  `XDG_CONFIG_HOME`  Controls the default Linux/Unix configuration root when GHOSTABLE\_KEYSTORE is unset.

  `NO_COLOR`  Disables ANSI color output when set to any non-empty value.

 Editing configuration
---------------------

 Use `env create`, `env rename`, `env delete`, `schema`, and `hygiene rotation` commands where possible so related signed state stays consistent. If a manifest hint or scan pattern must be edited manually, review the diff and run `ghostable status`, validation, and review afterward.

    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
