Myenv
Unified tool configuration and project scaffolding.
Status: Fleshed Out ◐
Core features implemented (across cli, core, seed, store crates): tool dependency management, config generation, watch/diff modes, manifest parsing, seed scaffolding, variable resolution. Backlog: tool registry integration, format auto-detection.
Myenv manages tool configs from a single myenv.toml manifest and scaffolds new projects from seed templates.
Repository: github.com/rhi-zone/myenv
What Myenv does
- Generate —
myenv.toml→ per-tool native configs - Validate — Check configs against tool schemas before writing
- Template — Variable substitution, shared values across tools
- Scaffold — Create new projects from seed templates
What Myenv does NOT do
- Run tools — That's moonlet's job
- Manage execution order — That's moonlet's job
- Install tools — Use your package manager
The invisible manifest
myenv.toml is the source of truth but is invisible at runtime. Tools never read it directly—they only read their generated native configs.
myenv.toml → myenv generate → .moonlet/config.toml
→ .reincarnate/config.toml
→ .dew/config.tomlThis keeps tools simple and decoupled from myenv.
Example manifest
# myenv.toml
[project]
name = "my-project"
version = "0.1.0"
[variables]
assets = "./assets"
[reincarnate]
source = "./dump/game.exe"
output = "{{assets}}/raw"
[dew]
pipeline = "main.dew"
input = "{{assets}}/raw"
output = "{{assets}}/processed"Running myenv generate creates .reincarnate/config.toml and .dew/config.toml. Tools read their native configs—no special runtime behavior.
Seeds
Pre-configured starter templates:
- seed-archaeology — Lifting legacy games (reincarnate + unshape)
- seed-creation — New game projects from scratch
- seed-lab — Full ecosystem sandbox
Related projects
- Zone - Provides seed templates for scaffolding