EnvArchitect is a declarative, immutable environment architecture tool for the modern web.
To start using EnvArchitect, learn more at The Guide.
To start developing EnvArchitect itself, read the Contributor Guide.
EnvArchitect bridges the gap between version managers (nvm, pyenv) and containerization (Docker). It orchestrates native tooling through a secure, hermetic layout controlled by a declarative graph.
EnvArchitect requires the following tools and packages to build:
cargoandrustc(via rustup)- A C compiler (gcc/clang) for certain native dependencies
git(to clone this repository)
Optional system libraries:
The build system will automatically manage most dependencies. However, for optimized builds, you may provide:
openssl— (viapkg-config) if you wish to link against the system OpenSSL instead of the vendored version.
First, you'll want to check out this repository
git clone https://github.com/athexweb3/envArchitect.git
cd envArchitectWith cargo already installed, you can simply run:
cargo build --releaseThe binary will be located in target/release/env-architect.
EnvArchitect is designed to provide a robust foundation for development teams.
- Declarative Manifest (
env.toml): Define tools, runtimes, and dependencies in one readable file. - Immutable Environments: Ensures that "Works on my machine" is guaranteed by strictly locking tool versions.
- Extensible Plugin System: Third-party developers can extend capabilities via secure Wasm plugins.
- Secure Distribution: A managed registry ensuring supply chain security for all environment tools.
The project is organized as a monorepo with three distinct layers:
The intelligence engine. It handles:
- Parsing manifests.
- Resolving dependency graphs.
- Validating constraints.
- CLI (
apps/cli): The primary interface to architect and deploy environments. - VS Code Extension: Real-time intelligence and validation.
- Registry API: Central hub for storing and distributing environment definitions.
- Web Portal: Dashboard for managing team environments.
Found a bug? We'd love to know about it!
Please report all issues on the GitHub issue tracker.
See the Contributor Guide for a complete introduction to contributing to EnvArchitect.
EnvArchitect is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.