Daily Development

Workflows

Daily Development

Use a predictable, review-first loop for loading configuration, changing values, validating the result, and committing encrypted state.

Start from current state

Pull the branch before materializing values so local work uses the latest encrypted records and grants:

Start work
$ git pull --ff-only
$ ghostable status
$ ghostable env diff --env default --file .env
 

If the diff is intentional local work, keep it. Otherwise, pull the shared environment into the file before starting.

Run the application

Prefer process injection when the application does not require a physical .env file:

Run with Ghostable values
$ ghostable env run --env default -- php artisan serve
$ ghostable env run --env default --mask-output -- npm test
 

Use env pull when framework tooling specifically reads a file.

Change configuration

Edit the local env file with normal developer tools, then inspect the redacted diff before storing it:

Store a reviewed change
$ ghostable env diff --env default --file .env
$ ghostable env push --env default --file .env --reason "Configure local mail testing"
 

For one key, use var push --file. Use env sync only when keys absent from the file should be deleted.

Validate and review

Pre-commit checks
$ ghostable validate --env default
$ ghostable review
$ ghostable hygiene report --env default
 

Validation checks declared schema rules. Review checks changed-code ENV usage and hard-coded secrets. Hygiene checks operational age and rotation state.

Commit the change

Commit encrypted state
$ git diff -- .ghostable
$ git add .ghostable && git commit -m "Configure local mail testing"
 

Commit the application code and its Ghostable state together when they are part of the same change.

Clean plaintext files

At the end of sensitive work, preview and remove project-root env files:

Remove local plaintext
$ ghostable env clean --dry-run
$ ghostable env clean
 

Cleanup removes .env, .env.*, and Ghostable backup files from the project root. It keeps .env.example unless --include-example is explicitly passed.

CLI 3.x introduction Documentation
Installation Documentation
Start a new project Getting Started
Adopt an existing project Getting Started
Onboard a team member Getting Started
Repository and storage Core Concepts
Environments Core Concepts
Variables and promotions Core Concepts
Access and devices Core Concepts
Daily development workflow Workflows
Review and secret scanning Workflows
Hygiene and rotation Workflows
Automation credentials Automation & CI
Continuous integration Automation & CI
Deployments Automation & CI
Validation Reference
Command reference Reference
Configuration Reference
Security Reference
Backups & Offline Reference
Agent integration Reference
Troubleshooting Reference
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