-
v0.1.2 — parsers (phase 2) Pre-Release
released this
2026-10-14 23:04:20 +00:00 | 1 commits to milestone/v0.1-go-live since this releaseNova CLI v0.1.2 — phase 2 of milestone v0.1-go-live.
PRERELEASE (grill binding G-003): v0.1.7 will be the first stable (go-live) release.
Phase 2 — Novafile + Compose.yml Parsers
- Module reference resolver: registry shorthand, private registry hosts, submodule paths, version sugar (@ver, registry-only), local paths (REQ-02 grammar basis)
- Novafile parser: Dockerfile-compatible grammar — case-insensitive instructions, comments, continuations, ENV/ARG/LABEL/WORKDIR/FROM...AS, BuildKit-style Novafile:: errors, container-only instructions warn, COPY/ADD error (REQ-02)
- compose.yml loader: compose-indistinguishable schema (name, services with module|build, environment/vars, env_file, depends_on, working_dir, profiles, provider) plus the nova providers block (REQ-03)
- Interpolation: ${VAR}, ${VAR:-def}, ${VAR-def}, ${VAR:?msg}, ${VAR?msg}, ${VAR:+alt},
{VAR+alt},$ literal; precedence shell > --env-file > .env - nova config: validates and prints the normalized compose YAML (docker compose config parity)
- nova build: parses the Novafile and prints the resolved module manifest, docker-style
Verification
4 layers passed: 181 tests green, mypy clean, no P0 findings; one P1 (missing --env-file traceback) fixed in-phase. STRIDE: yaml.safe_load verified; no subprocess/shell surface; config prints interpolated values with docker compose config parity (--no-interpolate is the redaction path).
Requirements
- REQ-02 complete; REQ-03 complete; REQ-01 partial (surface + config behavior; engine wiring lands P4)
Known limitations
- Multiple -f files are validated but not merged (single-file config in v0.1)
- BuildKit quoting edge cases (ENV/WORKDIR quotes, comments in continuations) flagged for post-go-live hardening
Downloads