Skip to content

Releases: basefoundry/base

Base v1.6.1

Choose a tag to compare

@codeforester codeforester released this 05 Jul 04:43
ece932d

Added

  • Added basectl trust status|allow|revoke to inspect and manage local
    manifest-command approval records under Base-managed state.
  • Enforced manifest-command trust before basectl test, run, build,
    demo, and activate execute project-owned manifest code, while preserving
    dry-run and list inspection paths before approval.

Changed

  • Surfaced pinned Homebrew installer variables in the default first-mile
    bootstrap path so security-conscious users can choose a verified installer
    before running the mutable official Homebrew installer.
  • Reused the external base-bash-libs GitHub CLI helpers in basectl gh and
    basectl repo, and updated the pinned CI dependency to the helper-library
    commit that provides them.
  • Reused base-bash-libs temp-file cleanup helpers in post-bootstrap Bash
    commands that create pull request bodies, CI capture files, setup probes, and
    profile comparison files.
  • Reused base-bash-libs argument and string helpers in focused Bash
    subcommands, including export-context option parsing, CSV joins, and setup
    profile splitting.

Fixed

  • Clarified basectl repo init help and docs so current-checkout usage,
    GitHub setup, local commits, pushes, and the --pr workflow are no longer
    conflated.

Base v1.6.0

Choose a tag to compare

@codeforester codeforester released this 04 Jul 04:05
ec8b464

Added

  • Added an explicit linux-lab prerequisite profile that checks and installs
    Multipass via Homebrew cask for local Ubuntu lab VMs without creating VM
    instances during Base setup.

Changed

  • Bound Base CI source-checkout jobs to the published base-bash-libs v1.1.0
    release commit.

Fixed

  • Stopped basectl from continuing under Rosetta when it resolves native
    Apple Silicon Homebrew at /opt/homebrew, so setup fails early with Bash
    recovery guidance instead of breaking during a later brew install.
  • Replaced stray shell run calls in setup's virtualenv and apt install paths
    with direct command execution so spawned basectl setup runs do not depend on
    a test-harness helper.
  • Stopped default project checks from failing Ubuntu/Linux acceptance solely
    because manifest-declared IDE extension CLIs such as code are not on PATH;
    IDE extension diagnostics now run with the developer profile.
  • Made the tool:bats-core project artifact platform-aware on Ubuntu/Debian,
    mapping it to the system bats package instead of planning a Homebrew
    brew install bats-core command.
  • Preflighted mise trust before basectl setup runs mise install, so
    untrusted project configs fail with a Base recovery message instead of raw
    lower-level mise install output.
  • Bootstrapped mise during Ubuntu/Debian project setup when a manifest
    declares a project-owned mise config, while keeping the mutation guarded by
    --dry-run review and --yes.
  • Bootstrapped uv during Ubuntu/Debian project setup when a manifest
    explicitly opts into python.manager: uv or runner: uv, while keeping the
    mutation guarded by --dry-run review and --yes.
  • Allowed repeated Ubuntu/Debian basectl setup runs without --yes when all
    apt prerequisites are already installed, while still requiring --yes before
    Base mutates apt-managed system packages.
  • Made basectl setup --profile dev, check --profile dev, and
    doctor --profile dev use apt-backed BATS, GitHub CLI, and ShellCheck
    handling on Ubuntu/Debian instead of requiring Homebrew.
  • Made explicit project setup/check routing ignore active-project virtualenv
    overrides from a different shell project, so commands such as
    basectl setup base-demo cannot accidentally reuse the base venv.
  • Made project Brewfile delegates platform-aware: macOS still runs Homebrew
    brew bundle, while Ubuntu/Debian skips Brewfile setup/check as a warning so
    uv-managed projects can proceed through uv sync.

Base v1.5.0

Choose a tag to compare

@codeforester codeforester released this 02 Jul 04:03
3ad4fb9

Added

  • Added BASE_PLATFORM runtime metadata so Linux distribution-family support
    can be represented without overloading the coarse BASE_OS=linux contract.
  • Added Ubuntu/Debian source-checkout CI validation and documented the
    accepted Ubuntu 24.04 ARM64 Parallels validation path.
  • Added Linux-aware basectl check and basectl doctor prerequisite
    diagnostics for Python venv support, Git, GitHub CLI, BATS, ShellCheck, jq,
    and Go on Ubuntu/Debian.

Changed

  • Centralized setup/check platform dispatch so macOS, Ubuntu/Debian, unknown
    Linux, and unsupported platforms are routed through explicit platform-policy
    helpers instead of scattered command conditionals.
  • Changed Ubuntu/Debian setup behavior to fail conservatively with manual
    prerequisite guidance until full apt-backed bootstrap support is implemented.
  • Updated compatibility, Linux-support, IDE-boundary, and forge-boundary docs
    to reflect Ubuntu/Debian runtime support and the remaining non-goals.

Fixed

  • Scrubbed activate override variables in the source-checkout test harness so
    local shell state does not leak into BATS validation on Ubuntu or macOS.

Base v1.4.0

Choose a tag to compare

@codeforester codeforester released this 01 Jul 05:53
ef83e6b

Fixed

  • Made basectl check warn when Homebrew reports installed Xcode Command Line
    Tools are outdated or incomplete, matching the existing basectl doctor
    finding while keeping the check non-blocking.

Base v1.3.0

Choose a tag to compare

@codeforester codeforester released this 28 Jun 04:12
fdb6050

Added

  • Added basectl docs as a convenience shortcut to open the Base GitHub README
    documentation entrypoint, with --show-url for non-browser contexts.
  • Added CI setup JSON rendering and a documented CI supply-chain hardening
    policy for Base-managed bootstrap paths.
  • Added project Python runtime diagnostics and release title placeholder
    validation.
  • Added optional pinned Homebrew installer support for first-mile bootstrap
    environments that need a verified installer source.
  • Added direct coverage for Base command helpers, source guards, completions,
    bootstrap, install, and command-dispatch lifecycle behavior.

Changed

  • Standardized the basectl public command lifecycle around space-separated
    long options, compact usage errors, consistent help routing, and explicit
    command-level logging options.
  • Routed Python command packages through the shared base_cli lifecycle and
    moved project command metadata, CI JSON rendering, and GitHub Project issue
    defaults into Python-backed helpers.
  • Improved shell and completion performance by caching project-name completion
    results, reducing Git prompt subprocess work, and reducing setup/profile
    subprocess use.
  • Split repository helper ownership into focused repo installer-template and
    repo agent-guidance modules, and centralized project command execution
    helpers for test, build, run, and demo.
  • Hardened GitHub and Homebrew workflow handling with structured Homebrew trust
    parsing, bounded GitHub authentication diagnostics, release-publish recovery
    guidance, and portable GitHub Bash helper documentation.
  • Improved Base maintainability by normalizing Bash source guards, making the
    Base home verification contract explicit, enforcing Python future annotation
    standards, and using explicit error handling in base-test.

Fixed

  • Fixed nested and top-level completion parity gaps across Bash and Zsh.
  • Fixed inherited basectl update source-guard state so repeated sourced
    command execution does not leak between invocations.
  • Fixed interactive prompt handling so redirected stdin does not block
    onboarding and self-demo prompts from reading the terminal.
  • Fixed diagnostic probe duplication and bounded subprocess probes for Base
    diagnostics.
  • Fixed sensitive value exposure in basectl config show and setup command
    argument logging.
  • Fixed base_cli history records to use the effective argv for displayed
    command history.

Base v1.2.0

Choose a tag to compare

@codeforester codeforester released this 24 Jun 19:23
0553a0e

Added

  • Added basectl workspace init to clone a workspace repository, read its
    workspace configuration, and clone the repositories declared by that
    workspace.
  • Added basectl prompt list and basectl prompt product-self-review to render
    repo-owned Markdown prompts for periodic AI-assisted Base workflow reviews.
  • Added a local command-history index for Python-backed Base command runs.
  • Added manifest-declared PR policy support for Base-managed GitHub PR helpers.
  • Added project Python version requirements and declarative artifact registry
    support for Base-managed artifacts.

Changed

  • Added ctx.workspace_root to base_cli.Context so workspace-aware commands
    can use the configured workspace root without reaching through user config.
  • Improved basectl repo clone, repo check, repo configure, and
    gh issue create|start diagnostics so repository workflow failures include
    clearer update, chmod, origin, Project-field, and worktree-command guidance.
  • Made basectl repo configure warn when Homebrew reports the local GitHub CLI
    package is outdated, pointing users to basectl setup --profile dev.
  • Made lifecycle command usage errors compact and consistent, returning exit
    code 2 for setup, check, doctor, onboard, and update-profile.
  • Made idempotent basectl setup reconciliation quieter when no action is
    required.
  • Added base_cli.testing.invoke(..., manifest={...}) for project-aware tests
    that need a fixture base_manifest.yaml.
  • Added optional stream and formatter overrides to base_cli.configure_logger
    for tests and CI wrappers that need to capture or reshape user-facing logs.
  • Added base_cli.App(help=...) support for subcommand group help text.
  • Added standard --quiet / -q support to base_cli.App to suppress INFO
    output on the user-facing stream while preserving warnings, errors, and
    persistent DEBUG log detail.
  • Documented the base-bash-libs Homebrew/core readiness path, including the
    formula-name audit command and future basefoundry dependency plan.
  • Documented the basectl setup parallelism evaluation and the decision to
    keep mutating setup serial until a setup-plan/preflight layer exists.
  • Corrected 1.1.0 documentation status, source-checkout base-bash-libs
    prerequisites, future-design banners, and CI bootstrap package guidance.

Fixed

  • Fixed basectl prompt -v <name> so the verbose flag no longer counts as a
    second prompt argument.
  • Added actionable recovery guidance when basectl update-profile detects a
    runtime BASE_HOME mismatch.
  • Fixed workspace reports for uv-managed project virtual environments and
    broken project virtualenv detection.
  • Fixed project --recreate-venv repair and fail-fast runtime directory
    handling for check diagnostics.
  • Allowed standard base_cli.App options such as --debug and
    --environment before subcommand names.
  • Made base_cli.option(..., dry_run=True) reject duplicate dry-run markers on
    the same command function.
  • Made default base_cli.App(max_log_files=...) log retention prune by
    timestamp-prefixed run-id filename instead of filesystem modification time.

Base v1.1.0

Choose a tag to compare

@codeforester codeforester released this 21 Jun 21:18
cadb430

Changed

  • Suppressed pip self-upgrade notices during Base-managed pip installs so
    setup output stays focused on Base actions and real install failures.
  • Made live workflow docs and installer examples main-ready, using default-branch
    URLs for raw GitHub install scripts and main for contributor branch
    examples.
  • Documented the boundary for optional personal shell defaults such as color
    aliases, navigation shortcuts, signing helpers, and strict shell modes.
  • Improved opt-in Bash and Zsh completion ergonomics for interactive shell
    defaults.
  • Added conservative pager and terminal usability behavior to opt-in shell
    defaults.
  • Enriched opt-in shell history defaults for basectl update-profile --defaults.
  • Made Homebrew-managed version: latest profile and project artifacts report
    outdated installed packages during check/doctor and upgrade them during
    setup.
  • Renamed the Base-managed GitHub Project metadata schema from base-roadmap
    to base-project.
  • Made basectl repo configure report missing BASE_PROJECT_TOKEN Project
    intake secrets and improved generated workflow diagnostics when the Actions
    token cannot see repo Projects.
  • Made Homebrew-managed basectl update preflight tap trust before upgrading
    Base when Homebrew requires trust for the tap-owned base-bash-libs
    dependency.
  • Removed Base's bundled reusable Bash std, file, and git libraries;
    Base now requires external base-bash-libs through an explicit override,
    sibling checkout, or Homebrew package.

Fixed

  • Made Homebrew artifact dry-run tests independent of the developer machine's
    installed or outdated Homebrew formulae.

Base v1.0.5

Choose a tag to compare

@codeforester codeforester released this 18 Jun 10:29
17b6d86

Added

  • Added BASE_BASH_LIBS_SOURCE and BASE-D007 diagnostics so basectl check
    and basectl doctor report whether Base is using external reusable Bash
    libraries or the bundled fallback.
  • Added BATS coverage proving Base can bootstrap from external
    base-bash-libs when bundled reusable Bash library directories are absent.

Changed

  • Documented Homebrew tap trust for Base and standalone base-bash-libs
    installs, and updated direct Base upgrade examples to use
    brew upgrade --no-ask codeforester/base/base.

Fixed

  • Fixed Bash library readiness BATS assertions so they pass both with a sibling
    base-bash-libs checkout and with bundled fallback.

Base v1.0.4

Choose a tag to compare

@codeforester codeforester released this 18 Jun 01:32
b3c8f27

Changed

  • Made Base resolve reusable Bash libraries from an external base-bash-libs
    checkout or Homebrew package when available, while keeping the bundled
    lib/bash tree as a fallback.
  • Documented the standalone base-bash-libs install path, Base's consumption
    contract, and the migration gate for eventually removing bundled reusable
    Bash libraries.

Base v1.0.3

Choose a tag to compare

@codeforester codeforester released this 17 Jun 17:57
8ea79f8

Changed

  • Made basectl repo init print visible next steps when GitHub setup is skipped
    because no repository was provided or inferred.
  • Made basectl repo clone print the Base baseline check hint only when the
    cloned repository contains base_manifest.yaml.
  • Made basectl repo agent-guidance detect the target repository default
    branch before falling back to main.
  • Made basectl repo agent-guidance print a visible created/unchanged summary
    when existing guidance files are left untouched.
  • Made basectl repo installer-template write ./install.sh by default and
    added --print/--stdout for the stdout template view.
  • Added dirty-worktree and repository-root fix hints for basectl repo
    subcommands that create pull requests.
  • Clarified basectl repo init and repo configure help to say Base-managed
    GitHub settings are safe to re-run and do not remove outside settings.
  • Made live basectl repo configure runs print a structured action summary for
    repository settings, labels, branch protection, and Project metadata.
  • Made basectl repo check print visible success/failure summaries with counts
    and repair commands when files are missing.
  • Made basectl repo init --pr print next steps after opening a baseline pull
    request, including the command to rerun after merge.
  • Clarified basectl repo init and repo configure help to distinguish local
    baseline updates, optional GitHub repo creation, and GitHub-side repair.
  • Made basectl ci setup --format json include compact output_lines on
    setup failures so CI consumers keep intermediate diagnostic context.
  • Standardized Bash CLI usage errors on print_error and changed unknown
    config, projects, release, and workspace commands to return usage status
    without fatal stack traces.