LaravelPackages.net
Acme Inc.
Toggle sidebar
jordanpartridge/conduit-env-manager

A Conduit component for env-manager functionality

54
1
v2.0.0
About jordanpartridge/conduit-env-manager

jordanpartridge/conduit-env-manager is a Laravel package for a conduit component for env-manager functionality. It currently has 1 GitHub stars and 54 downloads on Packagist (latest version v2.0.0). Install it with composer require jordanpartridge/conduit-env-manager. Discover more Laravel packages by jordanpartridge or browse all Laravel packages to compare alternatives.

Last updated

πŸ”§ Conduit env-manager

Complete environment file management component for .env operations.

✨ Features

  • env:init - Smart .env initialization from templates
  • env:set - Set environment variables with validation
  • env:get - Retrieve variables with security filtering
  • env:backup - Timestamped backup and restore system

πŸ›‘οΈ Security Features

  • Auto-hides sensitive values (PASSWORD, SECRET, KEY, TOKEN, etc.)
  • Input validation for environment variable names
  • Safe file operations with error handling

πŸ€– Automation Ready

  • --json flag for machine-readable output
  • --no-interaction for CI/CD pipelines
  • --all flag for bulk operations
  • Consistent exit codes for scripting

πŸ“¦ Installation

# Via Conduit component system (recommended)
conduit components install env-manager

# Via Composer directly
composer require jordanpartridge/conduit-env-manager

πŸš€ Usage

Initialize Environment Files

# Initialize .env from .env.example
conduit env:init

# Force overwrite existing .env
conduit env:init --force

# Create template if .env.example missing
conduit env:init  # Will prompt to create template

Set Environment Variables

# Set a variable
conduit env:set APP_NAME "My Application"

# Set with prompts
conduit env:set

# Create .env if it doesn't exist
conduit env:set API_KEY secret123 --create

Get Environment Variables

# Get specific variable
conduit env:get APP_NAME

# List all variables (sensitive values hidden)
conduit env:get --all

# JSON output for scripts
conduit env:get --all --json

# Get specific variable as JSON
conduit env:get API_KEY --json

Backup and Restore

# Create timestamped backup
conduit env:backup

# Create named backup
conduit env:backup --name before-deploy

# Restore from backup (interactive)
conduit env:backup --restore

πŸ—οΈ Architecture

This component follows Conduit standards:

  • Laravel Zero commands with proper validation
  • Service provider auto-discovery for seamless integration
  • Component metadata in composer.json for discovery
  • Secure by default with comprehensive error handling

πŸ§ͺ Development

# Install dependencies
composer install

# Run tests
./vendor/bin/pest

# Code formatting  
./vendor/bin/pint

# Static analysis
./vendor/bin/phpstan analyze

# All quality checks
composer lint && composer analyze && composer test

πŸ“ Examples

Complete Workflow

# Start new project
cd my-project
conduit env:init

# Configure environment
conduit env:set APP_NAME "My Project"
conduit env:set DB_DATABASE my_project_db
conduit env:set API_SECRET $(openssl rand -base64 32)

# Backup before changes
conduit env:backup --name initial-setup

# Verify configuration
conduit env:get --all

CI/CD Integration

# Non-interactive setup
conduit env:init --force --no-interaction
conduit env:set NODE_ENV production --no-interaction

# JSON output for parsing
API_KEY=$(conduit env:get API_KEY --json | jq -r '.API_KEY')

πŸ“‹ Command Reference

| Command | Description | Flags | |---------|-------------|-------| | env:init | Initialize .env file | --force | | env:set | Set variables | --create | | env:get | Get variables | --all, --json | | env:backup | Backup/restore | --name, --restore |

🏷️ Keywords

conduit, laravel, cli, component, conduit-component, environment, dotenv, configuration

πŸ“„ License

MIT License. See LICENSE for details.

Comments