You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Drive base-bash-libs from a strong reusable library collection to a world-class, broadly adoptable framework for writing professional Bash 4.2+ applications.
The starting point is already unusually strong: a deeply tested reusable standard library with careful command execution, logging, cleanup, filesystem, Git, GitHub, argument, list, and string primitives. The move to 5/5 is not “add more helpers.” It is the work required to turn those primitives into a coherent, stable, secure, distributable, documented, and independently validated application framework.
Product strategy
Base Bash should have three deliberately separated layers:
Project Kit — the launcher, application lifecycle, declarative commands, configuration, scaffolding, conformance tests, vendoring, and bundling needed to ship professional applications.
Adapters — optional integrations with Bashly, Argc, Argbash, Bats, ShellCheck, shfmt, and sustainable package channels.
The strategy is not to invent a new language inside Bash, replace mature ecosystem tools, promise every shell, build a general package manager, or grow an unbounded kitchen-sink core. The sourceable runtime must remain transparent, lightweight, inspectable, and usable without a mandatory non-Bash runtime.
Version and compatibility decision
This is a clean-break v2.0.0 release train. No stable v1.5.0 and no reset to 0.x will be published. Development may use v2.0.0-alpha.N, -beta.N, and -rc.N; those prereleases may break without compatibility shims while the framework contract is being designed.
v2.0.0 GA is now published; future additive fixes and features follow the post-GA 2.x release policy, while breaking stable changes require v3 or later.
The published v2.0.0 GA release uses a new policy-compliant tag and canonical release asset. A short-lived July 2026 tag archive and Homebrew formula were withdrawn and corrected to v1.1.0; that history remains documented. Homebrew and the first-party consumers now consume the verified GA asset or compatible release pins.
v2.0.0 is the current stable package. The coordinated first-party cutover in #240 is complete across Base, Base Demo, Homebrew, vendor, and bundle paths; issue #239 now validates independent post-GA adoption. Strict SemVer compatibility begins at v2.0.0 GA.
Current status — 2026-08-31
Engineering and release bar: complete
v2.0.0 GA is published with a canonical archive, checksum, SPDX SBOM, and provenance.
The first-party Base, Base Demo, Homebrew, vendor, and bundle cutover is complete.
At this point, the engineering and release evidence supports a 5/5 engineering
artifact; the overall #214 bar remains open only for #239 adoption and
maintainer evidence.
Success criteria
Release discovery, version metadata, tags, supported lines, and artifacts are unambiguous, immutable, and reproducible.
Sourcing is passive, namespaced, and correct under caller-selected shell options.
The v2 public API has a coherent machine-checked contract; pre-v2 consumers receive a one-time migration inventory and tooling, not runtime compatibility shims. Strict SemVer compatibility begins at v2.0.0 GA.
Execution, cleanup, timeouts, dry-run, logging, redaction, retries, parsing, filesystem behavior, configuration, and signals remain correct under failure, interruption, concurrency, and hostile inputs.
A developer can initialize, test, diagnose, vendor, bundle, and release a professional application through one coherent workflow in under five minutes.
The complete supported Bash, OS, libc/userland, strict-option, source/vendor/bundle, security, and documentation matrix is continuously enforced.
Production-grade reference applications and official ecosystem integrations demonstrate deployment and upgrade patterns.
At least three independent production consumers and ongoing contributors validate adoption with public evidence or durable downstream fixtures.
Critical paths:#217 → #218. Issue #215 independently blocks a trustworthy next release. Issues #216 and #221 establish caller and lifecycle guarantees needed by the stable runtime.
Critical path:#234/#235 → #236 → #237/#238 → #240 → #239. The atomic first-party and Homebrew cutover is complete; #239 is now the sole remaining child gate for the overall 5/5 claim.
Scope coverage
Review area
Tracking issues
Release lineage, SemVer, provenance, and API governance
Release-blocking correctness and security land before dependent API expansion.
Respect each child's explicit dependency list; genuinely independent work may proceed in parallel.
Prefer one focused pull request per child. If a child requires a coordinated PR train, keep the child open as its dashboard and link every PR.
Continue the repository's issue-backed branch convention and apply exactly one standard category label to each tracking issue.
Breaking changes are allowed throughout v2 development and require migration inventory or tooling, documentation, manifest metadata, and contract tests, but no compatibility layer or legacy alias. After v2.0.0 GA, breaking stable public changes require the next major version.
New public APIs require documented inputs, outputs, statuses, side effects, stability, version history, and Bash 4.2 evidence.
Generated source and release artifacts must be deterministic, auditable, and verified in CI.
Optional integrations remain optional; Core stays compact and free of mandatory non-Bash runtime dependencies.
Reference applications use supported public APIs only; internal API needs remain blockers.
Core, Project Kit, documentation, Homebrew, Base, Base Demo, and every other first-party consumer move as one coordinated v2 train; no first-party component may depend on legacy aliases.
Update this checklist with the merged PR beside each completed item so this issue remains the single live dashboard.
Completion bar
This umbrella closes only after all child issues are complete and the evidence supports a genuine 5/5 claim: the enforced compatibility and security matrix is green; released artifacts are reproducible and verifiable; the five-minute path works from a clean environment; reference applications survive failure and upgrades; all first-party dependents and Homebrew pass against the exact v2 release candidate and are cut over to the v2 GA artifact or pin; and three independent production consumers plus contributors beyond the original author have exercised the supported framework.
Goal
Drive
base-bash-libsfrom a strong reusable library collection to a world-class, broadly adoptable framework for writing professional Bash 4.2+ applications.The starting point is already unusually strong: a deeply tested reusable standard library with careful command execution, logging, cleanup, filesystem, Git, GitHub, argument, list, and string primitives. The move to 5/5 is not “add more helpers.” It is the work required to turn those primitives into a coherent, stable, secure, distributable, documented, and independently validated application framework.
Product strategy
Base Bash should have three deliberately separated layers:
The strategy is not to invent a new language inside Bash, replace mature ecosystem tools, promise every shell, build a general package manager, or grow an unbounded kitchen-sink core. The sourceable runtime must remain transparent, lightweight, inspectable, and usable without a mandatory non-Bash runtime.
Version and compatibility decision
This is a clean-break
v2.0.0release train. No stable v1.5.0 and no reset to 0.x will be published. Development may usev2.0.0-alpha.N,-beta.N, and-rc.N; those prereleases may break without compatibility shims while the framework contract is being designed.v2.0.0 GA is now published; future additive fixes and features follow the post-GA 2.x release policy, while breaking stable changes require v3 or later.
The published
v2.0.0GA release uses a new policy-compliant tag and canonical release asset. A short-lived July 2026 tag archive and Homebrew formula were withdrawn and corrected to v1.1.0; that history remains documented. Homebrew and the first-party consumers now consume the verified GA asset or compatible release pins.v2.0.0 is the current stable package. The coordinated first-party cutover in #240 is complete across Base, Base Demo, Homebrew, vendor, and bundle paths; issue #239 now validates independent post-GA adoption. Strict SemVer compatibility begins at v2.0.0 GA.
Current status — 2026-08-31
Engineering and release bar: complete
and bug: enforce required repeatable positionals after earlier positionals #344–bug: isolate base_app_status by application model #351 are complete through PRs ci: make release tests post-GA-safe and exercise tags in CI #333–bug: support post-GA v2 SemVer releases #363.
./tests/validate.shpasses 587 BATS assertions plus release, artifact,compatibility, integration, benchmark, concurrency, quality, and example gates.
Remaining 5/5 gate
and ongoing maintenance by a contributor beyond the original author.
Related post-GA maintenance
undocumented
*.failed.*path. This is a v2.1.0 packaging follow-up,not a blocker for the completed Roadmap: make base-bash-libs a 5/5 professional Bash framework #214 child train.
At this point, the engineering and release evidence supports a 5/5 engineering
artifact; the overall #214 bar remains open only for #239 adoption and
maintainer evidence.
Success criteria
Ordered issue train
P0 — Trustworthy runtime and release baseline
Critical paths: #217 → #218. Issue #215 independently blocks a trustworthy next release. Issues #216 and #221 establish caller and lifecycle guarantees needed by the stable runtime.
P1 — Passive, stable runtime and API
Critical path: #216 → #222 → #223 → #224/#225 → #226 → #227.
P2 — Project kit and deterministic distribution
Critical paths: #228/#229 → #230 → #231, and #223/#225 → #232. Release trust, unified imports, and generated modules converge in #233.
P3 — Ecosystem trust and broad adoption
Critical path: #234/#235 → #236 → #237/#238 → #240 → #239. The atomic first-party and Homebrew cutover is complete; #239 is now the sole remaining child gate for the overall 5/5 claim.
Scope coverage
Prior work this extends
This train does not reopen the repository's completed hardening work:
Train rules
Completion bar
This umbrella closes only after all child issues are complete and the evidence supports a genuine 5/5 claim: the enforced compatibility and security matrix is green; released artifacts are reproducible and verifiable; the five-minute path works from a clean environment; reference applications survive failure and upgrades; all first-party dependents and Homebrew pass against the exact v2 release candidate and are cut over to the v2 GA artifact or pin; and three independent production consumers plus contributors beyond the original author have exercised the supported framework.