Skip to main content

Crate evnx

Crate evnx 

Source
Expand description

evnx — Manage .env files with validation, secret scanning, and format conversion.

§Library Usage

use evnx::schema::{loader, resolver, formatter};

// Resolve variables for a service
let schema = loader::schema()?;
let pg = &schema.services.databases["postgresql"];
let vars = resolver::resolve_service("postgresql", pg)?;
let content = formatter::format_addition(&vars)?;
// Write `content` to .env.example

§Architecture

  • schema/ — Reusable core: JSON schema, resolver, formatter
  • commands/ — CLI handlers (init, add, validate, etc.)
  • utils/ — Shared utilities (file I/O, formatting)

Re-exports§

pub use cli::AddTarget;
pub use cli::Cli;
pub use cli::Commands;
pub use schema::formatter::format_addition;
pub use schema::formatter::format_env_example;
pub use schema::formatter::format_env_template;
pub use schema::formatter::generate_preview;
pub use schema::loader::find_framework;
pub use schema::loader::find_service;
pub use schema::loader::get_frameworks_for_language;
pub use schema::loader::get_services_grouped;
pub use schema::loader::list_blueprints;
pub use schema::loader::schema as load_schema;
pub use schema::models::Schema;
pub use schema::models::VarCollection;
pub use schema::models::VarMetadata;
pub use schema::models::VarSource;
pub use schema::query::filter_by_tag;
pub use schema::query::list_tags;
pub use schema::query::search_frameworks;
pub use schema::query::search_services;
pub use schema::resolver::resolve_architect_selection;
pub use schema::resolver::resolve_blueprint;
pub use schema::resolver::resolve_framework;
pub use schema::resolver::resolve_service;

Modules§

cli
CLI argument parsing for evnx.
commands
core
formats
schema
Schema module: reusable infrastructure for all commands.
utils